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-Key: 491115

Url: https://administrator.de/contentid/491115

Printed on: April 19, 2024 at 18:04 o'clock

Mitglied: 140913
Solution 140913 Sep 04, 2019 updated at 08:24:47 (UTC)
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}  
Member: zeroblue2005
zeroblue2005 Sep 04, 2019 at 17:29:48 (UTC)
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
Member: zeroblue2005
zeroblue2005 Sep 04, 2019, updated at Sep 05, 2019 at 05:31:42 (UTC)
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
Member: zeroblue2005
zeroblue2005 Sep 05, 2019 at 18:36:14 (UTC)
Goto Top
Hat sich erledigt! face-smile Danke
Mitglied: 140913
140913 Sep 05, 2019 updated at 20:59:21 (UTC)
Goto Top
Na also geht doch, man muss euch nur mal a bisl Zeit lassen 8-).
Member: zeroblue2005
zeroblue2005 Sep 06, 2019 at 16:11:56 (UTC)
Goto Top
Mit dir wäre es schneller gegangen...
Mitglied: 140913
140913 Sep 06, 2019 updated at 17:01:36 (UTC)
Goto Top
Zitat von @zeroblue2005:
Mit dir wäre es schneller gegangen...
Hättest dann aber nur abgeschrieben und nichts von gelernt.
Member: zeroblue2005
zeroblue2005 Sep 06, 2019 at 17:08:06 (UTC)
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...