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 IPWünsch Dir wasWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Imagemagick Buchseiten teilen und umbenennen per Batch

Mitglied: NoNerd

NoNerd (Level 1) - Jetzt verbinden

16.07.2020 um 13:51 Uhr, 488 Aufrufe, 14 Kommentare

Moin zusammen,

bin hier superneu und hoffe geholfen zu werden .

Ich suche Hilfe beim teilen und umbenennen von gescannten Buchseiten. Am besten per Batch Aufruf.
Da ich scripte absolut nicht verstehe, hier mein anliegen.

Es sind diverse Ordner mit gescannten Buchseiten vorhanden. Jeweils zwei Buchseiten als ein Bild im Tif Format.
Mit Imagemagick ist es möglich Bilder genau zu halbieren, egal wie Groß das Eingangsbild ist. Also immer die Hälfte.
Wunsch ist es, die Bilder in diversen Unterordnern zu halbieren und den Dateinamen zu erweitern.
Imagemagick ist in den System-Variablen eingetragen. Befehle funktionieren aus beliebigen CMD Fenstern.
Der Befehl


halbiert alle Bilder eines Ordners aus dem der Befehl gestartet wurde und benennt sie in Cropped_00001.tif, Cropped_00002.tif, Cropped_00003.tif, usw..
Alle Dateien müssen hinterher wieder mit z.B. Total Commander oder Bulk Rename umbenannt werden. Recht mühsam.
Jetzt habe ich folgenden Code im Netz gefunden und als split.bat auf dem Desktop abgelegt.

Jedes Bild welche auf diese Datei gezogen wird, wird halbiert und der Dateiname um -L bzw. -R erweitert. Also nahezu perfekt, aber eben nur für jedes Bild einzeln.
Welche Variablen / Schalter erledigen das für alle Bilder in einem Ordner, bzw.
in allen Unterordnern eines Ordners?
Traum wäre, wenn alle neuen halbierten Seiten eine Ebene höher in einen, dem Dateinamen oder Vaterverzeichnis mit dem Zusatz _Geteilt, entsprechenden Ordner verschoben werden.

Ich bin sicher es geht, nur ich bin zu blöd dazu.

Für Anregungen und Hilfe jetzt schon mal Danke.
Mitglied: TK1987
LÖSUNG 16.07.2020, aktualisiert um 18:30 Uhr
Moin,

Zitat von NoNerd:
Ich suche Hilfe beim teilen und umbenennen von gescannten Buchseiten. Am besten per Batch Aufruf.
sowas heute noch mit Batch zu machen *würg*
Jedes Bild welche auf diese Datei gezogen wird, wird halbiert und der Dateiname um -L bzw. -R erweitert. Also nahezu perfekt, aber eben nur für jedes Bild einzeln.
Traum wäre, wenn alle neuen halbierten Seiten eine Ebene höher in einen, dem Dateinamen oder Vaterverzeichnis mit dem Zusatz _Geteilt, entsprechenden Ordner verschoben werden.
Entscheide dich mal... soll der neue Ordner nun wie das nun wie das Vaterverzeichnis+"_geteilt" oder wie der Dateiname+"_geteilt" heissen?

Habe jetzt einfach mal angenommen wie das Vaterverzeichnis...
Anstatt der Bilder ziehst du nun einfach den oder die Ordner, die verarbeitet werden sollen, auf die Batchdatei.

Gruß Thomas
Bitte warten ..
Mitglied: NoNerd
16.07.2020, aktualisiert um 17:03 Uhr
Hallo Thomas,

vielen Dank für Deine Lösung.
Vaterverzeichnis ist Prima.
Frage:
Es sind Punkte und Leerzeichen im Ordnernamen.
Jetzt wird der Ausgabeordner nach dem ersten Punkt abgeschnitten.
Bei den Dateien wird die Nummerierung nicht mitgenommen.
Es bleiben dann nur zwei Dateien übrig. Eine mit -L und eine mit -R.
Hast du dazu eine Idee?

