Windows-Konsole saugt, Bash regelt
Ashura
- menschelei
Hallo.
Ich stand eben vor dem Problem, unzählige Icon-Grafiken in ihre Bestandteile zu zerlegen und als PNG abzuspeichern, damit die Alphatransparenz nicht verloren geht.
Da ich ImageMagick schon seit Ewigkeiten installiert habe, war dies das Mittel der Wahl. Einziges Problem: die verstümmelten Scripting-Fähigkeiten der Windows-Konsole.
Die Dateien einzeln konvertieren wollte ich nicht, also musste eine Schleife her.
Versuch Windows:
for %i in (*.*) do convert %i %i.png
Resultat Windows:
„foo.ico“ wird zu „foo.ico.png“, kleinste Auflösung
Nach einigem Experimentieren hatte ich die Nase voll und startete die Bash.
Versuch Bash:
for file in ls
; do convert $file ${file/.ico/.png}; done
^^^^^^^^^^^^^^^^^
Ist dies in der Windows-Konsole möglich?
Resultat Bash:
„foo.ico“ wird zu „foo-X.png“, wobei „X“ für eine aufsteigende Nummer pro Icon steht, damit alle Auflösungen vorhanden
Wollte ich nur einmal loswerden, vielleicht tritt sogar der Fall ein, dass es irgendjemandem einmal weiterhilft.
Einen schönen Mittwoch noch.
Gruß, Ashura
Hallo.
for file in
ls
; do convert $file ${file/.ico/.png}; done
Hatte ich fast vergessen:
Die normale convert.exe in Windows-Systemen dient der Konvertierung von Dateisystemen. Da ich diese so gut wie nie brauche, habe ich sie umbenannt, womit kein Konflikt mehr zur convert.exe von ImageMagick bestand.
Wenn man dies nicht tun will, muss man in obiger Schleife natürlich den absoluten Pfad zu ImageMagicks convert.exe anstelle von convert verwenden.
Einen schönen Mittwoch noch.
Gruß, Ashura
Hallo Ashura,
Da ich ImageMagick schon seit Ewigkeiten installiert habe, war dies das Mittel der Wahl. Einziges Problem: die verstümmelten Scripting-Fähigkeiten der Windows-Konsole.
soo schlimm sind die auch nicht. Du kennst sie nur nicht. Schade.
Die Dateien einzeln konvertieren wollte ich nicht, also musste eine Schleife her.
Versuch Windows:
for %i in (*.*) do convert %i %i.png
convert hast Du ja in Deinem Nachfolgeposting erklärt, ein vollständiger Pfad wäre auch nicht verkehrt gewesen.
Eine kleine Archivsuche mit
author:Vinzenz for batch
hätte Dir unter anderem dieses Archivposting von mir geliefert.
und
for %I in (*.*) DO convert %I %~nI.png
hätte Dir das gewünschte geliefert.
Wollte ich nur einmal loswerden, vielleicht tritt sogar der Fall ein, dass es irgendjemandem einmal weiterhilft.
help for
hilft in solchen Fällen weiter :-)
Freundliche Grüße
Vinzenz
Hallo Ingrid,
eine Themenänderung wäre doch angebracht.
for %I in (*.*) DO convert %I %~nI.png
help for
hilft in solchen Fällen weiter :-)
Freundliche Grüße
Vinzenz
Hi,
Hallo Ingrid,
Ingrid?
Schönen Sonntag noch!
O'Brien
Hallo O'Brien,
Hallo Ingrid,
Ingrid?
Grüße aus Nürnberg
Tobias
Hallo O'Brien
Ingrid?
Auf Wiederlesen
Detlef
Hallo,
Wie spricht man das aus? Ingrid, die Tilde machen? Wenn ja, was soll damit gemeint sein? Wofür steht die Tilde? Für /home/foo?
Gruß,
Severin
gudn tach Severin!
Wie spricht man das aus? Ingrid, die Tilde machen? Wenn ja, was soll damit gemeint sein? Wofür steht die Tilde? Für /home/foo?
roflol! gemeint ist die bedeutung der tilde in woerterbuechern.
aber "Ingrid, die /home/foo machen" finde ich auch gut... eigentlich sogar noch besser.
prost
seth
Hi Ingrid,
danke Tobias und Detlef! Man lernt doch täglich was dazu :)
Schönen Sonntag noch!
O'Brien
Hallo Vinzenz.
Einziges Problem: die verstümmelten Scripting-Fähigkeiten der Windows-Konsole.
soo schlimm sind die auch nicht. Du kennst sie nur nicht. Schade.
Richtig, ich bin aber gerne bereit, diesen Missstand auszubessern.
convert hast Du ja in Deinem Nachfolgeposting erklärt, ein vollständiger Pfad wäre auch nicht verkehrt gewesen.
Zur convert.exe von ImageMagick? Diese liegt stets im Programmverzeichnis des selbigen.
Oder zur convert.exe von Windows? Diese liegt im %windir%\system32 Verzeichnis.
Eine kleine Archivsuche mit
author:Vinzenz for batch
hätte Dir unter anderem dieses Archivposting von mir geliefert.
Und wie wäre ich auf „author:Vinzenz for batch“ gekommen?
und
for %I in (*.*) DO convert %I %~nI.png
hätte Dir das gewünschte geliefert.
Werde ich bei Gelegenheit näher studieren, danke.
help for
hilft in solchen Fällen weiter :-)
Habe ich aufgerufen, aber ehrlich gesagt verstehe ich von dem Kauderwelsch darin kaum ein Wort. Echte manpages sind mir lieber.
Einen schönen Donnerstag noch.
Gruß, Ashura
gudn tach!
convert hast Du ja in Deinem Nachfolgeposting erklärt, ein vollständiger Pfad wäre auch nicht verkehrt gewesen.
Zur convert.exe von ImageMagick? Diese liegt stets im Programmverzeichnis des selbigen.
Oder zur convert.exe von Windows? Diese liegt im %windir%\system32 Verzeichnis.
ich denke, Vinzenz meinte, dass statt der umbenennung der windowseigenen datei convert.exe es auch moeglich gewesen waere, den vollstaendigen pfad bei der ausfuehrung des befehls anzugeben
for ... do C:\Programme\ImageMagick\convert.exe ...
oder so
Eine kleine Archivsuche mit
author:Vinzenz for batch
hätte Dir unter anderem dieses Archivposting von mir geliefert.
Und wie wäre ich auf „author:Vinzenz for batch“ gekommen?
da du ja auch sehr oft hier bist, ging der Vinzenz davon aus (und das waere ich auch), dass du mitbekommen haettest, dass er doch u.a. von windows-kram wie batch, vb[as]{0,1} und so'm kram recht viel ahnung hat und auch sehr oft postings beantwortet, die fragen zu sowas enthalten.
help for
hilft in solchen Fällen weiter :-)
Habe ich aufgerufen, aber ehrlich gesagt verstehe ich von dem Kauderwelsch darin kaum ein Wort. Echte manpages sind mir lieber.
hmm, naja, so ein bissl manpage-feeling geht ja:
help for | less
;-) problem sind hier nur mal wieder die umlaute und das sz...
prost
seth
Hallo seth.
ich denke, Vinzenz meinte, dass statt der umbenennung der windowseigenen datei convert.exe es auch moeglich gewesen waere, den vollstaendigen pfad bei der ausfuehrung des befehls anzugeben
Hatte ich erwähnt:
Wenn man dies nicht tun will, muss man in obiger Schleife natürlich den absoluten Pfad zu ImageMagicks convert.exe anstelle von convert verwenden.
for ... do C:\Programme\ImageMagick\convert.exe ...
oder so
Tja, bei mir heißt der Pfad P:\ImageMagick-6.2.4-Q16\convert.exe
(Gut, %programfiles% gibt es, aber da das Programmverzeichnis auch jeden beliebigen Namen haben kann und man ImageMagick wohl kaum zufällig installiert, meine ich, dass man wissen sollte, wo seine convert.exe von ImageMagick liegt.)
da du ja auch sehr oft hier bist, ging der Vinzenz davon aus (und das waere ich auch), dass du mitbekommen haettest, dass er doch u.a. von windows-kram wie batch, vb[as]{0,1} und so'm kram recht viel ahnung hat und auch sehr oft postings beantwortet, die fragen zu sowas enthalten.
Bei meiner Suche bin ich ehrlich gesagt nicht darauf gekommen.
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo Ashura,
Einziges Problem: die verstümmelten Scripting-Fähigkeiten der Windows-Konsole.
soo schlimm sind die auch nicht. Du kennst sie nur nicht. Schade.
Richtig, ich bin aber gerne bereit, diesen Missstand auszubessern.
hehe, das ist die richtige Einstellung.
convert hast Du ja in Deinem Nachfolgeposting erklärt, ein vollständiger Pfad wäre auch nicht verkehrt gewesen.
Zur convert.exe von ImageMagick? Diese liegt stets im Programmverzeichnis des selbigen.
ja, siehe seths Posting
Eine kleine Archivsuche mit
author:Vinzenz for batch
hätte Dir unter anderem dieses Archivposting von mir geliefert.
Und wie wäre ich auf „author:Vinzenz for batch“ gekommen?
Ja, da hatte ich einen unfairen Vorteil Dir gegenüber. Ich wusste, dass ich in den letzten Wochen etwas genau zu Deiner Problematik gepostet hatte :-)
for %I in (*.*) DO convert %I %~nI.png
Zur Suchstrategie: Ausgehend von Deinem Problem wäre doch eine Suche mit
for cmd
oder
for cmd batch
naheliegend gewesen: Es geht Dir um die for-Anweisung der Windows-Shell CMD, batch habe ich hinzugefügt, weil solche Probleme öfters in Batchdateien auftreten können. Einzeiler in CMD sind doch eher seltener.
Bereits die Suche mit "for cmd" liefert Dir mein Archivposting als erstes auf dem Silberteller.
Ketzerische Frage: Mit welchen Begriffen hast Du gesucht? *fg*
help for
hilft in solchen Fällen weiter :-)Habe ich aufgerufen, aber ehrlich gesagt verstehe ich von dem Kauderwelsch darin kaum ein Wort.
Ashura, bist Du Dir sicher, dass diese Einstellung angebracht ist? Im Hinblick auf folgenden Ausschnitt.
<q cite="help for">
Zusätzlich wurde die Ersetzung von Verweisen auf FOR-Variablen erweitert.
Sie können jetzt folgende Syntax verwenden:
%~I - Expandiert %I und entfernt alle umschließenden
Anführungszeichen (").
%~fI - Expandiert %I zu einem vollständigen Dateinamen.
%~dI - Erzeugt nur den Laufwerkbuchstaben von %I.
%~pI - Erzeugt nur den Pfad von %I.
%~nI - Erzeugt nur den Dateinamen von %I.
%~xI - Erzeugt nur die Dateierweiterung von %I.
</q>
Hast Du noch nie gefragt, ob jemand etwas im Handbuch oder in SELFHTML nachgelesen hat? Gehst Du nicht auch manchmal etwas streng mit Hilfesuchenden um, die auf solche Vorschläge nicht eingehen? Oder etwas in SELFHTML nicht verstehen?
Echte manpages sind mir lieber.
Nimmst _Du_ eine solche Aussage einem Hilfesuchenden ab? Wirst Du solche Sätze nicht auch als billige Ausrede werten?
Ja, ich weiß: eine Reihe meiner eigenen Postings im Archiv sind sehr zu beanstanden. Nein, damit bin ich nicht glücklich.
Freundliche Grüße
Vinzenz
PS: Manchmal ist es ziemlich schwer, die Aussage zu kritisieren - und nicht den Poster. Ich habe es versucht.
Hallo Vinzenz.
Bereits die Suche mit "for cmd" liefert Dir mein Archivposting als erstes auf dem Silberteller.
Keine Ahnung, ob dies meinem Gehirn zu naheliegend war, aber jedenfalls bin ich nicht auf diese Kleinigkeit gekommen.
Ketzerische Frage: Mit welchen Begriffen hast Du gesucht? *fg*
„for author:"Ingo Turski"“ weil ich in Erinnerung hatte, dass dieser einmal eine brauchbare for-Schleife gepostet hatte. (An Stelle von „for“ natürlich auch Kombinationen mit „in“, „do“, aber wie gesagt nicht mit „cmd“ …)
Habe ich aufgerufen, aber ehrlich gesagt verstehe ich von dem Kauderwelsch darin kaum ein Wort.
Ashura, bist Du Dir sicher, dass diese Einstellung angebracht ist? Im Hinblick auf folgenden Ausschnitt.
Muss ich (ernsthaft) überlesen haben.
Hast Du noch nie gefragt, ob jemand etwas im Handbuch oder in SELFHTML nachgelesen hat?
Doch, natürlich. Aber nur, wenn ich den Eindruck bekomme, dass der Fragende sich keinerlei Mühe gegeben hat. Andernfalls verlinke ich einfach das potentiell hilfreiche Kapitel.
Gehst Du nicht auch manchmal etwas streng mit Hilfesuchenden um, die auf solche Vorschläge nicht eingehen? Oder etwas in SELFHTML nicht verstehen?
Was ist an einer Rückfrage ob der Unverständlichkeit des jeweiligen Kapitels streng?
Echte manpages sind mir lieber.
Nimmst _Du_ eine solche Aussage einem Hilfesuchenden ab? Wirst Du solche Sätze nicht auch als billige Ausrede werten?
Keine Ahnung, bisher ist mir noch niemand mit obiger Aussage begegnet.
Ja, ich weiß: eine Reihe meiner eigenen Postings im Archiv sind sehr zu beanstanden. Nein, damit bin ich nicht glücklich.
Ich schon. Dadurch kann ich verfolgen, wie ich mich (hoffentlich weiter-)entwickelt habe.
PS: Manchmal ist es ziemlich schwer, die Aussage zu kritisieren - und nicht den Poster. Ich habe es versucht.
Es ist dir gelungen.
Einen schönen Donnerstag noch.
Gruß, Ashura