Ich habe einen Ordner auf meinem Desktop Test
und in diesem Ordner habe ich zwei Ordner WorkingFolder\Bilder
und Station 1
. Die Struktur sieht also folgendermaßen aus:
Test\WorkingFolder\Bilder Test\Station 1
Innerhalb Test\
(des Hauptordners) habe ich die Batchdatei. Ich muss die .jpg
Dateien von Test\Station 1
nach verschieben oder kopieren können Test\WorkingFolder\Bilder
. Dafür habe ich verwendet XCopy
.
Das Problem ist, dass ich den Namen des Kopierordners in NICHT verwenden kann XCOPY
, da die Batchdatei auf mehrere ähnlich strukturierte Ordner, aber mit unterschiedlichen Pfadnamen angewendet wird. Daher habe ich versucht, %~dp0
stattdessen Folgendes zu verwenden:
Mein Code ist:
md WorkingFolder\Bilder
xcopy /s "%~dp0\*.jpg" WorkingFolder\Bilder\
Ich versuche Folgendes zu schreiben: Kopieren Sie alles .jpg
in den Unterordnern von %~dp0
, %~dp0
also den Ordner, in dem sich die Batchdatei befindet, und den Unterordner, in dem sich die Bilder befinden Station 1
, und legen Sie sie in ab WorkingFolder\Bilder
.
Das Problem ist, dass keine Dateien kopiert werden. Nur wenn ich DIREKT auf Station 1
in verweise Xcopy
, werden die Dateien kopiert. Ich muss in der Lage sein, auf alle Unterverzeichnisse in zu verweisen %~dp0
und nicht auf ähnliche Unterverzeichnisse in %~dp0\example
.
Bitte hilf mir!
Antwort1
Ich glaube dasxcopy
meldet den folgenden Fehler:
Cannot perform a cyclic copy
Dies liegt daran, dass sich das Zielverzeichnis im Quellverzeichnisbaum befindet.
Sie könnten versuchen, dierobocopy
Befehlstattdessen und schließen Sie das Zielverzeichnis aus:
robocopy "%~dp0." "%~dp0WorkingFolder\Builder" "*.jpg" /S /XD "%~dp0WorkingFolder"