Mit besten Grüßen
Carsten
Bitte warten ..
Mitglied: TK1987
16.07.2020, aktualisiert um 17:45 Uhr
Zitat von NoNerd:
Es sind Punkte und Leerzeichen im Ordnernamen.
Hast du dazu eine Idee?
Ja, die Punkte im Ordnernamen lassen den Ordnernamen wie einen Dateiname inkl. Erweiterung wirken, daher muss Zeile 9 von "%%~nC" auf "%%~nxC" abgeändert werden.

Habe es oben entsprechend angepasst.
Bitte warten ..
Mitglied: NoNerd
16.07.2020, aktualisiert um 17:56 Uhr
Super genial. Was ist Dein Getränk ?
Es hängt jetzt nur in einer Dauerschleife.
Die halbierten Dateien werden wieder geteilt.
Buch.1900_Grau_geteilt
Buch.1900_Grau_geteilt_geteilt
Buch.1900_Grau_geteilt_geteilt_geteilt
Danach hört es auf.
Ideen?
Zu Batch hast du "würg" kommentiert. Wie würdest du das handhaben?
Oder hab ich mich mit "Batch" falsch ausgedrückt?

Mit besten Grüßen
Carsten
Bitte warten ..
Mitglied: TK1987
16.07.2020 um 18:34 Uhr
Zitat von NoNerd:
Es hängt jetzt nur in einer Dauerschleife.
Die halbierten Dateien werden wieder geteilt.
So, dürfte nun behoben sein.
Zu Batch hast du "würg" kommentiert. Wie würdest du das handhaben?
Batch ist halt ein Dinosaurier und sollte längst ausgestorben verbuddelt und zu Kraftstoff verabreitet sein... sowas macht man heutzutage eigentlich mit Powershell.

Gruß Thomas
Bitte warten ..
Mitglied: NoNerd
16.07.2020 um 19:11 Uhr
Wunderbar. Vielen Dank.
Wie würde das mit Powershell aussehen?
Hab zwar keine Ahnung. Aber Dinosaurier.... Wie macht man das heute?

Wir wünschen alles erdenklich Gute, vor allem aber Gesundheit und Lebensfreude.

Mit besten Grüßen
Carsten
Bitte warten ..
Mitglied: TK1987
16.07.2020, aktualisiert um 20:10 Uhr
Zitat von NoNerd:
Wie würde das mit Powershell aussehen?
Leg dir iregendwo ein Ordner an der z.B. "Skripte" heisst. Dort legst du folgendes Skript mit der Endung .PS1 rein:
Auf dieses Skript gehst du nun mit Rechtsklick > Kopieren, gehst anschließend an irgendeinen Ort, an dem du es gerne hättest und wählst Rechtsklick > Verknüpfung einfügen.

Auf diese Verknüpfung Rechtsklick > Eigenschaften und unter Registerkarte Verknüpfung ergänzt du unter "Ziel" vor dem Dateipfad zum Skript noch
also bei Ziel steht dann zum Beispiel z.B.
Auf diese Verknüpfung kannst du dann wie gewohnt die Ordner draufziehen.

Alternativ kannst du die Verknüpfung auch in den SendTo-Ordner legen. Dann kannst du später einfach die Ordner, die du mit dem Skript bearbweiten willst, auswählen und mit Rechtsklick > Senden An > Skriptname so die Ordner an das Skript schicken.

Zudem kannst du der Verknüpfung optional auch gleich noch ein schickes passendes Icon verpassen.
Bitte warten ..
Mitglied: NoNerd
17.07.2020 um 05:38 Uhr
Moin Thomas,

danke für die Ergänzungen.
Bei mir ploppt nur kurz das blaue Powershell Fenster auf.
Sonst passiert nix.
Ich probiere es heute Nachmittag nochmal.
Die Bat-Datei funktioniert tadellos.
Hierfür meinen herzlichen Dank.

Bis zum nächsten Mal.
Mit besten Grüßen
Carsten
Bitte warten ..
Mitglied: TK1987
17.07.2020 um 07:39 Uhr
Bei mir funktioniert es tadellos.

