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 Datei Eigenschaften per Batch ändern

Mitglied: Valume91

Valume91 (Level 1) - Jetzt verbinden

30.08.2011, aktualisiert 18.10.2012, 13785 Aufrufe, 27 Kommentare

Benötige Hilfe bei einer Batch Datei.

Hallo zusammen

Folgendes Szenario:
Ich habe in einem Ordner hunderte PDF Dateien.
Diese sind wie folgt aufgebaut (Beispiele):
"327209 3_29_0334.pdf"
"328644 3_27_0064.pdf"
"328644 3_29_0005 A.pdf"
"3_29_0001 1.pdf"
"3_28_0009.pdf"

Nun möchte ich ein Script schreiben welches jeweils den folgenden Teil:
Bsp. 3_29_0005
des Dateinamens nimmt und bei den Eigenschaften der Datei als Titel einträgt.

Das auslesen des genannten Teils könnte ich mit meinen knappen Batch Kentnissen schaffen,
allerdings habe ich keine Ahnung wie ich den Titel des Dokuments bearbeiten kann.

MfG Valume
27 Antworten
Mitglied: 60730
30.08.2011 um 15:41 Uhr
moin,

zum Thema "stricken mit und um PDF Dateien" kann ich dir nur den Rat geben


Aber - ok du schreibst das du das schon gelöst hast...

Nun möchte ich ein Script schreiben welches jeweils den folgenden Teil:
*__** (Bsp. 3_29_0005)

Wie du von
3_29_0005 auf  *__** 
kommst - das verstehe ich nicht wirklich.....

Gruß
Bitte warten ..
Mitglied: Skyemugen
30.08.2011 um 15:47 Uhr
Zitat von 60730:
Wie du von
3_29_0005 auf  *__** 
kommst - das verstehe ich nicht wirklich.....

Aloha T-Mo,
[OT]
weil deine Augenklappe vom Avatar zu eng sitzt *stänker*

Ist doch nur ein zu schneller Tipper von *_*_* zu *__** - das fehlende Korrekturlesen kann man ihm jetzt vorwerfen aber das kann man vielen Leuten hier, die Threads erstellen
[/OT]
greetz André
Bitte warten ..
Mitglied: Valume91
30.08.2011 um 15:49 Uhr
Hi TimoBeil

Sorry mein (?) Fehler.
Sollte eigentlich heissen:
1_11_1111 (ersetzte die 1en durch *e)

Was du genau mit PDFTK bewirken willst verstehe ich allerdings nicht.
Ich möchte blos ein Teil des Dateinamens als Titel der Datei speichern (Rechtsklick--> Eigenschaften --> Dateiinfo).
Da spielt es keine Rolle ob das nun ein pdf oder ein txt file ist.

Aber vieleicht verstehe ich dich auch falsch.

lg Valume
Bitte warten ..
Mitglied: 99045
30.08.2011 um 15:53 Uhr
gelöscht. Irgendwie war da im letzten Beitrag des TE der Wurm drin.
Bitte warten ..
Mitglied: 99045
30.08.2011 um 16:09 Uhr
Zitat von Valume91:
Das auslesen des genannten Teils könnte ich mit meinen knappen Batch Kentnissen schaffen,
Das halte ich für ein Gerücht, du schaffst es ja nicht einmal, vernüftig zu beschreiben, was du eigentlich im Dateinamen womit ersetzen willst.

allerdings habe ich keine Ahnung wie ich den Titel des Dokuments bearbeiten kann.
Vielleicht mit dem Programm, das dir TimoBeil genannt hat. Mit Batch jedenfalls nicht.
Bitte warten ..
Mitglied: rubberman
30.08.2011 um 16:16 Uhr
Hallo Valume91.

Per Batch auf die erweiterten Dateieigenschaften zuzugreifen geht IMHO garnicht.
Mit Bordmitteln kannst du VBScript benutzen, aber auch nur zum Lesen der Eigenschaften. Zum Schreiben / Ändern ist mir keine scriptbare Methode bekannt.
Sicher gibt es Tools, die du dir downloaden kannst und diese Arbeit für dich verrichten.

Grüße
rubberman
Bitte warten ..
Mitglied: Skyemugen
30.08.2011 um 16:24 Uhr
Zitat von Valume91:
Was du genau mit PDFTK bewirken willst verstehe ich allerdings nicht.
Ich möchte blos ein Teil des Dateinamens als Titel der Datei speichern (Rechtsklick--> Eigenschaften --> Dateiinfo).
Da spielt es keine Rolle ob das nun ein pdf oder ein txt file ist.

Aber vieleicht verstehe ich dich auch falsch.

Aloha,

vielleicht drückst du dich dann nicht genügend aus?

