richters
Goto Top

Vbs Script zum suchen nach pdf

Hy Community

mein Prob ist ich habe null kenntnisse in vbs.

Suche aber nach einer möglichkeit in einer ordnerstruktur nach pdf Dateien mit dem datum von gestern zu suchen.
Und die gefundenen Dateien sollen dann automatisch in einen bestimmten ordner kopiert werden.
Dann soll aus al diesen PDF´s ein einzelnes erstellt werden und auf den desktop eines bestimmten pcs kopiert werden und der ordner wo die einzelnen kopien drinne lige sollen wieder geslöscht werden.

ich hoffe das ist nicht allzu verwirrend aber ich find keinen ansatz wie ich beginnen soll und daher frage ich euch ob ihr was wisst.

mit freundlichen Grüßen

sascha

Content-Key: 197771

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

Ausgedruckt am: 10.05.2024 um 19:05 Uhr

Mitglied: bastla
bastla 28.01.2013 um 12:18:04 Uhr
Goto Top
Hallo RichterS!

Bei dieser Aufgabenstellung würde ich VBS einzig und allein für das Ermitteln des gestrigen Datums einsetzen - der Rest lässt sich per Batch (und für das Zusammenfügen per pdftk) erledigen ...

Im übrigen ist Deine Beschreibung eher vage:
  • Wo soll nach den Dateien gesucht werden (in den Unterordnern einer Ebene oder rekursiv in allen Unter-Unter-Unterordnern)?
  • Muss beim Zusammenfügen eine bestimmte Reihenfolge eingehalten werden?
  • Da die kopierten Dateien nach dem Zusammenfügen wieder gelöscht werden sollen, wäre es eigentlich nicht nötig, sie in einen (nicht näher) "bestimmten" Ordner zu kopieren ...
  • Auf welchem Rechner läuft das Script ab, auf welchen "Desktop" soll das Ergebnis kopiert werden ("All Users" oder bestimmter User - ein "Rechner" hat an sich keinen eigenen Desktop)?

Grüße
bastla
Mitglied: RichterS
RichterS 28.01.2013 um 12:41:18 Uhr
Goto Top
hy

also die ordner struktur sieht ungefähr so aus C:\test\ und in dem test gibts mehrere unterordner die mit pdfs gefüllt sind
und in den unterordnern soll gesucht werden.

nein es muss keine reihenfolge einzuhalten sein.

ok wenn das geht mit dem nicht erst kopieren dann kann der schritt weg

das script soll auf einem client pc gestartet werden -> auf einen server zugreifen und dort das mit den pdfs machen -> und die ausgabe soll dann wieder auf dem client pc sein
Mitglied: bastla
bastla 28.01.2013 um 18:01:16 Uhr
Goto Top
Hallo RichterS!
ok wenn das geht mit dem nicht erst kopieren dann kann der schritt weg
Nein, kopiert soll werden, es war aber gemeint, dass Du zwar keinen Ordner genannt hast, es aber auch eigentlich egal ist, welcher Ordner verwendet wird (wenn ohnehin die Dateien wieder gelöscht werden sollen) - ich würde dafür eher den lokalen %TEMP%-Ordner nehmen, Du möchtest anscheinend die Dateien am Server belassen ...
das script soll auf einem client pc gestartet werden -> auf einen server zugreifen und dort das mit den pdfs machen -> und die ausgabe soll dann wieder auf dem client pc sein
Demnach soll die Gesamtdatei auf dem Desktop des aktuellen Benutzers (der das Script ausführt) landen?

Grüße
bastla
Mitglied: RichterS
RichterS 29.01.2013 um 12:33:20 Uhr
Goto Top
hy

genau so ist es der nutzer der die abfrage startet soll auch die ausgabe bekommen.
hast du eine ungefähre idee wie das laufen könnte ?

mfg

sascha
Mitglied: bastla
bastla 29.01.2013 aktualisiert um 15:13:17 Uhr
Goto Top
Hallo RichterS!

Schematisch etwa so:
@echo off & setlocal
set "Basis=\\Server\Share"  
set "Ziel=%userprofile%\Desktop\Zusammenfassung.pdf"  
set "TempOrdner=\\Server\TempShare"  
set "pdftk=C:\Programme\pdftk.exe"  

set "gTemp=%Temp%\Gestern.vbs"  
>%gTemp% echo WScript.Echo DateAdd("d",-1,Date)  
for /f %%i in ('cscript //nologo "%gTemp%"') do set "Gestern=%%i"  

for /r "%Basis%" %%i in (*.pdf) do for /f %%d in ("%%~ti") do if "%%d"=="%Gestern%" echo copy "%%i" "%TempOrdner\"  
del "%Ziel%" 2>nul  
echo "%pdftk%" "%TempOrdner%\*.pdf" cat output "%Ziel%"  
del "%TempOrdner%\*.pdf" 2>nul  
pause
In den Zeilen 11 und 13 sorgt das jeweilige "echo" dafür, dass zunächst nur angezeigt wird, was bei Weglassen der beiden "echo" dann tatsächlich ausgeführt wird.

Die Pfade/Dateinamen in den Zeilen 2 bis 5 musst Du natürlich an Deine Gegebenheiten anpassen.

Grüße
bastla
Mitglied: RichterS
RichterS 29.01.2013 um 13:10:53 Uhr
Goto Top
hy

herzlichsten dank dafür werde das gleich mal testen
Mitglied: RichterS
RichterS 30.01.2013 um 07:55:59 Uhr
Goto Top
hy bastla

vielen vielen dank für deine superschnelle hilfe hat super geklappt