Gehen wir der Sache auf den Grund: Füge in den Eigenschaften der Verknüpfung bei Ziel hinter powershell noch -NoExit an, so bleibt das Fenster nach dem Ende des Skripts geöffnet. Erscheint dort eine Fehlermeldung? Falls ja, diese bitte hier posten.
Bitte warten ..
Mitglied: NoNerd
20.07.2020 um 08:22 Uhr
Sorry für die späte Antwort.

Bei mir erscheint:

Windows PowerShell
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

Lernen Sie das neue plattformübergreifende PowerShell kennen – https://aka.ms/pscore6

In C:\Scripts\splitbook.ps1:1 Zeichen:7

@echo off

~~~

Unerwartetes Token "off" in Ausdruck oder Anweisung.
In C:\Scripts\splitbook.ps1:4 Zeichen:4

For %%A in (%*) do (

~

Öffnende "(" fehlt nach dem Schlüsselwort "for".
In C:\Scripts\splitbook.ps1:6 Zeichen:17

Set dir=%%~dpB

~

Schließende ")" fehlt in einem Ausdruck.
In C:\Scripts\splitbook.ps1:8 Zeichen:25

set ParentPath=%%~dpC

~

Schließende ")" fehlt in einem Ausdruck.
In C:\Scripts\splitbook.ps1:11 Zeichen:5

if "!ParentDir:~-7!" neq "geteilt" (

~

"(" fehlt nach "if" in der "if"-Anweisung.
In C:\Scripts\splitbook.ps1:11 Zeichen:24

if "!ParentDir:~-7!" neq "geteilt" (

~~~

Unerwartetes Token "neq" in Ausdruck oder Anweisung.
In C:\Scripts\splitbook.ps1:12 Zeichen:53

mkdir "!ParentPath!!ParentDir!_geteilt" >nul 2>&1

~

Schließende ")" fehlt in einem Ausdruck.
In C:\Scripts\splitbook.ps1:19 Zeichen:4

)

~

Unerwartetes Token ")" in Ausdruck oder Anweisung.
In C:\Scripts\splitbook.ps1:20 Zeichen:3

)

~

Unerwartetes Token ")" in Ausdruck oder Anweisung.
In C:\Scripts\splitbook.ps1:21 Zeichen:2

)

~