PDFTK kann Metadaten von PDF ändern, ich gehe davon aus, dass darunter auch Titel fällt, wenn du also im EP etwas von
Ich habe in einem Ordner hunderte PDF Dateien.
schreibst, wäre T-Mos Link genau das, was du benötigst.

Solltest du jedoch weitere Dateitypen haben, für dein Vorgehen, dürfte das nur mit VisualBasic (eventuell sogar VisualBasicScript) umsetzbar sein.

greetz André
Bitte warten ..
Mitglied: 60730
30.08.2011 um 16:36 Uhr
Servus,

ok - wenn es "so" ist...

Du brauchst:
*`ein Script, dass ~ sowas macht:

01.
If WScript.Arguments.Count <> 2 Then
02.
   msgbox "Aufruf so nicht richtig"
03.
Else
04.

05.
Dim Obj, File, Info
06.
Set Obj = WScript.Arguments
07.
File = Obj(0)
08.
Info = Obj(1)
09.
Set objFile = CreateObject("DSOFile.OleDocumentProperties")
10.
objFile.Open(File)
11.
objFile.SummaryProperties.Title = Info
12.
objFile.Save
13.
end if
Und ein anderes Script, das dieses mit cscript /nologo Dateiname Dateiinfo aufruft.

So jetzt hab ich da xxx minuten getestet, telefoniert und Gedöhnst, der Fred ist zu 99.9% eh erledigt - who cares...

gruß
Bitte warten ..
Mitglied: bastla
30.08.2011, aktualisiert 18.10.2012
@T-Mo
Danke für das DSO-Beispiel - [Edit] kannte ich auch noch nicht hatte ich seit damals glatt vergessen [/Edit] ...
Als Ergänzung zu Deinem Link oben: Abfragen und Aktualisieren der Meta-Informationen einer PDF-Datei

Grüße
bastla
Bitte warten ..
Mitglied: 60730
30.08.2011 um 17:24 Uhr
Servus Bastla

Zitat von bastla:
@T-Mo
Danke für das DSO-Beispiel - kannte ich auch noch nicht ...

  • jetzt - wo du es so schreibst ... Ich editiere das fehlende Info beim Dim noch dazu - ist mir weder beim schreiben noch beim Testen aufgefallen...

Grüße
Bitte warten ..
Mitglied: 99045
30.08.2011 um 17:47 Uhr
Zitat von rubberman:
Zum Schreiben / Ändern ist mir keine scriptbare Methode bekannt.

Keine? Auch nicht AutoIt?
Mit Rechtsklick auf die Datei > Eigenschaften > Dateiinfo
lassen sich auch alle Einträge bearbeiten.
Bitte warten ..
Mitglied: rubberman
30.08.2011 um 17:59 Uhr
Hallo Kaputtnick.

Ich hatte von "Bordmitteln" gesprochen. Da liegt T-MO's Variante noch am nächsten, obwohl auch dabei eine Erweiterung des ActiveX nötig ist.
Und ...
... die Eigenschaften per Hand zu ändern, hat nun so garnichts mit einer automatisierten Abhandlung des Problems zu tun.

Grüße
rubberman
Bitte warten ..
Mitglied: ovu-p86
30.08.2011 um 18:02 Uhr
Hallo Valume91,

mit BeCyPDFMetaEdit kannst du das realisieren. Da das Tool sowohl mit GUI-Oberfläche wie auch als
Kommandozeilentool funktioniert, kannst du per Batch die Metadaten ändern.

BeCyPDFMetaEdit

(Kl. Tipp: Das Programm muß zwar installiert werden, funktioniert aber auch portable wenn man den Programmordner
anschließend an eine beliebige Stelle kopiert/verschiebt. Habs damals erst installiert, den Programmordner
kopiert und dann wieder deinstalliert. Ich liebe portable Programme)


Gruß
Uwe


edit
ich weiß, sind keine Bordmittel. Aber da das Programm portable funktioniert doch fast
Bitte warten ..
Mitglied: 99045
30.08.2011 um 18:09 Uhr
Hallo, rubberman,

Ich hatte von "Bordmitteln" gesprochen.
Stimmt, im Satz davor, "keine scriptbare Methode" ist ein neuer Satz, den man auch für sich getrennt und unabhängig vom vorhergehenden betrachten kann und darf.

... die Eigenschaften per Hand zu ändern, hat nun so garnichts mit einer automatisierten Abhandlung des Problems zu tun.
Mit AutoIt ändert man nichts per Hand, sondern erstellt ein Script, dass die ganze Aktion für einen durchführt. Für mich ist das eine scriptbare Methode.
Du denkst doch sonst auch immer um 26 Ecken, um etwas fertigzustellen?

Gruß
Bitte warten ..
Mitglied: 99045
30.08.2011, aktualisiert 18.10.2012
Zitat von bastla:
hatte ich seit damals glatt vergessen.

So fängt's manchmal an: Dementia praecox
Bitte warten ..
Mitglied: rubberman
30.08.2011 um 18:30 Uhr
Hallo Kaputtnick,

das geht ähnlich auch mit VBScript und SendKeys. Aber sorry, das sind Krücken die ich nicht ernsthaft in Betracht ziehen würde Ist mit Sicherheit von der Windowsversion abhängig, wieviele Tabs und Pfeiltastenanschläge man simulieren müsste, um dort zu landen wo man es braucht. Und wenn das Fenster zwischendrin den Focus verliert ist Schluss mit lustig...

Grüße
rubberman
Bitte warten ..
Mitglied: bastla
30.08.2011 um 20:22 Uhr
Hallo @All!

Um das Ganze vielleicht einem Ende näher zu bringen: Unabhängig vom letztlich verwendeten Werkzeug könnte die Schleife drumherum etwa so aussehen:
01.
pushd "D:\Ordner mit den vielen PDF"
02.
for /f "delims=" %%i in ('dir /b *_*_*.pdf') do for %%a in (%%~ni) do echo "%%a"|findstr "_">nul && echo %%a ^<-- "%%i"
03.
popd
Grüße
bastla
Bitte warten ..
Mitglied: ovu-p86
30.08.2011 um 23:50 Uhr
Hallo,

hier Bastlas CMD mit dem Werkzeug "BeCyPDFMetaEdit"

01.
set progr=lfw:\dein ProgrPfad\BeCyPDFMetaEdit
02.
pushd "D:\Ordner mit den vielen PDF" 
03.
for /f "delims=" %%i in ('dir /b *_*_*.pdf') do for %%a in (%%~ni) do echo "%%a"|findstr "_">nul && echo %%a ^<-- "%%i" && "%progr%" "%%i" -T "%%a" -q
04.
popd
getestet, funktioniert


@bastla
dein CMD funktioniert natürlich wieder perfekt.
Brauche Hilfe um zu verstehen was in deinem CMD abgeht. Insbesondere der Part "echo %%a ^<-- "%%i". Was ist das?
Danke

Gruß
Uwe
Bitte warten ..
Mitglied: bastla
31.08.2011 um 00:10 Uhr
Hallo ovu-p86!
"echo %%a ^<-- "%%i". Was ist das?
Reine Effekthascherei - damit wird nur eine Demo-Ausgabe der Art
3_29_0005 <-- "328644 3_29_0005 A.pdf"
erzeugt - ursprünglich wollte ich das umgekehrt ausgeben (also "328644 3_29_0005 A.pdf" --> 3_29_0005), aber da der zweite Teil immer gleich lang ist, schien mir die andere Reihenfolge übersichtlicher ...

Kurz zum Ablauf (anhand des angeführten Beispiels):
Die erste Schleife liefert alle passenden ("*_*_*.pdf") Dateinamen als %%i (also "328644 3_29_0005 A.pdf")
Vom Namen (%%~ni = "328644 3_29_0005 A") wird nur der Teil mit den "_" benötigt -
dazu wird anhand der enthaltenen Leerzeichen zerlegt (for /f geht nicht, weil die Anzahl der Tokens unterschiedlich sein kann) - als %%a kommen daher nacheinander
01.
328644
02.
3_29_0005
03.
A
an.
Mit findstr "_" wird für jedes %%a geprüft, ob der richtige Teil dran ist (die Ausgabe interessiert dabei gar nicht und wird nach nul geschickt).
Nur, wenn "_" gefunden wurde, wird der Teil nach && (steht für "Voriger Befehl lieferte Errorlevel 0") ausgeführt.

Grüße
baatla
Bitte warten ..
Mitglied: ovu-p86
31.08.2011 um 00:55 Uhr
Hallo Bastla,

danke für die verständliche Erklärung.

Hatte auch schon überlegt wie man das realisieren kann wenn mal nichts, mal vor, mal hinter, mal sowohl
vor wie auch hinter dem zu extrahierenden Wert steht. Eine bestechend einfache Lösung.

Danke


Gruß
Uwe
Bitte warten ..
Mitglied: Valume91
13.09.2011 um 11:18 Uhr
Hallo miteinander

Danke für die Zahlreichen Antworten.
Ich habs mit dem von ovu-p86 vorgeschlagenen Tool BeCyPDFMetaEdit und der entsprechenden
Schleife von Bastla gelöst.
Hat perfekt funktioniert! Danke! =)

mfg Valume
Bitte warten ..
Mitglied: moonman-25
20.08.2014, aktualisiert um 18:40 Uhr
Hallo Bastla,

könntest Du mir eventuell auch helfen?
Habe ein Verzeichnis mit mehreren Unterverzeichnissen, darin die PDF Dateien verteilt.
Script sollte alle Verzeichnisse durchsuchen, die Metadaten aus allen PDF Dateien entfernen und als Titel den Dateinamen übernehmen.
Habe schon einige Versuche hinter mir - ohne Erfolg
Benutze auch das BeCyPDFMetaEdit.
Bitte warten ..
Mitglied: bastla
21.08.2014 um 18:00 Uhr
Hallo moonman-25 und willkommen im Forum!

Wie Du für Deinen Zweck "BeCyPDFMetaEdit" aufrufen und welche Parameter Du ggf übergeben musst, solltest Du selbst herausfinden können (ich selbst verwende das Tool nicht) - um alle *.pdf-Dateien zu erhalten, solte aber folgende Schleife genügen:
for /f "delims=" %%i in ('dir /s/b/a-d "D:\Dein Verzeichnis\*.pdf') do echo Gefunden: "%%~nxi" in "%%~dpi" (gesamter Pfad: "%%~fi")
Anstelle der Demo-Ausgabe mit "echo" müsstest Du den "BeCyPDFMetaEdit"-Aufruf setzen ...

Grüße
bastla
Bitte warten ..
Mitglied: moonman-25
21.08.2014 um 18:18 Uhr
Also ich bin schon so weit, dass das Programm alle Dateien von den Metadaten säubert, inkl. aller Dateien in den Unterordnern. Statt aber den Titel aus dem Dateinamen zu übernehmen, steht dann da bei mir immer $FileTitle$ als Titel.

Mein Script seht folgendermaßen aus:

C:\Users\Pfad\BeCyPDFMetaEdit.exe "C:\Users\Pfad\BeCyPDFMetaEdit-2.37.0-de\*.pdf" -s -S -A -K -R -P -C -M -X 1 -T $FileTitle$ -d 2

Mit deiner Schleife oben kann ich überhaupt nichts anfangen. Trotzdem Danke
Wenn Du noch einen Tipp hast, wäre ich Dir sehr dankbar.
Bitte warten ..
Mitglied: moonman-25
22.08.2014 um 08:39 Uhr
Sonst jemand eine Idee für mich?
Bitte warten ..
Mitglied: moonman-25
22.08.2014 um 14:07 Uhr
So, ich hab's

Falls es noch jemand brauchen sollte:

for /R %%I in (*.pdf) do lw:\pfad\BeCyPDFMetaEdit.exe "%%I" -T "%%~nI" -S -A -K -R -P -C -M -X 1 -d 2

Die PDF Dateien müssen sich in demselben Ordner befinden, wo es ausgeführt wird, können auch in verschiedenen Unterordnern darin liegen.
Bitte warten ..
Mitglied: bastla
22.08.2014 um 16:32 Uhr
Hallo moonman-25!
Die PDF Dateien müssen sich in demselben Ordner befinden, wo es ausgeführt wird
Das lässt sich ändern, indem entweder die Schleife aus meinem Ansatz von oben verwendet oder Deine Version auf
for /R "D:\Dein Verzeichnis" %%I in (*.pdf) do lw:\pfad\BeCyPDFMetaEdit.exe "%%I" -T "%%~nI" -S -A -K -R -P -C -M -X 1 -d 2
ergänzt wird ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Entwicklung
Eigenschaft durch Variable ersetzten
Frage von SunnyRainyDayEntwicklung4 Kommentare

Moin Zusammen, ich möchte zwei AD User Konten synchronisieren. Dies möchte ich möglichst mit einer Forech-Schleife realisieren. Leider tuts ...

Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
Batch Datei Ordnerüberwachung
Frage von Phant0xBatch & Shell1 Kommentar

Hallo zusammen, könntet ihr mir helfen eine Batch Datei zu schreiben, die einen bestimmten Ordner kontrolliert, ob sich Dateien ...

Batch & Shell
Batch-Datei erstellen
gelöst Frage von tocksickBatch & Shell2 Kommentare

Hallo liebe Gemeinde! Ich bin dabei eine Batch-Datei zu schreiben welche folgendes tun soll: Die Batch soll alle auf ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 2 StundenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 1 TagWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 3 TagenInternet5 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Windows 10

Netzwerk-Bug in allen Windows 10-Versionen durch Januar 2019-Updates

Information von kgborn vor 3 TagenWindows 101 Kommentar

Nur ein kurzer Hinweis für Admins, die Windows 10-Clients im Portfolio haben. Mit den Updates vom 8. Januar 2019 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless15 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless15 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...

Netzwerkmanagement
Server bauen
Frage von JugendringNetzwerkmanagement11 Kommentare

Moin Moin, wir, der Jugendring sind ein ständig wachsender Verein mit vielen Unterprojekten. Da liegt es nah, dass wir ...