Reinhard Haubold schrieb:> München -> 2018 -> München-01.jpg> München -> 2017 -> München-01.jpg
Wenn bei dir wie man sieht Dateinahmen wie "München-01" beliebig oft
vorkommen dürfte das sehr aufwendig werden, die willst du ja ev. ins
gleiche Verzeichnis kopieren, was niemals eine sinnvolle Reihenfolge
ergeben kann.
Die erste Frage wäre sowieso, nach welchem Kriterium Eigenschaft-xx denn
sortiert sein soll. Wenn du die von Hand in die gewünschte Reihenfolge
bringen willst kannst du gleich alles manuell erledigen, denn dann musst
du ja jede Datei einmal anfassen. Wenn du dazu nicht noch lange
überlegen musst lassen sich am Tag Tausende Bilder zurechtschieben.
Ich habe meine Reisefotos mit wenigen Ausnahmen chronologisch sortiert,
die Folge der Fotos entspricht also dem Ablauf der Urlaubsreise. Aber
die Grundlage dafür bilden die Metadaten in den Dateien (EXIF,IPTC).
Georg
Reinhard Haubold schrieb:> Wie kann ich das automatisiert tun?
Das Bildbearbeitungsprogramm IRFANVIEW hat
eine Batchfunktion zum Umbenennen von Dateien.
Mann wählt die zu bearbeitenden Dateien aus,
gibt das Format des Zeilnamens an und
wählt den Zielordner aus.
Dann macht das Programm den Rest.
Einfach vorher mal mit ein paar Testdateien ausprobieren.
:)
@Vka: na so ein Zufall ...
Bei so wenig Text warst du natürlich schneller.
mn schrieb:> Warum?>> Vorher einfach ein Backup machen und dann kann nichts schlimmes> passieren.
Nunja, ich hatt beim schreiben in der rm Zeile zuerst was anders
gemacht. Beim Laufenlassen kam von rm plötzlich eine Meldung ala
"refused to rm . and ..". Das hat mich wieder mal wachgerüttelt.
Manchmal ist sowas ganz gut. Zumidnest wenn es nicht schief geht. :)
Und auch mit Backup ist es nervig, sich was kaputt zu schießen. Allein
schon der Zeitaufwand..
Md M. schrieb:> ├── München> │ ├── 2017> │ │ ├── München-01_17.jpg> │ │ └── München-02_17.jpg
So heissen sie aber nicht. Dein Vorschlag heisst also, er muss vorher
alle Dateien umbenennen. Sehr komfortabel.
Georg
georg schrieb:> So heissen sie aber nicht. Dein Vorschlag heisst also, er muss vorher> alle Dateien umbenennen. Sehr komfortabel.
Das Skript interessiert sich nicht für die Namen. Ich habe sie nur so
benannt, damit man sie in dem Beispiel unterscheiden kann.
Manchmal sind die Ordner auch
Jahr(Ordner) -> Eigenschaft(Ordner) -> Untereigenschaft(Ordner) ->
Eigenschaft-01.jpg
Beispiel
2018 -> Reisen -> Spanien -> Spanien-01.jpg
Das soll in
Reisen -> Spanien -> 2018 -> Spanien-01.jpg
gewandelt werden.
Windows-Lösungen sind mir lieber.
> Windows-Lösungen sind mir lieber.
Aber sicher: Windows gibt dir diesen Explorer.
Darin siehst Du hübsch links die Ordnerhierarchie als Baum und rechts
die Dateien als verkleinerte Vorschau.
Da machst Du 2 Fenster vom Explorer auf: bisherige Quelle, daneben neue
Destination wo Du deine neuen Ordner anlegst.
Dann gehst Du links mit der Maus jeden Quellenordner durch und ziehst
die Bilddateien nach rechts in den Destinationsordner nach deinem
Wunsch.
Windows will per GUI dass wenn viel zu tun ist Du ordentlich lange daran
machst, aber in schön, farbig und animiert. Danach hast Du dann auch
Dein Frühstück ordentlich verdient.
Besser so?
Kommandozeile vor dem Frühstück für Alle! schrieb:>> Windows-Lösungen sind mir lieber.>> Aber sicher: Windows gibt dir diesen Explorer.> Darin siehst Du hübsch links die Ordnerhierarchie als Baum und rechts> die Dateien als verkleinerte Vorschau.> Da machst Du 2 Fenster vom Explorer auf: bisherige Quelle, daneben neue> Destination wo Du deine neuen Ordner anlegst.> Dann gehst Du links mit der Maus jeden Quellenordner durch und ziehst> die Bilddateien nach rechts in den Destinationsordner nach deinem> Wunsch.>> Windows will per GUI dass wenn viel zu tun ist Du ordentlich lange daran> machst, aber in schön, farbig und animiert. Danach hast Du dann auch> Dein Frühstück ordentlich verdient.
Unwissend? Oder Troll?
Windows hat auch zwei Text-Shells. Eine davon (Powershell) ist derart
komfortabel und mächtig, dass jede *x-*sh sich da beschämt in den
Schatten der obsoleten Techniken zurückziehen muss...
OK, man muss programmieren können (und wollen). Das ist aber bei so
einer speziellen Aufgabenstellung bei den *x-*sh's kein bisschen anders.
Der Unterschied ist nur: bis man das Quoting und die diversen sonstigen
Fallstricke der *x-*sh's auch nur andeutungsweise begriffen hat, ist man
mit der Powershell, ihren OO-Konzepten und ihren vergleichsweise
einfachen Quotingregeln längst durch und hat sein Ziel erreicht...
Das einzige, was man zur Entschuldigung von *x sagen kann: Es ist sehr
einfach, damit auch diverse neuzeitliche Scriptspracheninterpreter (z.B.
Perl, Python, PHP) statt der unsäglich veralteten *sh's zu benutzen.
Damit ham'er dann wieder Gleichstand. Nicht mehr und nicht weniger.
Es obliegt allein der Benutzerkompetenz, die gegebenen Möglichkeiten im
eigenen Sinne nutzbar zu machen. Es bleibt also, wie es schon immer war:
Keine Arme-> keine Kekse.
@Kommandozeile vor dem Frühstück für Alle!
Solche Dümmlichkeiten helfen niemandem und sagen höchstens etwas über
dich selbst aus.
- CMD
- PowerShell
- WSH (VBScript, JScript, andere Sprachen nachinstallierbar)
- Linux-Subsystem mit Zugriff auf das Windows-Dateisystem
Au weia schrieb:> - Linux-Subsystem mit Zugriff auf das Windows-Dateisystem
Kann das eigentlich mittlerweile Windows Executables starten? Also kann
ich Bash oder Makefiles schreiben und ausführen die ihrerseits native
Windows-Tools starten? WIMRE war das am Anfang nicht vorgesehen und das
wäre eine üble Einschränkung der Nützlichkeit gegenüber Umgebungen wie
Cygwin.
Bernd K. schrieb:> Kann das eigentlich mittlerweile Windows Executables starten? Also kann> ich Bash oder Makefiles schreiben und ausführen die ihrerseits native> Windows-Tools starten?
Ja, das sollte seit 1703 ("Creators Update") funktionieren. Auch mit
Pipes, also in der Bash ein Windowsprogramm starten und dessen Ausgabe
dann in Linux verarbeiten.
/mnt/c/Windows/System32/ipconfig.exe -all | grep "IPv4 Address"
https://www.howtogeek.com/285082/how-to-run-windows-programs-from-windows-10s-bash-shell/> WIMRE war das am Anfang nicht vorgesehen und das wäre eine üble> Einschränkung der Nützlichkeit gegenüber Umgebungen wie Cygwin.
Das Ganze war ja eigentlich bis Mitte 2017 noch im Beta-Stadium. Nach
1703 sind noch einige Dinge hinzugekommen (u.a. Background-Tasks).
https://winaero.com/blog/command-line-wsl-improvements-windows-10-version-1803/
c-hater schrieb:> Windows hat auch zwei Text-Shells. Eine davon (Powershell) ist derart> komfortabel und mächtig, dass jede *x-*sh sich da beschämt in den> Schatten der obsoleten Techniken zurückziehen muss...
Dann zeig uns doch mal die ach so viel einfachere Powershell lösung.
Grosse Worte kann jeder spucken.
Bis dahin, hier ein neues shell script für die neue Anforderung mit der
Untereigenschaft:
1
#!/bin/bash
2
3
if[$# != 2 ]
4
then
5
echo"Usage: $0 source destination">&2
6
exit 1
7
fi
8
9
src="$1"
10
dst="$2"
11
12
shopt-s dotglob # Bei wildcards versteckte Dateien miteinbeziehen
13
shopt-s nullglob # Bei keiner übereinstimmung zu nichts expandieren
14
15
for path_jahr in"$src"/*/
16
do
17
jahr="$(basename"$path_jahr")"
18
for path_eigenschaft in"$path_jahr"/*/
19
do
20
eigenschaft="$(basename"$path_eigenschaft")"
21
for path_unter_eigenschaft in"$path_eigenschaft"/*/
Au weia schrieb:> @Kommandozeile vor dem Frühstück für Alle!>> - CMD> - PowerShell> - WSH (VBScript, JScript, andere Sprachen nachinstallierbar)
Ja sicher. Und in jedem der da aufgezählten 4 Wege ist der selbe Script
dann auf wievielen halbwegs aktuellen Windowsvarianten unverändert
einsetzbar? (Fachsprech: portabel)
Mit bash habe ich schon vor über 15 J Installationstest portabel f.
CygWin/WinXP & Solaris geschrieben und täglich produktiv eingesetzt.
Damit nun auch dem TE geholfen ist: wo bleiben Beispielansätze für seine
Aufgabenstellung, in den o.g. 4 Umgebungen/Sprachen?
(anders formuliert: Dein Verkaufsprospektwissen kannst Du für Dich
behalten, solange Du kein Beispielcode hier postest.
Um die langweilige Zeit bis dahin zu überbrücken stehst vor'n Spiegel
und rezitierst Dir Dein von mir im Zitat ausgelassenen Spruch)
Glaube mir, die shell quotig hell ist einfacher zu beherrschen (auch
wenn sie lästig ist) als Scripts in den gelisteten 4 ach so modernen
Sprachen, über mehrere halbwegs aktuelle Windowsvarianten in
verschiedenen Benutzersprachen installiert, portabel hinzubekommen.
(auch Dein Beispiel mit "ipconfig" und "IPv4 Address" zeigt gleich 2 für
Windows übliche unportable Aspekte!)
Kommandozeile vor dem Frühstück für Alle! schrieb:> als Scripts in den gelisteten 4 ach so modernen> Sprachen, über mehrere halbwegs aktuelle Windowsvarianten in> verschiedenen Benutzersprachen installiert, portabel hinzubekommen.
Geschweige denn alle andere Rechner außerhalb der Gartenmauer, also so
ziemlich 95% der restlichen EDV-Welt.
c-hater schrieb:> Unwissend? Oder Troll?
solche Rückfragen erübrigen sich, bei dieser Steilvolage von Aussage:
>>> Windows-Lösungen sind mir lieber.
Bash-Lösungen sind CygWin sei dank seit gut 20J auch Windows-Lösungen.
Bash (& POSIX-shell) verhält sich zu Windows-only Skriptsprachen wie
DIN-Maschinenschrauben zu Kaugummi+Panzertape.
Auch wenn Regelgewinde vor gut 200J etabliert wurden, werden sie noch
lange undiskutiert Erste Wahl bleiben.
Die POSIX & GNU Tools sind nun mal das SW-Aequivalent von Normteile -
das andere einfach nur Mode von kurzer Halbwertszeit.
>> Windows hat auch zwei Text-Shells. Eine davon (Powershell) ist derart> komfortabel und mächtig, dass jede *x-*sh sich da beschämt in den> Schatten der obsoleten Techniken zurückziehen muss...>
Was ist denn eine TEXT Shell?
Die Mehrzahl der Windows-Power(shell)User dürften schon daran scheitern
auf Shell-Ebene den Ordner „Benutzer“ zu finden ... lach
Kommandozeile vor dem Frühstück für Alle! schrieb:> Bash-Lösungen sind CygWin sei dank seit gut 20J auch Windows-Lösungen.
Nicht wirklich. Ich jedenfalls bin bisher sehr gut ohne CygWin
ausgekommen. OK, ich gebe gern zu, dass ich oftmals versucht war,
einfach darauf auszuweichen. Aber: ich habe es nie getan und auch lange
Sicht hat sich immer gezeigt, dass das eine sehr weise Entscheidung
war.
Jeder, der diesen Scheiß tatsächlich produktiv benutzt, wird wissen,
warum ich zu dieser Einschätzung gekommen bin...
> Bash (& POSIX-shell) verhält sich zu Windows-only Skriptsprachen wie> DIN-Maschinenschrauben zu Kaugummi+Panzertape.> Auch wenn Regelgewinde vor gut 200J etabliert wurden, werden sie noch> lange undiskutiert Erste Wahl bleiben.> Die POSIX & GNU Tools sind nun mal das SW-Aequivalent von Normteile -> das andere einfach nur Mode von kurzer Halbwertszeit.
Aha. Genau deswegen werden sie wohl selbst unter Linux, *BSD usw. diese
"unportablen", "systemfremden" Scriptsprachen mit völlig unübersehbar
zunehmender Tendenz benutzt, und das durchaus auch, um Systemaufgaben zu
erledigen...
Kann es sein, dass du deine Kenntnisse vor 20..30Jahren erworben hast
und als Ewiggestriger nicht bereit bist, davon abzuweichen? Nun, dann
kann ich dir vorhersagen: die bekannte "Normative Kraft des Faktischen"
wird dich dazu zwingen. Naja, es sei denn, du bist schon in Rente. Dann
kann es dir natürlich egal sein...
c-hater schrieb:> Aha. Genau deswegen werden sie wohl selbst unter Linux, *BSD usw. diese> "unportablen", "systemfremden" Scriptsprachen mit völlig unübersehbar> zunehmender Tendenz benutzt, und das durchaus auch, um Systemaufgaben zu> erledigen...
Nö, werden sie nicht. Es ist zwar so, dass MS Powershell portiert und
als OpenSource veröffentlicht hat, aber ich habe noch keinen mit unix
oder linux Erfahrung gesehen der die Verwendung von powershell ernsthaft
als eine gute Idee erachtet hätte. Die meisten Distributionen liefern es
noch nicht einmal mit:
Debian: Nein
https://packages.debian.org/search?suite=all&searchon=names&keywords=powershell
Ubuntu: Nein
https://packages.ubuntu.com/search?suite=all&searchon=names&keywords=powershell
Gentoo: Fehlanzeige
Fedora: Nö https://apps.fedoraproject.org/packages/s/powershell
Mint: Auch nicht
http://packages.linuxmint.com/search.php?release=any§ion=any&keyword=powershell
Was du da beobachtet hast sind vermutlich Windows Entwickler, die
entweder WSL entdeckt haben oder eine der Linux Clouds verwenden müssen,
aber sich nicht trauen ihre Lieblingsshell zu wechseln, eventuell auch
weil sie schon bestehende PowerShell scripte haben und weiterverwenden
wollen.
Seien wir mal ehrlich, powershell hat MS doch nur OpenSourced, weil es
den Linux Cloud hype gibt und MS ihre Nutzer weiterhin bei ihren eigenen
Produkten behalten will. Schon irgendwie ironisch, da versuchen die
Firmen vor MS zu fliehen und enden dann trotzdem wieder bei MS.
Daniel A. schrieb:> Nö, werden sie nicht. Es ist zwar so, dass MS Powershell portiert und> als OpenSource veröffentlicht hat, aber ich habe noch keinen mit unix> oder linux Erfahrung gesehen der die Verwendung von powershell ernsthaft> als eine gute Idee erachtet hätte.
Es ging garnicht um die PS (deren Anwendung macht natürlich nur unter
Windows irgendeinen Sinn), sondern um Perl, Python, PHP und Konsorten
unter *x und dies insbesondere im Kontext des Ersatzes von *sh-Kram.
Wenn dir dieser Trend entgangen ist, bist du wirklich sehr weit weg vom
Schuss und definitiv ein "Ewiggestriger".
c-hater schrieb:> Es ging garnicht um die PS (deren Anwendung macht natürlich nur unter> Windows irgendeinen Sinn), sondern um Perl, Python, PHP und Konsorten> unter *x und dies insbesondere im Kontext des Ersatzes von *sh-Kram.
Du schriebst:
> Aha. Genau deswegen werden sie wohl selbst unter Linux, *BSD usw. diese> "unportablen", "systemfremden" Scriptsprachen mit völlig unübersehbar> zunehmender Tendenz benutzt, und das durchaus auch, um Systemaufgaben zu> erledigen...
Die Rede war von `"unportablen", "systemfremden" Scriptsprachen`, das
trifft auf Perl und Python definitiv nicht zu. Im Bezug auf Linux und
BSD macht das Systemfremd auch keinen Sinn, da diese ursprünglich auf
oder für Unix Systeme entwickelt wurden. [1] Die einzig logische
Schlussfolgerung war deshalb, dass damit nur die Windows Skript
sprachen, wie z.B. Powershell, CMD, JScript, VBScript, etc. gemeint sein
müssen. Das Zitat aus Beitrag #5347665, auf welchen sich der Abschnitt
im Beitrag #5356478 ursprünglich bezog, hilft da auch nicht sonderlich:
> Bash (& POSIX-shell) verhält sich zu Windows-only Skriptsprachen wie
Also erklär mir doch bitte mal, wie du hier damit Perl, Python, PHP und
Konsorten meinen konntest.
1) https://en.wikipedia.org/wiki/Python_(programming_language)#Historyhttps://en.wikipedia.org/wiki/Perl
c-hater schrieb:> Ich jedenfalls bin bisher sehr gut ohne CygWin> ausgekommen. OK, ich gebe gern zu, dass ich oftmals versucht war,> einfach darauf auszuweichen. Aber: ich habe es nie getan und auch lange> Sicht hat sich immer gezeigt, dass das eine sehr weise Entscheidung> war.
Bei mir ist es genau umgekehrt: Es hat sich ergeben daß es eine extrem
weise Entscheidung von mir war für alle Build- und Hilfs-Scripte eine
Cygwin-Umgebung vorauszusetzen und strikt auf jegliche unportable
Windowismen zu verzichten. Nun kann ich völlig schmerzfrei die meisten
Rechner von Windows befreien.