mrbonsai
Goto Top

Batch die anhand von PDFs Ordner erstellt und diese reinkopiert

Hallo Leute,

ich habe momentan ein kleines Problem. Ich habe sehr viele verschiedene PDFs die ich momentan per Hand immer in einen Ordner packen muss, der Ordnername ist dabei immer gleich der PDF. Das Ganze muss gemacht werden, da ich dann immer noch zusätzliche PDFs die diesen Fall betreffen in diesem Ordner, bzw. mit der urspr. PDF zusammen archivieren muss.

Da ich manchmal über das Wochenende an die 100 neue PDFs bekomme habe ich mich gefragt ob man das nicht automatisieren kann. Bei Windows gibt es ja Batch, leider kenne ich mich hier zu wenig aus um zu wissen ob es funktioniert.

Hier noch ein kleines Beispiel:


<<Download-Ordner>>

erstes.pdf
zweites.pdf
drittes.pdf


Das muss ich, wie folgt archivieren

<<Hauptarchiv>>
<<erstes>> erstes.pdf
<<zweites>> zweites.pdf
<<drittes>> drittes.pdf
.....


Ich hoffe ihr könnt mir hierbei helfen!

Content-ID: 193531

Url: https://administrator.de/forum/batch-die-anhand-von-pdfs-ordner-erstellt-und-diese-reinkopiert-193531.html

Ausgedruckt am: 09.04.2025 um 12:04 Uhr

bastla
bastla 31.10.2012 aktualisiert um 09:41:59 Uhr
Goto Top
Hallo MrBonsai!

Sollte sich (ungetestet) etwa so lösen lassen:
@echo off & setlocal
set "Quelle=D:\Download-Ordner"  
set "Ziel=D:\Hauptarchiv"  

for %%i in ("%Quelle%\*.pdf") do (  
    md "%Ziel%\%%~ni" 2>nul  
    echo move "%%i" "%Ziel%\%%~ni"  
)
pause
Bitte beachten: Wenn es in einem bestehenden Ziel-Ordner bereits eine gleichnamige Datei gibt (also etwa in "Hauptarchiv\erstes" eine "erstes.pdf" enthalten ist) und im "Download"-Ordner eine weitere "erstes.pdf" ankommt, wird die sich im Ziel-Ordner befindende Datei ohne Rückfrage überschrieben.

Für das Testen ist das allerdings noch durch das "echo" in Zeile 7 entschäft, da dadurch zunächst überhaupt keine Dateien verschoben, sondern die Verschiebe-Befehle nur angezeigt werden; die Zielordner werden aber bereits erstellt.

Grüße
bastla
MrBonsai
MrBonsai 31.10.2012 um 09:53:16 Uhr
Goto Top
Wow, das ging erstens schnell und funktioniert echt super!! Danke für die Hilfe!
Metzger-MCP
Metzger-MCP 31.10.2012 aktualisiert um 10:12:57 Uhr
Goto Top
Moin Bonsai

@for /f "delims=" %%i IN ('dir /A:-d /b c:\xxx\*.pdf') DO @md "%%~dpni" & move "%%~dpnxi" "%%~dpni\"

c:\xxx\stellt den Pfad da wo die Datein liegen ...

ist ein Einzeiler ...

LG Uwe

p.s. hatte erst noch getestet face-smile
bastla
bastla 31.10.2012 aktualisiert um 10:27:09 Uhr
Goto Top
@ Metzger-MCP
hatte erst noch getestet face-smile
Hast Du auch getestet, was passiert, wenn der Batch nicht aus dem Quellpfad (und es gäbe auch abweichend davon noch einen gewünschten Zielpfad zu berücksichtigen) heraus gestartet wird ("dir /b" ohne "/s" liefert nur Dateinamen, keine Pfade)?

Und nur als Anmerkung: Abgesehen davon, dass damit "%%i" genügen würde, lässt sich "%%~dpnxi" auch etwas eleganter "%%~fi" schreiben ...

Grüße
bastla