Batch soll alle Unterordner durchsuchen, beginnend einem Ordner über ihrem Pfad
Ich möchte mit einer Batch alle Ordner(samt aller Verzeichnistiefen) nach einer Datei durchsuchen. Dort soll dann etwas hinkopiert werden.
Ich kann das Verzeichnis, wo die Batch(Test\#Im) liegt ja definieren =%~dp0.
Dann kann ich mit .. ja einen Ordnerbaum höher wechseln.
Dort muss ich dann alle Ordner samt Unterordnern durchsuchen. Jedoch wird auch immer der #Im-Ordner mitdurchsucht. Genau das möchte ich aber nicht.
Es soll nur der Ordner Test und all seine Unterordner durchsucht werden. Bis auf einen Unterordner: #Im.
Wie stelle ich das an?
lieben Dank!
Ich kann das Verzeichnis, wo die Batch(Test\#Im) liegt ja definieren =%~dp0.
Dann kann ich mit .. ja einen Ordnerbaum höher wechseln.
Dort muss ich dann alle Ordner samt Unterordnern durchsuchen. Jedoch wird auch immer der #Im-Ordner mitdurchsucht. Genau das möchte ich aber nicht.
Es soll nur der Ordner Test und all seine Unterordner durchsucht werden. Bis auf einen Unterordner: #Im.
Wie stelle ich das an?
lieben Dank!
Please also mark the comments that contributed to the solution of the article
Content-ID: 671650
Url: https://administrator.de/forum/batch-soll-alle-unterordner-durchsuchen-beginnend-einem-ordner-ueber-ihrem-pfad-671650.html
Printed on: May 12, 2025 at 11:05 o'clock
6 Comments
Latest comment
Zitat von @o0Julia0o:
Das erhalte ich von der Kommandozeile zurück:
"Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
0 Datei(en) kopiert."
Am Ende des Quellpfades fehlen die abschließenden Anführungszeichen. Zudem solltest du auch den Zielordner in Anführungszeichen setzen, damit das Ganze auch bei Leerzeichen im Pfad funktioniert.copy /Y "%sourceDir%\*.* %%~dpA
"Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
0 Datei(en) kopiert."
copy /Y "%sourceDir%\*.*" "%%~dpA"
Zitat von @o0Julia0o:
Danke! Sollte nicht in der Test.txt nach dem Ausführen eine "22" stehen?
Nein, der Pfad ist nun falsch. "%%A" ist ja bereits der Pfad der test.txt. "%%~dpA" ist der Ordner, in dem die test.txt liegt.Danke! Sollte nicht in der Test.txt nach dem Ausführen eine "22" stehen?
echo %NEW_ID% > "%%A\test.txt"
D.h. du hast nun versucht, die 22 in den Pfad "<Hauptordner>\test.txt\test.txt" zu speichern. Richtig müsste es so lauten:
echo %NEW_ID% > "%%~A"
>"%%~A" echo %NEW_ID%