Was ist der Windows-Eingabeaufforderungsbefehl zum Kopieren von Dateien?
Ich muss eine Datei von Speicherort A nach Speicherort B verschieben. Auch wenn der Ordner für Speicherort B nicht vorhanden ist, möchte ich, dass er erstellt wird.
Ich brauche dies als Befehlszeile, damit ich es automatisieren kann.
Die Version von Windows ist XP.
windows
command-line-interface
copy
David Basarab
quelle
quelle
robocopy
funktioniert auchAntworten:
Der Befehl
xcopy
ist das, wonach Sie suchen. Beispiel:Der obige Befehl kopiert die Quelle in das Ziel, Dateien und Verzeichnisse (einschließlich leere), stoppt nicht bei Fehlern, kopiert versteckte und Systemdateien, überschreibt schreibgeschützte Dateien, behält Attribute und Besitz- / ACL-Informationen bei und unterdrückt die Aufforderung zum Überschreiben vorhandener Zieldateien.
Für weitere Informationen geben Sie
xcopy /?
und Ihre Befehlszeile.quelle
/E /H
und vielleicht/K /O
mit ein paar praktischen Eingabeaufforderungen weit kommen/J
, was einen Fehler mit XCopy beim Kopieren großer Dateien verhindert. Ich bin mir nicht sicher, warum sie das nicht zur Standardeinstellung machen würden ...Verwenden Sie md , um den Ordner zu erstellen (es ist in Ordnung, wenn es bereits existiert)
Verwenden Sie Kopieren oder Verschieben für Dateien und Kopieren für Ordner
quelle
In einer Batch-Datei:
if not exists
Überprüft den Parameter, um festzustellen, ob er vorhanden ist, funktioniert jedoch nur für Dateien. Um das Vorhandensein eines Verzeichnisses zu überprüfen , müssen Sie nach einer 'Pseudodatei' mit dem Namen "nul" suchen. Wenn Sie das Vorhandensein dieser Datei überprüfen, wird immer true zurückgegeben, wenn das Verzeichnis vorhanden ist.Die Kopierzeile kopiert die
file
im Verzeichnis aufgerufene DateilocationA
nachlocationB
und benennt die Datei gleich. Wenn Sie die Datei gleichzeitig umbenennen möchten, können Sie dies auch tun:quelle
Wenn Sie die Möglichkeit haben möchten, die Kopie und andere erweiterte Funktionen zu synchronisieren (ignorieren Sie bestimmte Ordner, schließen Sie nur bestimmte Platzhalter ein), schauen Sie sich an
robocopy
. In Vista und höher enthalten, optional (aus Resource Kit-Tools) in früheren Versionen.quelle
Verwenden Sie ROBOCOPY, wenn Sie Sicherungsskripten erstellen. xcopy ist veraltet und wird wahrscheinlich in naher Zukunft nicht mehr verwendet. robocopy kann alles, was xcopy kann. Es ist auch flexibler und zuverlässiger. Das Erstellen von Skripten mit Robocopy ist zukunftssicher.
Verwenden Sie Robocopy, um Ordner einfach zu kopieren. Der Befehl robocopy ersetzt den Befehl xcopy. Es kann schnell ganze Ordner kopieren, ohne sich um die Definition des Inhalts kümmern zu müssen. Geben Sie beispielsweise Folgendes ein, um den gesamten Inhalt des Verzeichnisses C: \ tools in den neuen Ordner D: \ backup \ tools zu kopieren:
Der Modifikator / e weist robocopy an, alle Unterverzeichnisse einzuschließen. Dies schließt leere Ordner ein. robocopy kopiert automatisch versteckte und Systemdateien. Es werden neue Verzeichnisse erstellt, wenn diese am Zielspeicherort nicht vorhanden sind.
Ein Verzeichnis spiegeln. Das Spiegeln eines Verzeichnisses eignet sich hervorragend zum Erstellen von Sicherungen. Die Spiegeloption von Robocopy kopiert den gesamten Inhalt von der Quelle zum Ziel. Es wird dann alles am Ziel gelöscht, was an der Quelle nicht vorhanden ist. Dies stellt sicher, dass Ihre Sicherung nur die neuesten Versionen Ihrer Dateien enthält. Geben Sie beispielsweise Folgendes ein, um C: \ Users \ My Documents in D: \ backup \ My Documents zu spiegeln: [4]
Diese Funktion behält alle Berechtigungen der Originaldateien bei.
Neustart aktivieren. Möglicherweise möchten Sie die Möglichkeit einschließen, den Prozess neu zu starten, falls die Verbindung während des Kopiervorgangs getrennt wird.
Protokollieren Sie den Kopiervorgang. Mit robocopy können Sie eine Protokolldatei erstellen. Dies kann Ihnen helfen, Probleme zu lokalisieren oder ein Archiv dessen zu erstellen, was kopiert wurde.
Der Modifikator / log + hängt die vorhandene Protokolldatei an, anstatt sie zu überschreiben. Wenn Sie nur die alte Protokolldatei überschreiben möchten, verwenden Sie /log:.txt.
quelle
xcopy erstellt die Verzeichnisstruktur für Sie. Der Trick besteht darin, die Option / I zu verwenden und am Ende des Dateinamens ein Sternchen zu setzen, damit xcopy denkt, dass Sie mehrere Dateien kopieren. Andernfalls werden Sie gefragt, ob der Zielname der gewünschte Dateiname oder der gewünschte Verzeichnisname ist . Beispielsweise.
Ich würde mir auch RoboCopy ansehen, aber Sie müssen es aus dem Resource Kit herunterladen, da es erst unter Windows und unter Vista verfügbar ist.
quelle
Der obige Befehl erstellt eine zusätzliche Verzeichnisebene mit dem Namen der Quelldatei. Also ... xcopy / I srcdir \ dir1 \ dir2 \ file1.txt * destdir \ dir1 \ dir2 \ file1.txt ergibt destdir \ dir1 \ dir2 \ file1.txt \ file1.txt
quelle