Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Dateien in bestimmte Ordner verschieben

Frage Entwicklung Batch & Shell

Mitglied: Armin1893

Armin1893 (Level 1) - Jetzt verbinden

13.03.2012 um 14:06 Uhr, 2615 Aufrufe, 4 Kommentare

Hallo zusammen,

bin neu hier und plage mich seit geraumer Zeit mit einem für mich unlösbarem Problem herum.
Nun habe ich dieses Forum gefunden und hoffe auf Eure Unterstützung.

Die Ausgangslage ist Folgende :

Ich habe in einem Verzeichnis tausende (ca. 8000) Bilder (jpg) und möchte diese anhand einer bestimmten Anzahl Stellen des Dateinamens in ein Verzeichnis verschieben.

Also z.B. : Verzeichnisinhalt
BildA_4711.jpg
BildA_4712.jpg
BildB_4711.jpg
BildB_4712.jpg

Abhängig vom Dateinamen sollen alle Bilder mit Namen BildA*.jpg in Ordner \BildA , die Bilder mit Dateinamen BildB*.jpg in Ordner \BildB verschoben werden.
Der Ordnername soll analog der bestimmten Anzahl Stellen des Filenamens lauten. Ist der jeweilige Ordner nicht vorhanden, einfach anlegen, ansonsten nur das jeweilige File verschieben.

Denke für euch Profis ist das kein Problem, ich bin am Verzweifeln.

Im Voraus besten Dank

Grüsse - Armin
Mitglied: bastla
13.03.2012 um 14:20 Uhr
Hallo Armin1893 und willkommen im Forum!

Wenn doch offensichtlich der Unterstrich als Trennzeichen verwendet werden kann, sollte doch etwas in der Art funktionieren (ist allerdings ungetestet):
01.
@echo off & setlocal 
02.
set "Quelle=D:\Das Verzeichnis mit den tausenden Bildern" 
03.
set "Ziel=D:\Das Verzeichnis mit den Unterordnern" 
04.
 
05.
pushd "%Quelle%" 
06.
for /f "delims=_" %%i in ('dir /b *.jpg') do if exist "%%i_*.jpg" ( 
07.
    md "%Ziel%\%%i" 2>nul 
08.
    move "%%i_*.jp" "%Ziel%\%%i\" 
09.
10.
popd
Zum Testen solltest Du nur mal ein paar Bilder in einen anderen Quell-Ordner kopieren ...

Grüße
bastla
Bitte warten ..
Mitglied: Armin1893
13.03.2012 um 14:43 Uhr
Hallo Bastla,

erstmal herzlichen Dank für die rasche Antwort !

Der Unterstrich als Trennzeichen sollte nur exemplarisch sein. In der Realität sehen die Dateinamen etwa so aus : 20011954UeberUnterNebenan..., dieses File sollte in einen Ordner verschoben werden, der wie die definierte Anzahl Stellen des Filenames lautet, im Bespiel \20011954. Also eine definierte Länge des Dateinamens (im Beispiel 8 Zeichen) entspricht dem Ordnernamen.

Grüße - Armin
Bitte warten ..
Mitglied: bastla
13.03.2012 um 17:25 Uhr
Hallo Armin1893!

Dann eben so:
01.
@echo off & setlocal 
02.
set "Quelle=D:\Das Verzeichnis mit den tausenden Bildern" 
03.
set "Ziel=D:\Das Verzeichnis mit den Unterordnern" 
04.
set "Typ=jpg" 
05.
set /a Stellen=8 
06.
 
07.
pushd "%Quelle%" 
08.
for /f "delims=" %%i in ('dir /b *.%Typ%') do call :ProcessFile "%%i" 
09.
popd 
10.
goto :eof 
11.
 
12.
:ProcessFile 
13.
set "Name=%~n1" 
14.
call set "Ordner=%%Name:~,%Stellen%%%" 
15.
md "%Ziel%\%Ordner%" 2>nul 
16.
move %1 "%Ziel%\%Ordner%\" 
17.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: Armin1893
13.03.2012 um 19:01 Uhr
Hallo bastla,

einfach genial, funktioniert super !!!

Herzlichen Dank für die schnelle Hilfe, bin absolut begeistert !

Grüsse - Armin
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Dateien aus Unterordner eine Ebene höher verschieben (2)

Frage von OOmatrixOO zum Thema Batch & Shell ...

Batch & Shell
Aktuellste Dateien per bash in Ordner verschieben (7)

Frage von wescraven07 zum Thema Batch & Shell ...

Batch & Shell
Dateien in einen Ordner zählen mit einer bestimmten Dateiendung (4)

Frage von tommhii zum Thema Batch & Shell ...

Outlook & Mail
Bestimmte Elemente und Ordner per klick in PST Datei verschieben (5)

Frage von piwo91 zum Thema Outlook & Mail ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(16)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (32)

Frage von McLion zum Thema Router & Routing ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (24)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerk Neustrukturierung (15)

Frage von IT-Dreamer zum Thema Windows Netzwerk ...