Ich schreibe ein allgemeines Dateisicherungsprogramm. Es durchsucht das Laufwerk nach Dateien, die einer Reihe von Typen entsprechen, und schreibt sie dann in einen Ordner auf dem Desktop. Ich habe es unter xcopy
Windows XP geschrieben, aber als ich erfuhr, dass xcopy
es zugunsten von robocopy
Vista und neueren Betriebssystemen veraltet war , entschied ich mich, auf das nicht veraltete Betriebssystem zu wechseln, um die Kompatibilität aufrechtzuerhalten copy
.
Hier fangen die Probleme an. Ich versuche, die Kopierroutine zu reparieren. Ich dachte, ich hätte alles geklärt, aber es kopiert nichts. Meine Ausgabe besteht aus null Dateien, die bei jeder Iteration kopiert werden.
Ursprünglicher Code mit xcopy
:
for /r %%a in (*.bmp *.dds *.gif *.jpg *.jpeg *.png *.psd *.pspimage *.tga *.thm *.tif *.tiff) do (
echo f | xcopy "%%a" "%HOMEDRIVE%%HOMEPATH%\Desktop\LDR\Images\Bitmap\%%~nxa" /q /y /g /c
)
Überarbeiteter (fehlerhafter) Code mit copy
:
for /r %%a in (*.bmp *.dds *.gif *.jpg *.jpeg *.png *.psd *.pspimage *.tga *.thm *.tif *.tiff) do (
copy "%%a" "%HOMEDRIVE%%HOMEPATH%\Desktop\LDR\Images\Bitmap\%%~nxa" /d /y /z
)
Ausgabe:
The system cannot find the path specified.
0 files copied.
Ich weiß, dass es so aussieht, als ob jeder eins benutzt xcopy
oder robocopy
aber kann jemand helfen copy
?
Hinweis: Ich verwende Batch, um es sehr übersichtlich und über die Befehlszeile zugänglich zu halten.
D:\>(copy "D:\Program Files\Winamp\Plugins\avs\whacko6-07.bmp" "C:\Documents and Settings\,,,,\Desktop\LDR\Images\Bitmap\whacko6-07.bmp" /d /y /z ) The system cannot find the path specified. 0 file(s) copied.
Eine Probe auf einer Probefahrt D. Die Ergebnisse waren alle gleich.
copy
keine Dateipfade erstellt, sodass das Kopieren in einen Pfad, xcopy
der für mich erstellt worden wäre, fehlgeschlagen ist . Ich muss meine Verzeichnisse vorab erstellen, denke ich.
@for
und hier ein @ setzendo @(
, das alle Befehle auflistet, und Sie können sehen, was auch immer ein Fehler ist. Mir ist auch aufgefallen, dass in Ihrem Kopierbefehl doppelte Anführungszeichen fehlen. Sie hatten sie in Ihrem xcopy-Befehl