Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ordner überwachen und Tabelle mit Ergebnis anlegen (PDF-Dateien)

Mitglied: baerbel99

baerbel99 (Level 1) - Jetzt verbinden

06.11.2011 um 07:14 Uhr, 4008 Aufrufe, 5 Kommentare

Hallo liebes Forum,

ich habe folgendes Problem zu lösen:

Wir speichern automatisiert PDF-Dateien in einem Verzeichenis (D:/Druck). Ich hätte gerne eine Übersicht in einer Tabelle (gerne xls oder csv), die enthält:

Dateiname, Erstellzeitpunkt (Datum und Uhrzeit) und die Seitenanzahl des Dokuments

Dieser Vorgang soll einmal täglich per Task erfolgen.

Wer kann mir helfen? Lieben Dank und Viele Grüße
Mitglied: 60730
06.11.2011 um 10:16 Uhr
moin,

normalerweise müßte jetzt die Nummer vom Ross und Reiter kommen, aber seis drum...

  • schau dir mal die Hilfe von For an for /?
Da wirst du z.B %~tI - Erzeugt Datum und Zeit von %I. lesen.

  • Jetzt schaust du dir auch mal dir /? genau an

Und das bedeutet z.B
for /f %a in ('dir *.pdf /B /A-D /TC') do echo %a;%~ta

  • Wie du das nun zu einer Batch zusammenbauen kannst - versuch mal alleine.
PS: Seitenzahlen einer PDF Datei bekommst du nur mit 3rd party Werkzeugen raus.
PDFTK sei dir da nahegelegt.

Gruß
Bitte warten ..
Mitglied: bastla
06.11.2011 um 10:41 Uhr
@T-Mo
dir /B
wird eher wenig Freude machen - es wird ja trotzdem nur der Dateiname geliefert, und die ausgelesene Zeit ist der "Geändert"-Timestamp ...

... daher eher so:
for /f "tokens=1-2" %%a in ('dir /tc Datei.pdf|findstr /i /e /c:"Datei.pdf"') do set "DateCreated=%%a" & set "TimeCreated=%%b"
Grüße
bastla

P.S.: Und weil der Link zu den Downloads etwas ungewöhnlich benannt ist: Download pdftk
Bitte warten ..
Mitglied: bastla
06.11.2011 um 11:16 Uhr
... obwohl: Die PDF-Datei sollte ja in den Metadaten einen eigenen Erstellungs-Timestamp enthalten - dann wird's aber etwas kniffliger, daher gleich ein kompletter (kaum getesteter ) Ansatz:
01.
@echo off & setlocal
02.
set "Ordner=D:\Druck"
03.
set "Liste=D:\PDF-Liste_%date:~-4%-%date:~-7,2%-%date:~-10,2%.txt"
04.
set "Trenn=;"
05.
::Pfad zur installierten "pdftk.exe"
06.
set "pdftk=C:\Utils\pdftk.exe"
07.
set "Data=%temp%\PDF-Data.txt"
08.

09.
del "%Liste%" 2>nul
10.
for %%i in ("%Ordner%\*.pdf") do call :ProcessFile "%%i"
11.
del "%Data%"
12.
goto :eof
13.

14.
:ProcessFile
15.
:: Metadaten auslesen und zwischenspeichern
16.
%pdftk% %1 dump_data>"%Data%"
17.
:: Seitenanzahl auslesen
18.
for /f "tokens=2" %%a in ('findstr "NumberOfPages:" "%Data%"') do set "Seiten=%%a"
19.

20.
set "ZeilenNr=" & set "Zeile=" & set "Erstellt=nicht gefunden"
21.
:: ZeilenNr für "CreationDate" suchen - Datum sollte in der nächsten Zeile stehen
22.
for /f "delims=:" %%a in ('findstr /n /c:"InfoKey: CreationDate" "%Data%"') do set "ZeilenNr=%%a"
23.
:: Wenn Zeile gefunden, nächste Zeile auslesen
24.
if defined ZeilenNr for /f "delims=" %%a in ('more +%ZeilenNr% "%Data%"') do if not defined Zeile set "Zeile=%%a"
25.
:: Wenn nächste Zeile mit "InfoValue: D:" beginnt, Timestamp auslesen
26.
for /f "tokens=3 delims=:" %%a in ('echo %Zeile%^|findstr /b /c:"InfoValue: D:"') do set "Erstellt=%%a"
27.
:: Ausgabe
28.
>>"%Liste%" echo %~nx1%Trenn%%Erstellt%%Trenn%%Seiten%
29.
goto :eof
Das Ausgabeformat des Erstellungszeitpunktes ließe sich bei Bedarf natürlich noch anpassen ...

