Ordner kopieren
Hallo!
Ich will über eine Batch verschiedene Ordner kopieren.
In die Batch soll man Quelle und Ziel eingeben können.
Warum funktioniert mein Programm nicht?
Set /P Quelle ="Geben Sie bitte die Quelle ein : "
Set /P Ziel ="Geben Sie bitte das Ziel ein : "
xcopy /s /d /y %Quelle% %Ziel%
Danke
Markus
Ich will über eine Batch verschiedene Ordner kopieren.
In die Batch soll man Quelle und Ziel eingeben können.
Warum funktioniert mein Programm nicht?
Set /P Quelle ="Geben Sie bitte die Quelle ein : "
Set /P Ziel ="Geben Sie bitte das Ziel ein : "
xcopy /s /d /y %Quelle% %Ziel%
Danke
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 56544
Url: https://administrator.de/contentid/56544
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
15 Kommentare
Neuester Kommentar
Hi,
den Parameter /D muss ein Datumsformat folgen.
Ruf mal help xcopy, da siehste es. /D:M-T-J
Daher läuft Deine Batch noch niicht.
Wenn man übrigens die Parameter vor oder nach dem Befehl setzt kommen auch unterschiedliche Ergenbisse raus. Beispiel:
xcopy /s /e /y c:\temp d:\temp wird nachgefragt obs ein Dateiname oder ein Verzeichnis sein soll. xcopy c:\temp d:\temp /e /s /y erstellt gleich ein Verzeichnis auf D: und kopiert mittels Parameter s und e alles rein.
Gruß AdminDash
den Parameter /D muss ein Datumsformat folgen.
Ruf mal help xcopy, da siehste es. /D:M-T-J
Daher läuft Deine Batch noch niicht.
Wenn man übrigens die Parameter vor oder nach dem Befehl setzt kommen auch unterschiedliche Ergenbisse raus. Beispiel:
xcopy /s /e /y c:\temp d:\temp wird nachgefragt obs ein Dateiname oder ein Verzeichnis sein soll. xcopy c:\temp d:\temp /e /s /y erstellt gleich ein Verzeichnis auf D: und kopiert mittels Parameter s und e alles rein.
Gruß AdminDash
Nachbrenner ;)
set /P Quelle="Quelle angeben :"
set /P Ziel="Ziel angeben :"
echo V| xcopy /S /E /Y %Quelle% %Ziel%
so klappts dann auch ohne Nachfrage aus einer Batch. Bitte auch die Abstände zwischen den = beachten. Bei Dir sind immer welche drin. Wenn die drin sind dann kommt beim Aufruf von set folgendes raus:
Quelle =c:\temp
Ziel =d:\temp
raus.
Sind die Leerzeichen weg stimmt auch der set Aufruf.
Gruß AdminDash
set /P Quelle="Quelle angeben :"
set /P Ziel="Ziel angeben :"
echo V| xcopy /S /E /Y %Quelle% %Ziel%
so klappts dann auch ohne Nachfrage aus einer Batch. Bitte auch die Abstände zwischen den = beachten. Bei Dir sind immer welche drin. Wenn die drin sind dann kommt beim Aufruf von set folgendes raus:
Quelle =c:\temp
Ziel =d:\temp
raus.
Sind die Leerzeichen weg stimmt auch der set Aufruf.
Gruß AdminDash
Also ich würde das so lassen. Die Parameter ans Ende aber sonst ok.
Das /d ohne Datum ist auch ok je nach Anwendungsfall. Ich gehe jetzt mal davon aus das du Bewusst diese Parameter gewählt hast und weist wa ssie bewirken. Drum will ich auch daran ncith rumdrehen.
Vondaher würd ichs da so machen:
miniversum
Das /d ohne Datum ist auch ok je nach Anwendungsfall. Ich gehe jetzt mal davon aus das du Bewusst diese Parameter gewählt hast und weist wa ssie bewirken. Drum will ich auch daran ncith rumdrehen.
Vondaher würd ichs da so machen:
Set /P Quelle ="Geben Sie bitte die Quelle ein : "
Set /P Ziel ="Geben Sie bitte das Ziel ein : "
xcopy %Quelle% %Ziel% /s /d /y
Set /P Ziel ="Geben Sie bitte das Ziel ein : "
xcopy %Quelle% %Ziel% /s /d /y
miniversum
/E beinhaltet /S ist also kein Widerspruch sondern eigentlich nur zuviel.
Beim set /p hast du hinter den Variabeln ein Leerzeichen. Das muß weg.
Also so das Ganze:
miniversum
Beim set /p hast du hinter den Variabeln ein Leerzeichen. Das muß weg.
Also so das Ganze:
Set /P Quelle="Geben Sie bitte die Quelle ein : "
Set /P Ziel="Geben Sie bitte das Ziel ein : "
xcopy %Quelle% %Ziel% /s /d /y
Kannst ja mal noch drüber nachdenken die Letzte Zeile so abzuändern:Set /P Ziel="Geben Sie bitte das Ziel ein : "
xcopy %Quelle% %Ziel% /s /d /y
xcopy "%Quelle:"=%" "%Ziel:"=%" /s /d /y
miniversum
Hallo FreakyF!
mit
(Ich gehe natürlich davon aus, dass weder C:\MediBak noch C:\MediBack bereits vorhanden sind.)
Grüße
bastla
XCOPY kopiert doch fehlende Ordner auch ohne /I.
Warum soll man also /I verwenden?
Damit die oben dargestellte Frage ... (D = Datei, V = Verzeichnis)? bei einem nicht existierenden Zielverzeichnis sozusagen von xcopy selbst mit "V" beantwortet wird. VergleicheWarum soll man also /I verwenden?
xcopy /I C:\WINDOWS\Media C:\MediBak
xcopy C:\WINDOWS\Media C:\MediBack
Grüße
bastla