Xcopy - Kopien im weiteren Zielordner speichern
Ich versuche, eine Batch-Datei zu schreiben. Damit möchte ich mit Xcopy vom Quellordner Dateien in einen Ordner "Ziel1" kopieren. Der Parameter /D stellt sicher, dass nur die neuen oder geänderten Dateien kopiert werden. Das klappt gut.
Ich benötige die kopierten Dateien jedoch auch in einem Ordner "Ziel2". Dort werden sie in ein anderes Dateiformat konvertiert. In diesen Ordner ("Ziel2") sollen ausschließlich diejenigen Dateien kopiert werden, die bei dem jeweiligen Aufruf des Befehls Xcopy in den Ordner "Ziel1" kopiert wurden.
Ich benötige die kopierten Dateien jedoch auch in einem Ordner "Ziel2". Dort werden sie in ein anderes Dateiformat konvertiert. In diesen Ordner ("Ziel2") sollen ausschließlich diejenigen Dateien kopiert werden, die bei dem jeweiligen Aufruf des Befehls Xcopy in den Ordner "Ziel1" kopiert wurden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 138213
Url: https://administrator.de/forum/xcopy-kopien-im-weiteren-zielordner-speichern-138213.html
Ausgedruckt am: 09.04.2025 um 05:04 Uhr
10 Kommentare
Neuester Kommentar
da gibt es einige Wege...
ich würde in einem Batchfile
a) alle Dateien in Ziel1 das A-Attribut zurücksetzen: "attrib -A ziel1\*.*"
b) xcopy nach Ziel1 durchführen
c) xcopy mit den selben Optionen plus "/A" von Ziel1 nach Ziel2
Vorteil: xcopy kann mehr als der copy-Befehl, z.B. ACLs und hidden Attribute erhalten, oder rekursiv kopieren (Bäume).
Ede
ich würde in einem Batchfile
a) alle Dateien in Ziel1 das A-Attribut zurücksetzen: "attrib -A ziel1\*.*"
b) xcopy nach Ziel1 durchführen
c) xcopy mit den selben Optionen plus "/A" von Ziel1 nach Ziel2
Vorteil: xcopy kann mehr als der copy-Befehl, z.B. ACLs und hidden Attribute erhalten, oder rekursiv kopieren (Bäume).
Ede
Hallo MaexchenS!
Falls ich Dich richtig verstehe, könntest Du es so versuchen:
Grüße
bastla
Falls ich Dich richtig verstehe, könntest Du es so versuchen:
set Quelle="T:\"
set Ziel1="C:\k13$_Mir\001"
set Ziel2="C:\k13$_Mir\doc"
for /f %%i in ('xcopy /s /d /l /y %Quelle% %Ziel1%') DO (
xcopy /y "%%i" %Ziel1%
xcopy /y "%%i" %Ziel2%
)
for /r %Ziel2% %%i in (*.009) do ren "%%i" *.doc
bastla
Hallo MaexchenS!
Da beim Kopieren in diesem Fall das Änderungsdatum verglichen wird, wäre das Kopieren der bereits vorhandenen Dateien nur mit einem neueren Datum (inkl Uhrzeit) der Quelldatei zu erklären ...
Ein Unterschied könnte sich zB ergeben, wenn die Partition T: mit FAT32 formatiert ist.
Wenn das Ziel wäre, tatsächlich nur Dateien zu kopieren, die im Zielordner noch nicht vorhanden sind, könntest Du es so versuchen:
Grüße
bastla
Da beim Kopieren in diesem Fall das Änderungsdatum verglichen wird, wäre das Kopieren der bereits vorhandenen Dateien nur mit einem neueren Datum (inkl Uhrzeit) der Quelldatei zu erklären ...
Ein Unterschied könnte sich zB ergeben, wenn die Partition T: mit FAT32 formatiert ist.
Wenn das Ziel wäre, tatsächlich nur Dateien zu kopieren, die im Zielordner noch nicht vorhanden sind, könntest Du es so versuchen:
set Quelle="H:\ADM"
set Ziel1="K:\k13$_Mir\001"
set Ziel2="K:\k13$_Mir\doc"
set Ex=%temp%\Exclude.txt
xcopy /s /u /l /y %Quelle% %Ziel1%>%Ex%
xcopy /s /exclude:%Ex% %Quelle% %Ziel1%
xcopy /s /exclude:%Ex% %Quelle% %Ziel2%
bastla
(liest das hier einer?)
Ich hatte ja bereits vorgeschlagen, das A-Attribut zu benutzen. Dazu ist es ja da.
Das hier sollte funktionieren:
Bei den OPTS wird berücksichtigt, dass die Attribute mitkopiert werden (z.B. readonly).
Nebenbei, die Schleife für das rename ist so geschrieben, dass der Befehl nur einmal pro Verzeichnis ausgeführt werden muss, und nicht 15.000 mal.
HTH,
Ede
Ich hatte ja bereits vorgeschlagen, das A-Attribut zu benutzen. Dazu ist es ja da.
Das hier sollte funktionieren:
set Quelle="T:\"
set Ziel1="C:\k13$_Mir\001"
set Ziel2="C:\k13$_Mir\doc"
set OPTS=/s /m /y /i /h /r /k
xcopy %OPTS% %Quelle% %Ziel1%
xcopy %OPTS% %Ziel1% %Ziel2%
for /r %Ziel2% %%d in (.) do ren %%d\*.009 *.doc
Nebenbei, die Schleife für das rename ist so geschrieben, dass der Befehl nur einmal pro Verzeichnis ausgeführt werden muss, und nicht 15.000 mal.
HTH,
Ede