Kopieren mit Batch
Hi,
ich möchte mit set /p einen Pfad in eine Variable einlesen und dann alles was sich darin befindet in einen ordner kopieren, wie funktioniert das?
ich möchte mit set /p einen Pfad in eine Variable einlesen und dann alles was sich darin befindet in einen ordner kopieren, wie funktioniert das?
Please also mark the comments that contributed to the solution of the article
Content-Key: 38110
Url: https://administrator.de/contentid/38110
Printed on: April 25, 2024 at 13:04 o'clock
5 Comments
Latest comment
Moin netscape,
Falls auch Unterzeichnisstrukturen unterhalb von %quelle% mitkopiert werden sollen, dann besser "XCopy" statt "Copy" nehmen.
Siehe die einschlägigen Hilfen am CMD-Prompt oder Windows-Hilfe.
Gruß
Biber
...
set "ziel=c:\zielordner\Beispiel"
set /P "quelle=Bitte Quellpfad eingeben: "
if not [%quelle%] == if exist "%quelle%\*.*" copy "%quelle%\*.*" "%ziel%"
Falls auch Unterzeichnisstrukturen unterhalb von %quelle% mitkopiert werden sollen, dann besser "XCopy" statt "Copy" nehmen.
Siehe die einschlägigen Hilfen am CMD-Prompt oder Windows-Hilfe.
Gruß
Biber
...
set "ziel=c:\zielordner\Beispiel"
set "DateiMitGemerktemPfad=c:\meineDateien\Merkpfad.txt"
if not exist "%DateiMitGemerktemPfad%" (
set /P "quelle=Bitte Quellpfad eingeben: "
) ELSE (
set /P quelle=<%DateiMitGemerktemPfad%
)
if not [%quelle%] == if exist "%quelle%\*.*" (
copy "%quelle%\*.*" "%ziel%"
echo %quelle%>%DateiMitGemerktemPfad%
)
[ungetestete Skizze]
Gruß
Biber
Nein netscape,
eine Fortschrittsanzeige oder Vergleichbares gibt es nicht.
Du könntest natürlich beim Kopieren von einzelnen Dateien einen Fortschritt visualisieren:
.. statt der Zeile copy "%quelle%\*.*" "%ziel%" ...
..oder eine Anzeige nach dem Muster "Datei nn von 123 wird kopiert"...
Aber das halte ich für zu aufwändig.
Gruß
Biber
eine Fortschrittsanzeige oder Vergleichbares gibt es nicht.
Du könntest natürlich beim Kopieren von einzelnen Dateien einen Fortschritt visualisieren:
.. statt der Zeile copy "%quelle%\*.*" "%ziel%" ...
for %%i in (%quelle%\*.*) do call :copynextfile %%i
goto :eof
:copynextfile
cls
echo Dateien werden kopiert...%punkt%
copy %1 %ziel%
Set punkt=%punkt%.
goto :eof
..oder eine Anzeige nach dem Muster "Datei nn von 123 wird kopiert"...
Aber das halte ich für zu aufwändig.
Gruß
Biber