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 Dateinamen lesen, speichern und erzeugte Datei umbenennen

Mitglied: tom4080

tom4080 (Level 1) - Jetzt verbinden

07.05.2012 um 11:57 Uhr, 4316 Aufrufe, 4 Kommentare

Hallo,
ich bin hier neu und habe eine wahrscheinlich einfache Frage, komme aber selbst nicht weiter. Hier mein Problem:

Mit dem jpegextractor.java ist es möglich z.B. die in einer PDF-Datei enthalten Bilder zu extrahieren. Dazu folgendes kleines Skript (Bilder_extrahieren.cmd):

%~d0
cd %~p0
java jpegextractor %1

In dem die PDF-Datei auf die Bilder_extrahieren.cmd per Maus gezogen wird, werden im Verzeichnis die in der pdf-Datei enthaltenen jpg als output0.jpg, output1.jpg ... gespeichert. Ich möchte die Dateien nun automatisch so umbenennen, dass Sie den Namen der pdf-Datei mit einem nachgestellten Zähler erhalten - oder einfacher gesagt, "output0.jpg" soll geändert werden in "Name_der_pdf-0.jpg". Das Skript soll also erst den Dateinamen der pdf-Datei lesen und speichern. Dann die Bilder extrahieren und wenn dann die output0.jpg etc gespeichert sind, sollen diese umbenannt werden. Hört sich eigentlich nicht schwierig an, ich komme aber auch nach dem Lesen etlicher Forumsbeiträge nicht weiter.

Ich hoffe jemand kann mir helfen ??
Mitglied: bastla
07.05.2012 um 21:31 Uhr
Hallo tom4080 und willkommen im Forum!

Etwa so:
01.
@echo off & setlocal 
02.
cd /d "%~dp0" 
03.
java jpegextractor %1 
04.
for %%i in (output*.jpg) do set "ONr=%%~ni" & call :ProcessFile "%%i" "%~n1" 
05.
goto :eof 
06.
 
07.
:ProcessFile 
08.
ren %1 "%~2%ONr:*output=%%~x1" 
09.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: tom4080
09.05.2012 um 08:36 Uhr
Hallo bastla,
es funktioniert prima, genauso wie gewünscht. Herzlichen Dank!

ABER ich verstehe es nicht. Gibt es gute Literatur zum Thema Skriptprogrammierung?


Grüße, tom4080
Bitte warten ..
Mitglied: bastla
09.05.2012 um 10:38 Uhr
Hallo tom4080!

Literaturempfehlung habe ich leider kein zu bieten, aber zumindest eine kurze Erklärung zum Ablauf:
  • In Zeile 2 habe ich Deine bisherigen Zeilen 1 und 2 zuammengefasst - damit wird in das Verzeichnis gewechselt, in dem sich die Batchdatei selbst (%0) befindet - dadurch muss in weiterer Folge nur mehr mit Dateinamen, aber nicht mit Pfaden hantiert werden.
  • Sie Schleife in Zeile 4 geht alle jpg-Dateien, deren Name mit "output" beginnt durch, speichert nur den Namen (also ohne ".jpg") in der Variablen %ONr% und ruft für die weitere Verarbeitung das Unterprogramm ":ProcessFile" auf - dabei werden der komplette Dateiname sowie der Name (wieder ohne Typ, daher "'%~n1" der pdf-Datei übergeben und kommen im Unterprogramm als %1 und %2 an.
  • Die Zeile 8 bedeutet: Führe eine Umbenennung der als Parameter 1 übergebenen "output*.jpg"-Datei durch, wobei sich der neue Name zusammensetzt aus
    • %~2 (=pdf-Dateiname ohne umgebende Anführungszeichen - diese wurden bei der Übergabe gesetzt, um für den Fall vorzusorgen, dass sich im Dateinamen Leerzeichen befinden) plus
    • %ONr:*output=% - durch diese Schreibweise wird "output" am Beginn der Variablen %ONr% (in welcher ja "outputNummer steht) durch das was zwischen = und % steht (also nix ) ersetzt - damit bleibt nur noch die Nummer, und
    • %~x1, dre Dateiendung der übergebenen Datei (also ".jpg")
  • Das "goto :eof" in Zeile 5 sorgt dafür, dass nach dem Durchlaufen aller gefundenen "output*.jpg" der Batch endet (und nicht nochmals das Unterprogramm ausgeführt wird), und jenes in Zeile 9 signalisiert das Ende des Unterprogrammes (ist hier eigentlich überflüssig, da es danach ohnehin keine weiteren Batchzeilen gibt).

Grüße
bastla
Bitte warten ..
Mitglied: tom4080
09.05.2012 um 11:23 Uhr
Hallo bastla,
nochmals besten Dank!

Grüße, tom4080
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Umbenennen entpackter Dateien nach Dateinamen der rar- zip-Datei

Frage von windows-nutzerBatch & Shell

Hallo zusammen, ich habe nachfolgenden Code, der mir verpackte Dateien entpackt. Da ich jedoch mehrere Dateien habe, die ich ...

Windows Tools

Dateinamen automatisch umbenennen

Frage von chrisschmitt93Windows Tools2 Kommentare

Hallo zusammen, könnte mir freundlicherweise einer ein Skript zukommen lassen , das automatisch alle Ä in AE ,Ö ind ...

Batch & Shell

Dateinamen mit Powershell umbenennen ???

gelöst Frage von lexuraBatch & Shell2 Kommentare

Hallo, Ich benötige ein Script mit dem ich eine MP3 Sammlung umbenennen kann. Die Dateien lauten im Ursprung alle ...

Batch & Shell

Dateinamen Umbenennen nach Ersetzten

gelöst Frage von batchnewbieBatch & Shell9 Kommentare

Hallo, ich experimentiere ein wenig und bin ein einem Punkt, wo ich nicht weiter weiß. Ich lese ein Dateinamen ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)5 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...