Hallo, ich möchte gern nur Daten die kleiner als 130kb sind von einem Ordner B zu einem anderen Ordner C kopieren. Gibt es da eine Möglichkeit es per eine Batch datei zu realisieren?
hi
probier mal folgenden befehl:
for %i in (c:\temp*.*) do @if %~zi GEQ 4000 (copy %i c:\temp\x)
dieser befehl kopiert alle dateien aus dem verzeichnis c:\temp, die grösser als 4000 byte sind, ins verzeichnis c:\temp\x
das ganze funktioniert auch aus einer batch-datei heraus:
@echo off
for %%i in (c:\temp*.*) do @if %%~zi GEQ 4000 (copy %%i c:\temp\x)
in batch-dateien muss allerdings das Prozent doppelt angegeben werden. keine ahnung, wieso.
erklärung:
for %%variable in (Dateiliste) do Kommando
sollte soweit selbsterklärend sein…
das kürzel %%~zvariable gibt die grösse der datei zurück, deren pfad in variable gespeichert ist.
der Vergleich mit GEQ bedeutet greater or equal, also grösser gleich. funktioniert allerdings nur, wenn die befehlszeilenerweiterung aktiv ist - was aber in jedem normalen windows xp der fall sein sollte.
jaja, mit batch-dateien kann man mehr anstellen, als einem so manchmal bewusst ist…
erwin