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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.