Forum: PC Hard- und Software Dateitypen automatisch verschieben


von Klaus (Gast)


Lesenswert?

Hallo

Ich möchte in einem Folder mit einigen 1000 Files Dateitypen automatisch 
in entsprechende folder verschieben lassen. Also *.bmp in Folder BMP, 
*.doc in Folder DOC usw

wie bekomm ich das hin?

von ein anderer Gast (Gast)


Lesenswert?

Kommandozeile oder batch-file mit den Befehlen..
Ich gehe davon aus, dass es sich um Windows handelt

move /y "Pfad Ordner A\*\*.bmp" "Pfad Ordner B"

von Martin (Gast)


Lesenswert?

die gute alte Kommandozeile.
Was machen eigentlich MAC user?

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Klaus (Gast)


Lesenswert?

ein anderer Gast schrieb:
> Ich gehe davon aus, dass es sich um Windows handelt
>
> move /y "Pfad Ordner A\*\*.bmp" "Pfad Ordner B"

ja, das ist schon klar. Aber hierbei wird für jeden Typ eine Befehlszeil 
benötigt. Gerade dies wollte ich vermeinden. Bei über 100 versch. 
Dateitypen wird es zu umständlich

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dann schreib' Dir ein Skript dafür. Kann man in VB-Script machen, das 
versteht von Hause aus jedes Windows.
Mit kruder Syntax kann man das aber auch direkt als Batch für cmd.exe 
schreiben.

Oder man nimmt die "PowerShell", die bei neueren Windows-Versionen 
vorhanden ist, die bietet weitere Möglichkeiten für Skriptsteuerung.

von Yalu X. (yalu) (Moderator)


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.

: Bearbeitet durch Moderator
von Günter Lenz (Gast)


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 vom Autor gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.