Unerwartetes Token ")" in Ausdruck oder Anweisung.
Es wurden nicht alle Analysefehler berichtet. Korrigieren Sie die berichteten Fehler, und versuchen Sie es erneut.
+ CategoryInfo : ParserError: ( [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken

PS C:\Scripts>

Hab ich was falsch gemacht?
Bitte warten ..
Mitglied: TK1987
20.07.2020, aktualisiert um 15:10 Uhr
Moin,

Zitat von NoNerd:
Hab ich was falsch gemacht?
Jo 🤣.

Du sollst natürlich nicht das Batchscript nehmen, sondern das Powershell-Script, dass ich oben gepostet habe, also das hier:
Zitat von TK1987 :

Gruß Thomas
Bitte warten ..
Mitglied: NoNerd
20.07.2020 um 15:49 Uhr
Der Fehler ist wie so oft vor der Tastatur.

Jetzt klappt es wie du es vorhergesagt hast.

Wenn die Ordner mit den zu teilenden Dateien immer in dem selben Ordner liegen, kann man es dann mit einem Doppelklick starten?
Das Draufziehen hat bei mehr als 100 Ordnern nicht geklappt.
Hatte es dann in einem Konsolenfenster mit

aufgerufen. Das lief sauber durch.

Danke für dein Nachhaken.

Mit besten Grüßen
Carsten
Bitte warten ..
Mitglied: TK1987
20.07.2020, aktualisiert um 16:31 Uhr
Zitat von NoNerd:
Das Draufziehen hat bei mehr als 100 Ordnern nicht geklappt.
Das liegt daran, dass die Argumente immernoch von CMD geparsed werden - 100 Argumente sind da einfach zu viel (dürfte bei der Batch genauso wenig funktionieren).
Du kannst allerdings einfach den übergeordneten Ordner da drauf ziehen, das Skript geht sowieso dann alle Unterverzeichnisse durch.
Bitte warten ..
Mitglied: NoNerd
20.07.2020 um 16:38 Uhr
Habe die Powershell- Verknüpfung mit eigenem Symbol versehen und mal einen Testordner mit Unterordnern draufgezogen.
Läuft wie gewünscht.

Bis zum nächsten Mal.
Danke und Grüße
Carsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Teil 2 zur Textinjektion mit Batch
Frage von ShadowmindBatch & Shell2 Kommentare

Dies ist ein weiterer teil der Batch to Batch Textinjektion, da sich ein weiteres Problem in den weg gestellt ...

Grafik
ImageMagick wellige Seiten geradeziehen
Frage von Phreak87Grafik11 Kommentare

Hallo, ich bin dabei eine Software zu schreiben, die über ImageMagick aus Kamerabildern Dokumentseiten extrahiert und dann optimiert und ...

Batch & Shell

Batch Parameter - nur einen Teil des Parameters nutzen

gelöst Frage von MichaelGVBatch & Shell2 Kommentare

Hallo, ich habe folgende kleine Batch Datei. Funktion: Ein Ordner mit dem übermittelten Parameter wird erstellt und anschließend im ...

Batch & Shell

Einen Teil eines Textpfades aus einer TXT per Batch entfernen!?

gelöst Frage von 132749Batch & Shell3 Kommentare

Guten Morgen, ich benötige Eure Hilfe für ein kleines Script! Pfad zur Original txt: C:\myProgramm\DATA1.txt Ausgabepfad soll im gleichen ...

Neue Wissensbeiträge
Viren und Trojaner

Schwachstelle in Teamviewer oder aufgeflogene Backdoor?

Information von magicteddy vor 18 StundenViren und Trojaner

Moin, die Interpretation überlasse ich jedem selber, ich habe eine deutliche Abneigung dagegen. Wer es nutzen muss sollte schleunigst ...

Sicherheit

Eine ungepatchte Sicherheitslücke in der Windows Druckerwarteschlange ermöglicht das Ausführen von Malware mit Adminrechten

Information von transocean vor 3 TagenSicherheit

Moin, eigentlich sollte die Sicherheitslücke schon seit Mai 2020 geschlossen sein. Aber lest selbst. Grüße Uwe

Erkennung und -Abwehr

Liste ungeschützter Pulse-VPN-Server veröffentlicht

Information von Visucius vor 5 TagenErkennung und -Abwehr

bzw. Der tiefe Blick in die Profi-Administratoren-Welt ;-)

Windows 10

Windows Defender verhindert Telemetrieblocking via hosts-Datei

Information von BirdyB vor 5 TagenWindows 102 Kommentare

Für diejenigen, die keine Daten an MS senden wollten, war die hosts-Datei manchmal eine Option.

Heiß diskutierte Inhalte
Internet
VPN und Fritzbox
Frage von jensgebkenInternet29 Kommentare

Hallo Gemeinschaft, da der Support von AVM mir keine Antwort gibt, versuche ich es hier einmal HArdware 7490 zwei ...

Sicherheit
Verschlüsseln anstatt löschen ?
Frage von TastuserSicherheit16 Kommentare

Hallo, ist es möglich ganze Ordner auf Windows 10 zu verschlüsseln? Aber keine Kopien zu verschlüsseln (wie mit WinRAR) ...

Netzwerkprotokolle
Cisco IOS IPv6 Tunnel MTU Problem dauerhafte TLS-Handshakes
Frage von Windows10GegnerNetzwerkprotokolle13 Kommentare

Hallo, ich hatte habe das Problem ja schon lange, ich will das aber jetzt richtig angehen (MTU nicht manuell ...

Switche und Hubs
Neue Switches für Schule
Frage von Freak-On-SiliconSwitche und Hubs12 Kommentare

Servus; Eins Vorweg, bin leider in vielen Sachen noch nicht so erfahren. Und nein, ich kann LEIDER keinen Dienstleister ...

Weniger Werbung?
Administrator Magazin
08 | 2020 Cloud-First-Strategien sind inzwischen die Regel und nicht mehr die Ausnahme und Workloads verlagern sich damit in die Cloud – auch Datenbanken. Dort geht es aber nicht nur um die Frage, wie die Datenbestände in die Wolke zu migrieren sind, sondern auch darum, welche Datenbank ...