4 Stimmen

Verschieben einer großen Anzahl von Dateien in einem Verzeichnis in mehrere Verzeichnisse

Ich möchte ein Windows-Batch-Skript erstellen, um etwa 2.000 Dateien zu verschieben und sie so aufzuteilen, dass es 10 Dateien pro Ordner gibt. Ich habe versucht, ein Batch-Skript zu erstellen, aber die Syntax verwirrt mich wirklich. Hier ist mein bisheriger Stand

@echo off

:: Config parameters
set /a groupsize = 10
:: initial counter, everytime counter is 1, we create new folder
set /a n = 1
:: folder counter
set /a nf = 1

for %%f in (*.txt) do (
:: if counter is 1, create new folder
if %n% == 1 (
    md folder%nf%
    set /a n += 1
)

:: move file into folder
mv -Y %%f folder%nf%\%%f

:: reset counter if larger than group size
if %n% == %groupsize% (
    set /a n = 1
) else (
    set /a n += 1
)
)
pause

Dieses Skript durchläuft im Grunde jede .txt-Datei im Verzeichnis in einer Schleife. Es erstellt am Anfang ein neues Verzeichnis und verschiebt 10 Dateien in dieses Verzeichnis, dann erstellt es wieder einen neuen Ordner und verschiebt weitere 10 Dateien in dieses Verzeichnis, und so weiter. Ich habe jedoch Probleme, wenn die n Variable in der Schleife nicht inkrementiert wird? Ich bin sicher, dass es auch andere Fehler gibt, da sich das CMD-Fenster bei mir schließt, selbst wenn ich pause . Jede Hilfe oder Anleitung ist willkommen, danke für Ihre Zeit!

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X