Batch-Script-Lösung
Sie können den übergeordneten Ordner festlegen, der alle Dateien in der Struktur enthält, die Sie als Variable in den übergeordneten Ordner kopieren müssen. Sie können dann eine Verwendung für / r Schleife und eine bedingte wenn Logik und variable Ersetzungen die Kopie auszuführen, löschen und die Dateierweiterung Ordnererstellung Operationen nach Bedarf.
Sie können eine bedingte Logik verwenden, um zu prüfen, ob eine zu kopierende Datei bereits im Zielordner vorhanden ist. Wenn dies der Fall ist, rufen Sie eine Unterroutine auf und übergeben Sie Variablensubstitute, um sie _(dupe)
an diesen Dateinamen anzuhängen, damit vorhandene Dateien nicht mit dem gleichen Ordner überschrieben werden Dateiname.
Um schnell die leeren Verzeichnisse innerhalb des übergeordneten Ordners entfernen können Sie einen ausführen Robocopy
Befehl wie, Robocopy <dest> <dest> /S /MOVE
wo die destination
und source
Parameter sind beide gleich und gleich den vollen Mutterordnerpfad.
Batch-Skript
@ECHO OFF SET "Parent=C:\Momma" SET "dupCnt=1" FOR /R "%Parent%" %%C IN (*) DO ( IF NOT EXIST "%Parent%\%%~XC" MD "%Parent%\%%~XC" IF NOT EXIST "%Parent%\%%~XC\%%~NXC" ( XCOPY /Y /F "%%~C" "%Parent%\%%~XC\" && DEL /Q /F "%%~C" ) ELSE ( CALL :Routine "%Parent%\%%~XC\%%~NXC" "%%~C" "%%~NC" "%%~XC" ) ) Robocopy "%Parent%" "%Parent%" /S /MOVE GOTO :EOF :Routine IF EXIST "%Parent%\%~4\%~3_(dupe%dupCnt%)%~4" ( SET /A dupCnt=%dupCnt%+1 CALL :Routine "%~1" "%~2" "%~3" "%~4" ) ELSE ( IF EXIST "%~1" ( ECHO F | XCOPY /Y /F "%~2" "%Parent%\%~4\%~3_(dupe%dupCnt%)%~4" && DEL /Q /F "%~2" SET "dupCnt=1" ) ) GOTO :EOF
Vorher und Nachher Ordnerstrukturbeispiel
Vor
C:\MOMMA ├───Adult-Child │ Adult-Child.jpg │ Adult-Child.txt │ Adult-Child.zzz │ Baby.txt │ ├───Baby │ Adult-Child.txt │ Baby.jpg │ Baby.txt │ Baby.zzz │ Teen.txt │ └───Teen Adult-Child.txt Baby.txt Teen.jpg Teen.txt Teen.zzz
Nach dem
C:\MOMMA ├───.jpg │ Adult-Child.jpg │ Baby.jpg │ Teen.jpg │ ├───.txt │ Adult-Child.txt │ Adult-Child_(dupe1).txt │ Adult-Child_(dupe2).txt │ Baby.txt │ Baby_(dupe1).txt │ Baby_(dupe2).txt │ Teen.txt │ Teen_(dupe1).txt │ └───.zzz Adult-Child.zzz Baby.zzz Teen.zzz
Weitere Ressourcen