chrisr
Goto Top

Batchdatei zum Kopieren von Dateien ab einer bestimmten Größe

Hallo,

leider komme ich bei einer Batchdatei nicht weiter: Aufgabe ist es, alle Dateien ab einer bestimmten Dateigröße (10 MB) aus einem Verzeichnis in ein anderes Verzeichnis zu verlagern. Move klappt prima,aber ich bekomme den Filter für die Dateigröße nicht hin.

Herzlichen Dank für Eure Bemühungen!

Christian

Content-Key: 211849

Url: https://administrator.de/contentid/211849

Ausgedruckt am: 28.03.2024 um 08:03 Uhr

Mitglied: Biber
Biber 18.07.2013 aktualisiert um 15:49:48 Uhr
Goto Top
Moin ChrisR,

die Größe einer Datei kannst du mit einer abgeleiteten FOR-Laufvariablen ermitteln.

Beispiel am CMD-Prompt: nur die erste Zeile ab ">" wird eingegeben
C:\Users\Biber>for %i in ("F:\schnipsel\*.*") do @if %~zi GTR 500000 echo [%i]: %~zi
[F:\schnipsel\systeminfo.txt]: 814898

-> die von %i abgeleitete Laufvariable %~zi enthält die Dateigrösse, im Beispiel die 814898 Byte.
-> und statt "IF...GTR ...echo .. " wäre es bei dir "IF ... GTR...move..."

Grüße
Biber
Mitglied: MrNetman
MrNetman 18.07.2013 um 16:01:00 Uhr
Goto Top
Hi Chris,

Es ist immer hilfreich zu sehen, wie weit du gekommen bist.
Ein paar Zeilen wenigstens als Listing

Gruß
Netman
Mitglied: ChrisR
ChrisR 18.07.2013 um 17:17:27 Uhr
Goto Top
Danke für Eure Hilfe, werde es demnächst ausprobieren und mich melden!
Mitglied: ChrisR
ChrisR 18.07.2013 um 17:33:34 Uhr
Goto Top
hmmm... "echo" klappt gut, aber mit "move" geht das bei mir noch nicht (Kommandozeile) -
for %i in (D:\test\quelle\*.*) do @if %~zi GTR 500000 move /Y [%i]: %~zi D:\test\quelle D:\test\ziel

und so auch nicht:
for %i in (D:\test\quelle\*.*) do @if %~zi GTR 500000 move /Y D:\test\quelle\[%i]: %~zi D:\test\ziel

Was mache ich nun falsch?

Grüße,
Chris
Mitglied: Endoro
Endoro 18.07.2013 aktualisiert um 18:02:43 Uhr
Goto Top
Hallo,

so geht es:

for %i in (D:\test\quelle\*.*) do if %~zi GTR 500000 move /Y "%~fi" "D:\test\ziel"  

lg
Mitglied: bastla
bastla 18.07.2013 aktualisiert um 18:27:23 Uhr
Goto Top
... und falls einmal ein Batch daraus wird, kann zum Ausgleich für die zu verdoppelnden Prozentzeichen der Schalter "/Y" bei "move" entfallen ...

Grüße
bastla
Mitglied: ChrisR
ChrisR 19.07.2013 um 09:58:41 Uhr
Goto Top
Klappt prima (auch im Batch).

Herzlichen Dank und beste Grüße,
Christian
Mitglied: gr4v3l
gr4v3l 24.07.2013 um 00:03:00 Uhr
Goto Top
Versuchs sonst auch mal mit robocopy/MAX:n oder so..
einfach bei cmd robocopy/? eingeben
bisschen spät aber vielleicht brauchst du´s ja mal
lg gr4v3l