it-swarm.com.de

Batchdatei zum Kopieren von Dateien aus einem Ordner in einen anderen Ordner

Ich habe einen Speicherordner in einem Netzwerk, in dem alle Benutzer ihre aktiven Daten auf einem Server speichern. Jetzt wird dieser Server aufgrund eines Platzproblems durch einen neuen ersetzt, sodass ich die Unterordnerdateien aus dem alten Serverordner in den neuen Serverordner kopieren muss. Ich habe unter Ex:

von\Oldeserver\storage\data & files nach\Neuer Server\storage\data & files. 

202
user73628

xcopy.exe ist definitiv dein Freund hier . Es ist in Windows integriert, daher kostet es nichts.

Nur xcopy /s c:\source d:\target

Sie möchten wahrscheinlich ein paar Dinge optimieren. Zu den Optionen, die wir hinzufügen, gehören auch:

  • /s/e - rekursive Kopie, einschließlich dem Kopieren leerer Verzeichnisse.
  • /v - fügen Sie dies hinzu, um die Kopie mit dem Original zu verifizieren. langsamer, aber für die Paranoiden.
  • /h - System und versteckte Dateien kopieren.
  • /k - Schreibgeschützte Attribute zusammen mit Dateien kopieren. Andernfalls werden alle Dateien schreibgeschützt.
  • /x - Wenn Sie sich für Berechtigungen interessieren, möchten Sie /o oder /x.
  • /y - Keine Eingabeaufforderung, bevor vorhandene Dateien überschrieben werden.
  • /z - Wenn Sie der Meinung sind, dass die Kopie möglicherweise fehlschlägt und Sie sie erneut starten möchten, verwenden Sie diese Option. Beim Kopieren wird jede Datei mit einer Markierung versehen, sodass Sie den Befehl xcopy erneut ausführen können, um ihn dort abzusetzen, wo er aufgehört hat.

Wenn Sie der Meinung sind, dass die Xcopy-Software möglicherweise nicht vollständig funktioniert (z. B. beim Kopieren über eine unübersichtliche Netzwerkverbindung), oder wenn Sie sie beenden und später fortsetzen möchten, können Sie xcopy /s/z c:\source d:\target verwenden.

Hoffe das hilft.

381
lavinio

Um klar zu sein, wenn Sie xcopy /s c:\source d:\target verwenden, setzen Sie "" um c:\source und d:\target, andernfalls erhalten Sie eine Fehlermeldung.

dh wenn der Pfad Leerzeichen enthält, dh wenn Sie:

"C:\Some Folder\*.txt"

aber nicht erforderlich, wenn Sie:

C:\SomeFolder\*.txt
48
Ike

Mein Favorit für die Datensicherung ist:

ROBOCOPY "C:\folder" "C:\new_folder" /mir

/ mir ist für einen Spiegel. Sie können auch/mov verwenden, um Dateien zu verschieben. Es reproduzieren genau den gleichen Ordner. Es kann Dateien nach Bedarf löschen oder überschreiben. Funktioniert gut für mich. Es ist schneller als xcopy/copy. Es ist auch in Windows eingebaut.

Quelle: http://technet.Microsoft.com/de-de/library/cc733145.aspx

41
Etienne Dupuis

Sie können einen Blick auf XCopy oder RoboCopy werfen, die ziemlich umfassende Lösungen für nahezu alle Dateikopiervorgänge unter Windows bieten.

17
Joey

Umgehen Sie das 'Angeben eines Dateinamens oder Verzeichnisnamens auf dem Ziel (F = Datei, D = Verzeichnis)?' Nach Aufforderung mit xcopy können Sie Folgendes tun ...

echo f | xcopy /f /y srcfile destfile 

oder für diejenigen, die nur große Unterstrukturen/Ordner kopieren:

use/i Gibt an, dass das Ziel ein Verzeichnis sein muss, wenn mehrere Dateien kopiert werden

13
wintondeshong

wenn Sie eine Datei kopieren möchten, die keinen absoluten Pfad verwendet, können Sie den relativen Pfad mit anderen Worten angeben:

vergiss nicht, in den Pfad Antislash zu schreiben UND NICHT einen Schrägstrich (^^)

beispiel: 

    copy children-folder\file.something .\other-children-folder

PS: Absoluter Pfad kann mit diesen Platzhaltern ("Batch-Parameter") abgerufen werden.

    @echo off
    echo %%~dp0 is "%~dp0"
    echo %%0 is "%0"
    echo %%~dpnx0 is "%~dpnx0"
    echo %%~f1 is "%~f1"
    echo %%~dp0%%~1 is "%~dp0%~1"

Überprüfen Sie die Dokumentation hier zum Kopieren: https://technet.Microsoft.com/de-de/library/bb490886.aspx

und hier auch für die Dokumentation der Stapelparameter: https://www.Microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true

2
marcdahan
@echo off

rem The * at the end of the destination file is to avoid File/Directory Internal Question.

rem You can do this for each especific file. (Make sure you already have permissions to the path)
xcopy /Y "\\Oldeserver\storage\data\MyFile01.txt" "\\New server\storage\data\MyFile01.txt"*
pause

rem You can use "copy" instead of "xcopy "for this example.
0
David Castro

Schauen Sie sich das rsync-basierte Windows-Tool NASBackup an. Es ist ein Bonus, wenn Sie mit rsync-Befehlen vertraut sind.

0
nik