zeroblue2005
Goto Top

Batch Ordner1 suchen und bestimmte Dateien aus Ordner2 in Ordner1 kopieren

Hallo Zusammen,

ich benötige ein Batch, die einen Ordner auf der Festplatten C:\ D:\ oder E:\ sucht, inkl. Sub-DIRs. Dieser Ordner hat einen Namen der immer gleiche Wörter enthält, z.B. so: "Daten-fuer-dich" oder "Für dich die Daten", also leerzeichen.

Nach dem Suchen und wenn dieser gefunden wurde, soll der Daten-Inhalt aus einem statischen Pfad, der PDFs enthätlt in den gefunden Ordner kopiert werden, mit Parameter überschreiben und ohne Rückfragen.

Das hier habe ich schon mal gefunden.

set Verz= "D:\"  
for /R %Verz% /D %%a in (*test1*test2*) do (xcopy %%a\*.pdf %Verz%)

Das dumme ist nur, er durchsucht nicht die Unter-DIRs tief genung und ich vermute mal, dass wenn der Ordnername, statt "*test1*test2*" *test2*test1*" heisst, wird er den Ordner nicht finden!

Danke

Content-ID: 491115

Url: https://administrator.de/forum/batch-ordner1-suchen-und-bestimmte-dateien-aus-ordner2-in-ordner1-kopieren-491115.html

Ausgedruckt am: 20.04.2025 um 02:04 Uhr

140913
Lösung 140913 04.09.2019 aktualisiert um 10:24:47 Uhr
Goto Top
for /f "delims=" %%a in ('dir /b /s /ad "D:\" ^| findstr /i "\\.*test1.*$ \\.*test2.*$"') do copy "F:\daten\*.pdf" "%%~a"  
oder gleich mit der Powershell
gci "D:\" -Recurse -Directory -Include *test1*,*test2* | %{copy 'F:\daten\*.pdf' -destination $_.Fullname -verbose}  
zeroblue2005
zeroblue2005 04.09.2019 um 19:29:48 Uhr
Goto Top
Hallo Psuser,

super genau das habe ich gesucht. Ich habe ihn auch direkt ausprobiert. Klappt auch so weit. Ein paar Fragen habe ich jedoch noch face-wink

Das ist die Schleife inkl. Parameter mit D:\ als Pfad, wo er suchen soll, richtig?
for /f "delims=" %%a in ('dir /b /s /ad "D:\"  

Das sind die Suchkriterien oder? Wobei du hier zwei zwei Werte schen lässt als, suche Ordnername mit: test1 oder test2. Sprich, würde der Ordnername 1234test1abc heissen, würde er diese finden, unabhängig von groß u. Kleinschreibung.

Ich frage mich nur, was bedeutet: der Punkt vor dem * vorne und inten Punkt * inkl. $ ? Was ist wenn ich nach z.B. "test 123" suchen lasse, also Leerzeichen?
findstr /i "\\.*test1.*$ \\.*test2.*$"')  

Das ist das Quelverzeichnissen mit den PDFs, richtig?
do copy "F:\daten\*.pdf  

Danke
zeroblue2005
zeroblue2005 04.09.2019, aktualisiert am 05.09.2019 um 07:31:42 Uhr
Goto Top
OK, habe mal Google befragt. So weit alles verstanden nur das mit den Leerzeichen Paramter /C komme ich nicht weiter...

findstr /i /c "\\.*test2.*$"')  

Mir reicht hier erst mal ein Suchkriterium... Wie suche ich den jetzt nach dem Ordner: "Daten für dich" , also wenn ein Leerzeichen enthalten ist?

Danke
zeroblue2005
zeroblue2005 05.09.2019 um 20:36:14 Uhr
Goto Top
Hat sich erledigt! face-smile Danke
140913
140913 05.09.2019 aktualisiert um 22:59:21 Uhr
Goto Top
Na also geht doch, man muss euch nur mal a bisl Zeit lassen 8-).
zeroblue2005
zeroblue2005 06.09.2019 um 18:11:56 Uhr
Goto Top
Mit dir wäre es schneller gegangen...
140913
140913 06.09.2019 aktualisiert um 19:01:36 Uhr
Goto Top
Zitat von @zeroblue2005:
Mit dir wäre es schneller gegangen...
Hättest dann aber nur abgeschrieben und nichts von gelernt.
zeroblue2005
zeroblue2005 06.09.2019 um 19:08:06 Uhr
Goto Top
Ne da liegst du falsch, ich schaue mir das schon gut an. Die Informationsgewinnung war aber intensiver, da haste recht.

Du hast mir aber weiter geholfen...