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!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 671650
Url: https://administrator.de/forum/batch-soll-alle-unterordner-durchsuchen-beginnend-einem-ordner-ueber-ihrem-pfad-671650.html
Ausgedruckt am: 31.03.2025 um 06:03 Uhr
6 Kommentare
Neuester Kommentar
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%