Ordner nach bestimmten Dateien durchsuchen
Hallo, ich woltle meinen PC nach bestimmten Dateien in einem bestimmten ordner durchsuchen. und anschließend verschieben.
Aber heir erstmal mein code (bin erst neu, würde mich über Verbesserungen sehr freuen)
Das script soll also den ordner C:\BATCH\ordnen\ nach .z* und .r* durchsuchen. Dazu habe ich erstmal den ordner mit dir inklusive Utnerverzeichnisse aufgelistet, sodass ich dann n einer txt datei in etwa folgende Eitnräge habe: "C:\BATCH\ordnen\ordner_1\test\1.zip"
Wenn also eine Datei mit der Endung .z* vorhanden ist, soll er den ordner MIT seienr kompletten Struktur in ein neues Verzeichnis kopieren.. also es soll dann so aussehen "C:\BATCH\geordnet\ordner_1\test\1.zip"
Mein script fuznt an dieser Stelle nicht,d a ich nicht weiß, wie ich der abt die Zieldatei angeben soll/kan, da ich in der FOLDERS:TXT Datei einträge mit dem laufwerskbuchstaben habe.
Ich habe mir gedacht, dass ich einfach das C:\BATCH\ lösche, sodass n ur der rest übrig bleibt.. aber auch das bekomme ich nicht hin
Wenn irh mir eine Lösung schreiben könntet, wäre das super entt. Ich würde mich rieseig freuen.. Es wäre auchs chön, wenn ihr mich auf etweilige Fehler aufmerksam machen könntet
ALso nochmals Danke
mfg
Hackse
[Edit Biber 18.8.2007]
Originaltitel "Ordner anch bestimtmen Dateien durchsuchen" redaktionell angepasst, Beitrag auf "gelöst" gesetzt und geschlossen.
Aber heir erstmal mein code (bin erst neu, würde mich über Verbesserungen sehr freuen)
@ECHO OFF
CLS
Setlocal
SET BATCH_DIR=C:\BATCH\
SET ORDNEN=C:\BATCH\ordnen\
SET GEORDNET=C:\BATCH\geordnet\
dir %ORDNEN% /S /A:D /O:N /B>%BATCH_DIR%FOLDERS.TXT 2>nul
for /f "tokens=1*" %%a IN (%BATCH_DIR%FOLDERS.TXT) DO (
ECHO - %%a
IF EXIST %%a\*.r*
(
ECHO ^> ..RARs existieren
ECHO ^> ..Dateien werden kopiert
cd /d %GEORDNET%
md %%a
XCOPY /S /C %%a %GEORDNET%
rd /s /q "%%a"
)
IF EXIST %ORDNEN%%%a\*.z* (
ECHO ^> ..Dateien zum Entpacken exisiteren
ECHO ^> ..Verzeichnis und Dateien werden kopiert
cd /d %GEORDNET%
XCOPY /S /C /Q %%a %GEORDNET%
rd /s /q "%%a"
ECHO ^> ..Altes Verzeichnis wurde geloescht
)
)
#DEL %BATCH_DIR%FOLDERS.TXT
ECHO Alle Operationen wurden ausgeführt. Es wurden %ANZAHL% Verzeichnisse verschoben.
ECHO Ihre Dateien befinden sich im Ornder: %GEORDNET%
PAUSE
Wenn also eine Datei mit der Endung .z* vorhanden ist, soll er den ordner MIT seienr kompletten Struktur in ein neues Verzeichnis kopieren.. also es soll dann so aussehen "C:\BATCH\geordnet\ordner_1\test\1.zip"
Mein script fuznt an dieser Stelle nicht,d a ich nicht weiß, wie ich der abt die Zieldatei angeben soll/kan, da ich in der FOLDERS:TXT Datei einträge mit dem laufwerskbuchstaben habe.
Ich habe mir gedacht, dass ich einfach das C:\BATCH\ lösche, sodass n ur der rest übrig bleibt.. aber auch das bekomme ich nicht hin
Wenn irh mir eine Lösung schreiben könntet, wäre das super entt. Ich würde mich rieseig freuen.. Es wäre auchs chön, wenn ihr mich auf etweilige Fehler aufmerksam machen könntet
ALso nochmals Danke
mfg
Hackse
[Edit Biber 18.8.2007]
Originaltitel "Ordner anch bestimtmen Dateien durchsuchen" redaktionell angepasst, Beitrag auf "gelöst" gesetzt und geschlossen.
Please also mark the comments that contributed to the solution of the article
Content-Key: 66411
Url: https://administrator.de/contentid/66411
Printed on: May 4, 2024 at 14:05 o'clock
4 Comments
Latest comment
Hier mal meinen Vorschlag, wenn ich deine Batch richtig verstanden habe, um das ganze etwas kleiner zu gestalten (ungetestet):
miniversum
@ECHO OFF
CLS
Setlocal
SET BATCH_DIR=C:\BATCH\
SET ORDNEN=C:\BATCH\ordnen\
SET GEORDNET=C:\BATCH\geordnet\
REM Erst alle rar
dir %ORDNEN%*.r* /S /A-D /ON /B>%BATCH_DIR%FOLDERS.TXT 2>nul
for /f "delims=" %%a IN (%BATCH_DIR%FOLDERS.TXT) DO call:domove "%%~dpa"
REM dann alle zip
dir %ORDNEN%*.z* /S /A-D /ON /B>%BATCH_DIR%FOLDERS.TXT 2>nul
for /f "delims=" %%a IN (%BATCH_DIR%FOLDERS.TXT) DO call:domove "%%~dpa"
goto:eof
:domove
set "quelle=%1"
set ziel=%quelle:ORDNEN=GEORDNET%
md %ziel%
xcopy "%quelle%*.*" "%ziel%" /c /s /e /r /v /d /y /i /h /f /o /x
rd /s /q "%quelle%"
miniversum