Batch: Alle Zeilen aus txt abarbeiten
Alle Zeilen aus txt abarbeiten
Hallo zusammen
Ich habe folgendes Problem:
Ich habe mir ein Script geschrieben das beim Herunterfahren meinen Desktop säubert.
Da ich nicht jede Endung in einen eigenen Ordner schmeissen will und zudem z.B. ein Zip Datei auch ein Treiber, Bilder usw. sein kann, werden nur bestimmte Endungen wie .exe in tools verschoben oder .psd in design usw. der "Rest" kommt in den Ordner Misc.
Nun stehe ich vor dem Problem, dass wenn ein Ordner vorhanden ist, der leer erstellt wird in jedem Ordner obwoh er da nix zu suchen hat.
Kein Problem dachte ich mir, verschieben wir alle Ordner zuerst bevor dann die Abfrage mit den Endungen beginnt.
Das habe ich wie folgt versucht:
Beim ersten Ordner klappt das ganz gut. Beim zweiten wird nur der Inhalt kopiert und der Dritte ignoriert... Woran kann das liegen?
Oder gibt es eine andere möglichkeit dies abzufangen, schliesslich wäre es ja schön wenn ein Ordner mit MP3's im Ordner Sound liegt und nicht in Misc.
Ja ich habe beim xcopy befehl die parameter /E /S aktiviert, doch die benötige ich, falls ein cms oder so auf dem Desktop liegt. Da kann es schon sein das ein Ordner leer ist aber dennoch benötigt wird und sollte nicht einfach so ignoriert werden...
Hoffe man versteht was ich meine =)
Danke im Voraus für die Hilfe
MFG
Hallo zusammen
Ich habe folgendes Problem:
Ich habe mir ein Script geschrieben das beim Herunterfahren meinen Desktop säubert.
Da ich nicht jede Endung in einen eigenen Ordner schmeissen will und zudem z.B. ein Zip Datei auch ein Treiber, Bilder usw. sein kann, werden nur bestimmte Endungen wie .exe in tools verschoben oder .psd in design usw. der "Rest" kommt in den Ordner Misc.
Nun stehe ich vor dem Problem, dass wenn ein Ordner vorhanden ist, der leer erstellt wird in jedem Ordner obwoh er da nix zu suchen hat.
Kein Problem dachte ich mir, verschieben wir alle Ordner zuerst bevor dann die Abfrage mit den Endungen beginnt.
Das habe ich wie folgt versucht:
DIR /B /AD "%userprofile%\desktop\" > c:\list.txt
For /F %%a IN (c:\list.txt) DO xcopy /E /Y "%userprofile%\desktop\%%a" "e:\desktop\%date%\Misc\"
For /F %%a IN (c:\list.txt) DO rd /S /Q "%userprofile%\desktop\%%a"
Oder gibt es eine andere möglichkeit dies abzufangen, schliesslich wäre es ja schön wenn ein Ordner mit MP3's im Ordner Sound liegt und nicht in Misc.
Ja ich habe beim xcopy befehl die parameter /E /S aktiviert, doch die benötige ich, falls ein cms oder so auf dem Desktop liegt. Da kann es schon sein das ein Ordner leer ist aber dennoch benötigt wird und sollte nicht einfach so ignoriert werden...
Hoffe man versteht was ich meine =)
Danke im Voraus für die Hilfe
MFG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 14808
Url: https://administrator.de/contentid/14808
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
3 Kommentare
Neuester Kommentar
For /F %%g IN (C:\LIST.TXT) DO xcopy /S /E /Y "%userprofile%\desktop\%%g" "e:\desktop\%date%\Misc\"
Dieses List.txt müsste quasi in Anführungszeichen stehen.
Dieses List.txt müsste quasi in Anführungszeichen stehen.
Eine der vielen Möglichkeiten wäre mit "Delims=", eine andere mit "Tokens=*" (s. "FOR /?"):
For /F "delims=" %%g IN (C:\LIST.TXT) DO xcopy /S /E /Y "%userprofile%\desktop\%%g" "e:\desktop\%date%\Misc\"
HTH Frank / der Biber aus Bremen