Grüße
bastla
Bitte warten ..
Mitglied: baerbel99
06.11.2011 um 15:50 Uhr
Vielen Dank an alle

@bastla: Genial - Einfach klasse
Leider verstehe ich nur etwas von php, da könnte ich den timestamp anpassen.
Wie erfolgt es hier? Mein Wunschformat wäre: DD.MM.YYYY, HH:MM:SS

Wenn möglich, dann würde ich gerne doch eine Liste pro Monat führen (so ist die Summierung einfacher).

Die erforderliche Anpassung wäre:

set "Liste=D:\druck\PDF-Liste_%date:~-4%-%date:~-7,2%"

---
Aber: Wie bekomme ich es hin, dass die Batch am nächsten Tag nur anhängt, also die Datei fortschreibt, nicht aber die Datei überschreibt?
Eigentlich sollte es ja durch die
01.
 >> 
funktionieren - Tut es aber leider nicht.

EDIT:
Das habe ich nun gelöst: Die Zeile
01.
del "%Liste%" 2>nul
habe ich entfernt

---



Viele Grüße,
Bitte warten ..
Mitglied: bastla
06.11.2011 um 16:36 Uhr
Hallo baerbel99!
Mein Wunschformat wäre: DD.MM.YYYY, HH:MM:SS
Sollte so gehen (vor Zeile 28 einfügen):
set "Erstellt=%Erstellt:~6,2%.%Erstellt:~4,2%.%Erstellt:~0,4%, %Erstellt:~8,2%:%Erstellt:~10,2%:%Erstellt:~12,2%"
Wie bekomme ich es hin, dass die Batch am nächsten Tag nur anhängt, also die Datei fortschreibt, nicht aber die Datei überschreibt?
Indem Du Zeile 9 entfernst / auskommentierst ...

Wenn Du dann auch noch doppelte Einträge vermeiden wolltest, könntest Du Zeile 28 durch
01.
set "Eintrag=%~nx1%Trenn%%Erstellt%%Trenn%%Seiten%"
02.
findstr /x /c:"%Eintrag%" "%Liste%">nul 2>nul||>>"%Liste%" echo %Eintrag%
ersetzen ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Ergebnis in Text datei ausgeben
gelöst Frage von XcaschoXBatch & Shell2 Kommentare

Hallo, irgendwie stehe ich auf dem schlauch. Habe folgende Batch erstellt, aber der Text wier immer überschrieben. Das ergebnis ...

Batch & Shell

Sobald PDF-Datei im Verzeichnis PDF-Datei ausdrucken

Frage von SwisterBatch & Shell14 Kommentare

Hallo, Ich habe ein kleines Programm geschrieben, dass mir sobald eine PDF-Datei im Verzeichnis vorhanden ist diese ausdruckt und ...

Windows 7

Benutzer in PDF Datei

Frage von JonasHEWWindows 75 Kommentare

Hallo zusammen, ich habe das Problem, dass ich herausfinden muss, welche Benutzer aktuell eine bestimmte PDF Datei aus dem ...

Batch & Shell

PDF Datei erzeugen über Kommandozeile

gelöst Frage von Xaero1982Batch & Shell6 Kommentare

Moin Zusammen, ich erstelle mithilfe einer kleinen PHP Datei eine HTML Datei. Diese soll anschließend in eine PDF Datei ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 2 TagenWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 2 TagenHumor (lol)8 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 2 TagenSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 3 TagenInternet6 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet22 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office20 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...

Hyper-V
Setup zu 2019 Hyper-V Coreserver gesucht
Frage von DerWoWussteHyper-V17 Kommentare

Moin. Ich habe unter die Möglichkeit, Hyper-V-Server 2012 R2 runterzuladen! Tolle Wurst, Microsoft! Nehme ich eine andere Quelle, nämlich ...