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

Printed on: April 20, 2024 at 02:04 o'clock

Member: bastla
bastla Jan 28, 2013 at 11:18:04 (UTC)
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
Member: RichterS
RichterS Jan 28, 2013 at 11:41:18 (UTC)
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
Member: bastla
bastla Jan 28, 2013 at 17:01:16 (UTC)
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
Member: RichterS
RichterS Jan 29, 2013 at 11:33:20 (UTC)
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
Member: bastla
bastla Jan 29, 2013 updated at 14:13:17 (UTC)
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
Member: RichterS
RichterS Jan 29, 2013 at 12:10:53 (UTC)
Goto Top
hy

herzlichsten dank dafür werde das gleich mal testen
Member: RichterS
RichterS Jan 30, 2013 at 06:55:59 (UTC)
Goto Top
hy bastla

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