BATCH CMD ORDNER KOPIEREN?

6 Antworten

xcopy  %1  %2\   /S/E/R/K/Y   < NUL

Hier steht  %1  für den Ordner, der zu kopieren ist und  %2  für den Ordner, in den zu kopieren ist (falls er noch nicht existiert, wird er automatisch erzeugt). 

Vergesse nicht den  \  hinter dem Pfad zum Zielordner.

Einfacher noch: 

Erzeuge im Verzeichnis  c:\WINDOWS\system32  eine Datei cp.BAT , in welcher nur der Befehl oben steht (exakt so, wie von mir hingeschrieben).

Dann kannst du Verzeichnisse kopieren durch den Befehl

cp  %1  %2

Keilriemen 
Fragesteller
 22.02.2017, 10:42

Danke, doch leider finktioniert nichts.

Mein Befehl:

xcopy c:\users\xy\ordnera c:\users\xy\ordnerb

kopiert 0 dateien

dein Befehl:
xcopy c:\users\xy\ordnera c:\users\xy\ordnerb /S/E/R/K/Y < NUL

Kopiert leider auch nur 0 Dateien

Wenn ich jetzt eine Datei im OrdnerA Liegen habe, kopiert er diese auf Ordner B

Aber ich habe keine Datei im Ordner A, also kopiert er mir auch nichts.

Aber das Problem ist, ich möchte den Ordner kopieren und nicht das was sich im Ordner befindet.

0
grtgrt  22.02.2017, 10:43
@Keilriemen

Du hast den Backslash  \  hinter dem Zielordner vergessen !!!!

Genauer: Der Pfad, der den Zielordner nennt, muss mit \ enden.

0
Keilriemen 
Fragesteller
 22.02.2017, 10:47
@grtgrt

Das habe ich jetzt eingegeben:

xcopy c:\users\xy\ordnera c:\users\xy\ordnerb\ /S/E/R/K/Y < NUL

Leider kopiert er mir den Ordner nicht.

0
grtgrt  22.02.2017, 10:51
@Keilriemen

Mit welcher Windows-Version arbeitest du?

Bei mir funktioniert das mit allen Versionen seit Windows XP (in älteren hat xcopy ein klein wenig anders funktioniert).

Es kann auch sein, dass die Namen deiner Ordner Leerzeichen enthalten. In diesem Fall musst du die Pfade in Gänsefüßchen setzen: statt  %1  also  "%1"  schreiben und ebenso für %2.

0
Keilriemen 
Fragesteller
 22.02.2017, 10:57
@grtgrt

Windows Version 6.1.7601

Windows 7

xcopy "c:\users\xy\ordnera" "c:\users\xy\ordnerb\" /S/E/R/K/Y < NUL

xcopy "c:\users\xy\ordnera" "c:\users\xy\ordnerb\ /S/E/R/K/Y < NUL"

xcopy "c:\users\xy\ordnera" "c:\users\xy\ordnerb" /S/E/R/K/Y < NUL

Funktionieren alle möglichkeiten nicht.

0
PWolff  22.02.2017, 11:06

Was soll da aus NUL eingegeben werden?

ich würde das < NUL auf jeden Fall weglassen, ich hätte zu viel Sorge, dass das irgendwas kaputtmacht.

Auch würde ich zwischen die Schalter Leerzeichen setzen, also vor jeden "/" noch ein Leerzeichen.

0
Keilriemen 
Fragesteller
 22.02.2017, 11:09
@PWolff

Leider funktioniert das auch nicht, es muss doch möglich sein den Ordner zu kopieren ??????

0
grtgrt  22.02.2017, 11:27
@PWolff

Das  < NUL  musste ich einfügen, da ich einen Fall hatte, in dem der Befehl von mir eine Rückmeldung wollte (so dass Aufruf aus einem Programm heraus an der Stelle ohne das  <NUL  stehen blieb).

Das bedeutet: Du kannst das <NUL ohne weiteres weglassen.

Warum der Befehl bei dir nicht funktioniert, ist mir schleierhaft.

Heißen deine Ordner wirklich  ordnerA  und  ordnerB ?

Wenn nicht: Wie heißen sie genau?

Kann es an fehlenden Zugriffsrechten liegen?

Liefert der Aufruf des Befehls irgend eine Meldung?

