Dateitypen automatisch verschieben

Persönliche Seite #5149497
Lesenswert?

Martin schrieb:
> Was machen eigentlich MAC user?

Jeder, der ein Gerät mit Netzwerkinterface nutzt, ist ein "MAC user". 
Deswegen hat auch jedes dieser Geräte eine MAC-Adresse.

Oder meinst Du Menschen, die mit OS X/macOS arbeiten? Die können, wie 
unter unixoiden Betriebssystemen üblich, sich eine der üblichen Shells 
aussuchen, standardmäßig ist's die Bash.

Ansonsten kann man auch den Automator verwenden, und damit auf 
standardisierte Weise Aktionen im Finder und anderen Programmen 
automatisieren.
Moderator #5149921
Lesenswert?

Falls du in deinem Windows eine Bash installiert hast (sollte man
eigentlich immer haben ;-)):
1
#!/bin/bash
2
for file in * .*; do
3
  if [ -f "$file" ]; then
4
    ext=${file##*.}
5
    [ "$ext" == "$file" ] && ext=""
6
    dir=${ext:-noext}
7
    mkdir -p "$dir"
8
    mv -i "$file" "$dir"
9
  fi
10
done

Vor dem Aufruf:
1
$ tree -a
2
.
3
├── .huhu
4
├── bild1.bmp
5
├── bild2.bmp
6
├── datei1
7
├── datei2.
8
├── prog1.c
9
├── prog2.c
10
├── text.alt.doc
11
├── text1.doc
12
└── text2.doc
13

14
0 directories, 10 files

Nach dem Aufruf:
1
$ tree -a
2
.
3
├── bmp
4
│   ├── bild1.bmp
5
│   └── bild2.bmp
6
├── c
7
│   ├── prog1.c
8
│   └── prog2.c
9
├── doc
10
│   ├── text.alt.doc
11
│   ├── text1.doc
12
│   └── text2.doc
13
├── huhu
14
│   └── .huhu
15
└── noext
16
    ├── datei1
17
    └── datei2.
18

19
5 directories, 10 files

Die benötigten Unterverzeichnisse werden automatisch angelegt.

Alle Dateien ohne Extension werden ins Verzeichnis noext verschoben.

Das Skript kann problemlos wiederholt aufgerufen werden, wenn bspw. im
Hauptverzeichnis neue Dateien hinzukommen.

Existiert eine zu verschiebende Datei bereits in dem entsprechenden
Unterverzeichnis, wird abgefragt, ob die bestehende Datei überschrieben
werden soll.

Möglicherweise hat das Skript noch Bugs, die bspw. bei ganz seltsamen
Dateinamen auftreten. Jeder, der das Skript benutzt, ist deswegen
angehalten, es auch zu verbessern ;-)

Wer Windows nutzt und keine Bash installieren möchte, kann das Skript
sicher ganz leicht für die Powershell umschreiben.
Gast #5149960
Lesenswert?

Klaus schrieb:
>ja, das ist schon klar. Aber hierbei wird für jeden Typ eine Befehlszeil
>benötigt.

Geht auch mit einer *.BAT Datei. Nimm einen Texteditor der
reinen Text erzeugen kann, da schreibst du deine ganzen
Befehlszeilen rein und speichers das dann zum Beispiel
als "kopieren.bat ab" und führst diese Datei danach aus.
Beitrag #5150645 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren