christoph-muc
Goto Top

move batch

Hallo,

ich möchte .pdf Dateien automatisch in entsprechende Ordner einsortieren lassen.

Das heißt in einem Verzeichniss liegen Parallel mehrere pdf. zum beispiel XYZ-xyz-123-xy-R#TR.pdf und mehrere
Ordner z.B. XYZ-xyz-123-xy-R.

Nun soll automatisch das .pdf in den entsprechenden Ordner verschoben werden.

Lässt sich sowas mit nem Batch machen??

Danke

Christoph

Content-Key: 92650

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

Printed on: April 25, 2024 at 09:04 o'clock

Member: bastla
bastla Jul 22, 2008 at 13:01:17 (UTC)
Goto Top
Hallo christoph-muc und willkommen im Forum!

Fragen:
Die Trennung des Dateinamens erfolgt immer am "#"-Zeichen?
Soll bei Bedarf ein neuer Ordner erstellt werden?
Kann es in einem Ordner zu einer Kollision mit einer gleichnamigen (bereits vorhandenen) pdf-Datei kommen, und was soll dann geschehen?

Grüße
bastla
Member: christoph-muc
christoph-muc Jul 22, 2008 at 13:15:36 (UTC)
Goto Top
Wahnsinn, das geht ja schnell..face-wink)

Das pdf heißt immer ganz genau wie der Ordner, nur eben mit#TR hinten dran.

Neue Ordner sind nicht nötig

In dem Ordner gibts keine anderen pdf´s.

Wenns also das .pdf da drin ist bin ich schon glücklich...

Vielen Dank schon mal
Member: bastla
bastla Jul 22, 2008 at 13:27:16 (UTC)
Goto Top
Hallo christoph-muc!

Wenn es praktisch eine 1:1-Zuordnung gibt, könnte das mit einer Direkteingabe an der Kommandozeile so aussehen:
for %i in (D:\Ordner\*.pdf) do @for /f "delims=#" %a in ("%i") do @if exist "%a\" @echo move "%i" "%a\"  
Das "echo" vor dem "move" sorgt dafür, dass (zum Testen) der Verschiebebefehl nur angezeigt wird - wenn Du es weglässt, wird tatsächlich verschoben.

Falls Du einen Batch daraus machen willst, sind alle %i bzw %a als %%i und %%a zu schreiben.

Grüße
bastla
Member: christoph-muc
christoph-muc Jul 22, 2008 at 14:28:08 (UTC)
Goto Top
muss auf jeden Fall ein Batch sein, leider funktionierts noch nicht..

muss ich nur je ein % dazuschreiben??

Danke
Member: bastla
bastla Jul 22, 2008 at 14:31:19 (UTC)
Goto Top
Hallo christoph-muc!

Als Batch dann so:
@echo off & setlocal
for %%i in (D:\Ordner\*.pdf) do for /f "delims=#" %%a in ("%%i") do if exist "%%a\" echo move "%%i" "%%a\"  
Voraussetzung für das Verschieben ist, dass der Zielordner bereits existiert.

Grüße
bastla
Member: christoph-muc
christoph-muc Jul 23, 2008 at 12:13:54 (UTC)
Goto Top
Super gebastelt bastla face-wink

Ich dank dir schön!!