Existiert dein ordnerB  schon? Wenn ja, kopiere mal nach  X\  (und sehe dann nach, ob im Verzeichnis, aus dem heraus du den Befehl aufgerufen hast, das Subverzeichnis X als Kopie von ordnerA erzeugt wurde.

0
Keilriemen 
Fragesteller
 22.02.2017, 11:29
@grtgrt

Die Ordner heißen: Uebung     und     Temp

Er zeigt mir immer 0 Dateien kopiert an

0
Keilriemen 
Fragesteller
 22.02.2017, 11:32
@Keilriemen

Die Zwei Ordner existieren schon

Die befinden sich beide auf einer Verzeichnisebene wie zum Beispiel "Dokumente"


Theoretisch müsste er mir ja "0 Ordner kopiert" anzeigen.

0
grtgrt  22.02.2017, 11:33
@Keilriemen

Dann kann es eigentlich nur noch daran liegen, dass dein xcopy.exe eine Version ist, die etwas andere Parameter nimmt.

Ein Aufruf

xcopy /?

zeigt dir das komplette Handbuch zu xcopy. Lies es genau durch und frage dich dann, ob die von mir genannten Optionen 

/S/E/R/K/Y

Sinn machen.

0
Keilriemen 
Fragesteller
 22.02.2017, 11:36
@grtgrt

/S und /E mach Sinn.

Kopieren von Unterverzeichnissen leer oder nicht leer

0
Keilriemen 
Fragesteller
 22.02.2017, 13:01
@grtgrt

Nein, der kopiert dann nur die Dateien im Ordner aber nicht den Ordner.

0
grtgrt  22.02.2017, 13:31
@Keilriemen

Naja: Dann ist es doch richtig. 

Wenn der neue Ordner denselben Namen (aber nicht denselben Pfad) wie der alte haben soll, dann bedeutet es doch gerade, dass der Befehl den gesamten Ordner - einschließlich aller darin enthaltenen Struktur - auf einen neuen Ordner gleichen Namens kopiert.

0

Wo ist das Problem kurz den Explorer zu öffnen und das manuell zu machen das geht schneller...

Keilriemen 
Fragesteller
 22.02.2017, 10:19

Ich brauch einen Batch Befehl und keine dumme Antwort.

1
Duponi  22.02.2017, 10:20

vermutlich heisst das Zauberwort hier automatisieren. Ein Klick auf das Batchkürzel ist schneller als den Explorer zu öffnen, die Dateien rauszusuchen und dann zu kopieren

0
Trabbifrager  22.02.2017, 10:46

das ist keine dumme Antwort, so macht das jeder. aber wer schreibt den bitte eine Batch Datei die immer nur das gleiche kopiert...? sinn?

0
Keilriemen 
Fragesteller
 22.02.2017, 10:49
@Trabbifrager

Klar geht das über Explorer schneller aber es muss doch so einen verdammten Befehl geben für eine Batch Datei.

0
stboy  22.02.2017, 11:29
@Trabbifrager

Wer sagt denn, dass der Inhalt des Ordners immer gleich ist?

0
Keilriemen 
Fragesteller
 22.02.2017, 11:39
@stboy

der Inhalt des Ordners ist immer gleich. Im Ordner befindet sicht nichts. Und ausßerdem ist das egal ob sich da was befindet oder nicht, er soll ja den Ordner kopieren mit oder ohne Dateien, je nach dem

0
Sanctuaria  23.02.2017, 13:53
@Trabbifrager

das ist keine dumme Antwort, so macht das jeder. aber wer schreibt den bitte eine Batch Datei die immer nur das gleiche kopiert...? sinn?

Sinn: zum Beispiel SCCM, Softwareverteilung am Arbeitsplatz.

Sorry aber, muss den anderen zustimmen, das war eine blöde Antwort. Automatisierung ist immer eine gute Idee, und wenn der Befehl einmal klappt kann man ihn immer wieder einsetzen... viel weniger Arbeit als dein Vorschlag.

0

Nächstes Mal solltest du noch mehr Details in der Frage angeben, z.B. dass du innerhalb des User-Ordners kopierst, das fand ich erst heraus durch das Lesen deiner Kommentare unter Antwort-Beiträgen. 

Aber das Problem ist, ich möchte den Ordner kopieren und nicht das was sich im Ordner befindet.

Wenn du nur den Ordner kopieren willst nicht den Inhalt, könntest du alternativ das Verzeichnis kreieren. Oder gibt es einen Grund, warum du genau xcopy benutzen möchtest?

mkdir %userprofile%\Ordner2\Ordner1
Keilriemen 
Fragesteller
 22.02.2017, 10:18

Leider sehe ich da nur die Befehle, damit ich Dateien im Ordner kopieren kann, aber ich möchte den Ordner + Dateien kopieren.

0
SirKermit  22.02.2017, 10:38
@Keilriemen

Schau doch einfach in die Liste der Parameter, da stehen sie drin. Es gibt nicht DEN EINZIGEN Befehl, sondern xcopy mit Parametern, je nachdem. was du erreichen möchtest.

1