Ortner suchen und kopieren mit batch befehl
Hi Leute
Ich binn neu hier und habe gleich ein Problem
Also
Ich möchte gerne einen batch befehl erstellen um einen ortner auf meiner festplatte zu suche und diesen anschließend inklusife unterortner in ein bestimmtes verzeichniss zu kopieren
Ich habe mir bereits eine batch erstellt zum kopieren von daten
aber ich benötige eben dass verzeichniss zum kopieren
hier meine batch
@echo off
set Quelle="C:\Dokumente und Einstellungen\\Eigene Dateien"
set Ziel="\m"
echo Kopie
md %Ziel%
xcopy %Quelle% %Ziel% /secify
echo Erledigt!
exit
Ich möchte gerne einen batch befehl erstellen um einen ortner auf meiner festplatte zu suche und diesen anschließend inklusife unterortner in ein bestimmtes verzeichniss zu kopieren
Ich habe mir bereits eine batch erstellt zum kopieren von daten
aber ich benötige eben dass verzeichniss zum kopieren
hier meine batch
@echo off
set Quelle="C:\Dokumente und Einstellungen\\Eigene Dateien"
set Ziel="\m"
echo Kopie
md %Ziel%
xcopy %Quelle% %Ziel% /secify
echo Erledigt!
exit
Please also mark the comments that contributed to the solution of the article
Content-Key: 131999
Url: https://administrator.de/contentid/131999
Printed on: April 25, 2024 at 02:04 o'clock
15 Comments
Latest comment
Moin xmax67821,
willkommen im Forum.
Verrätst du uns auch noch, welchen "Unterordner du suchen willst"?
Und was der Sinn der Aktion ist?
Falls es so etwa ähnliches wie eine regelmäßige Datensicherung sein soll,
dann brauchst ja einen Plan für den Fall, dass es diese und jene Datei schon gibt ("Kollisionen").
Falls es etwas anderes sein soll - hmm, auch dann wäre das Ziel interessant.
Grüße
Biber
willkommen im Forum.
Verrätst du uns auch noch, welchen "Unterordner du suchen willst"?
Und was der Sinn der Aktion ist?
Falls es so etwa ähnliches wie eine regelmäßige Datensicherung sein soll,
dann brauchst ja einen Plan für den Fall, dass es diese und jene Datei schon gibt ("Kollisionen").
Falls es etwas anderes sein soll - hmm, auch dann wäre das Ziel interessant.
Grüße
Biber
Moin xmax67821,
nochmal, nicht weil ich mich um eine Antwort drückenwill, sondern weil es immer noch nicht klar ist...
Ein Batch ist ja nur eine eine Folge von Einzelbefehlen, die zusammengefasst werden, weil sie mehrfach verwendet werden, regelmäßig, automatisch, wiederholbar.
Wenn ich dich richtig verstanden habe, dann ist das, was du "wiederholbar" machen willst:
Soll denn der Name "xy" abgefragt werden? "Bitte Unterordnernamen eingeben?"
Oder als Parameter mitgegeben?
Grüße
Biber
nochmal, nicht weil ich mich um eine Antwort drückenwill, sondern weil es immer noch nicht klar ist...
Ein Batch ist ja nur eine eine Folge von Einzelbefehlen, die zusammengefasst werden, weil sie mehrfach verwendet werden, regelmäßig, automatisch, wiederholbar.
Wenn ich dich richtig verstanden habe, dann ist das, was du "wiederholbar" machen willst:
- mit einem beliebigen Unterordner (der Name kann wechseln)
- der aber unterhalb des "%USERPROFILE%\Eigene Dateien"-Pfad liegt
- diesen Ordner inklusive Unterordner in ein "festes" Zielverzeichnis kopieren (ggf. vorhandene ersetzen)
Soll denn der Name "xy" abgefragt werden? "Bitte Unterordnernamen eingeben?"
Oder als Parameter mitgegeben?
Grüße
Biber
Probier erst mal diesen Schnipsel. Für das Beispiel wird die gesamte Festplatte C: nach dem Verzeichnis xy abgesucht (läuft natürlich entsprechend lange). Wenn es das ist, was du suchst, kannst du die Laufvariable %%i anschließend in den xcopy -Befehl einbinden.
Grüße
rubberman
@echo off &setlocal
pushd c:\
for /f "delims=" %%i in ('dir /ad /b /s^|findstr /e /i /l /c:"\xy"') do echo %%i
popd
pause
Grüße
rubberman
Nein, weil die Laufvariable %%i außerhalb der Schleife keine Gültigkeit mehr hat.
Also etwa so (ungetestet):
Grüße
rubberman
<edit>Anführungszeichen hinzu</edit>
Also etwa so (ungetestet):
@echo off &setlocal
set Ziel=c:\
for /f "delims=" %%i in ('dir /ad /b /s c:\^|findstr /e /i /l /c:"\xy"') do (
echo %%i wird kopiert
xcopy "%%i" "%Ziel%" /c /q /i /e /y
)
pause
Grüße
rubberman
<edit>Anführungszeichen hinzu</edit>