2016-11-25 3 views
0

Ich möchte Dateien in einem Verzeichnis mit Unterverzeichnissen zu übergeordneten Verzeichnisnamen + fortlaufende Nummern umbenennen.Stapel umbenennen Bilder zu Ordnername + fortlaufende Nummer

Zum Beispiel:

hello-images/ 
    ├── first-black 
    │   ├── full_b200056_m.png 
    │   ├── full_b200056_x_DSC01973.JPG 
    │   ├── full_b200056_x_DSC01978.JPG 
    │   ├── full_b200056_x_DSC01988.JPG 
    │   ├── full_b200056_x_DSC01994.JPG 
    │   ├── full_b200056_x_DSC02003.JPG 
    ├── second-atlas 
    │   ├── full_b200035_m1.png 
    │   ├── full_b200035_x_3926.JPG 
    │   ├── full_b200035_x_3928.JPG 
    │   ├── full_b200035_x_3931.JPG 
    │   ├── full_b200035_x_3944.JPG 

desidered Ergebnis:

hello-images/ 
├── first-black 
│   ├── first-black_1.png 
│   ├── first-black_2.JPG 
│   ├── first-black_3.JPG 
│   ├── first-black_4.JPG 
│   ├── first-black_5.JPG 
│   ├── first-black_6.JPG 
├── second-atlas 
│   ├── second-atlas_1.png 
│   ├── second-atlas_2.JPG 
│   ├── second-atlas_3.JPG 
│   ├── second-atlas_4.JPG 
│   ├── second-atlas_5.JPG 
+0

Warum werden die Bilder unter 'first-schwarz' umbenannt als' 1,3,4, 5,6,7 'warum nicht' 2'? – Inian

Antwort

1

Von hello-images Verzeichnis tun:

for d in */; do i=1; for f in "$d"/*.*; do echo mv -- "$f" "$d${d%/}_${i}.${f##*.}"; ((i++)); done; done 

Dies wird Trockenlauf, zeigt es die mv Befehle ausgeführt werden. Wenn mit den Änderungen zufrieden gemacht werden, entfernen echo für aktuelle Aktion:

for d in */; do i=1; for f in "$d"/*.*; do mv -- "$f" "$d${d%/}_${i}.${f##*.}"; ((i++)); done; done 

Expanded Form:

for d in */; do 
    i=1 
    for f in "$d"/*.*; do 
     mv -- "$f" "$d${d%/}_${i}.${f##*.}" 
     ((i++)) 
    done 
done 
+0

Hallo, Ich habe gerade Ihren Code bearbeitet, es fehlten Unterstreichung und .jpg Erweiterung aus dem endgültigen Dateinamen. Ein kleines Problem mit dem Code: umbenannte Dateien werden in das root hallo-images/Verzeichnis verschoben. – Adrian

+1

@Adrian Kodieren Sie nichts, überprüfen Sie es jetzt. – heemayl

Verwandte Themen