Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 Unterordner anhand Dateinamen mit Trennzeichen verschieben

Frage Entwicklung Batch & Shell

Mitglied: woswasih

woswasih (Level 1) - Jetzt verbinden

16.06.2014, aktualisiert 18.06.2014, 1164 Aufrufe, 2 Kommentare

Grüß Euch!
Ich glaub ich habe gerade eine Knopf im Kopf und stehe vor folgenden Problem:

Ordner mit hunderten Dateien mit Folgenden Aufbau: "Typ-Gruppe-Gruppe2-Inhalt.pdf (Teilweise auch mehr oder Weniger Gruppen)
Also Zb: "Audi-A4-Motor-Batterie.pdf"
Diese Datien sollen immer in den jeweiligen Ordner und Unterordner verschoben welcher in dem Beispiel wie Folgt aussieht:
"\Audi\A4\Motor\Batterie\"

Habe folgendes Script wälches eigentlich ganz gut funtkioniert, jedoch das letzte also den Ordner "Batterie" ignoriert...

01.
@echo off  
02.
set Quelle=C:\Datein\ 
03.
 
04.
for /f "delims=" %%i in ('dir /b /a-d "%Quelle%*-*.*" 2^>nul') do call :copy "%%i" 
05.
 
06.
:copy 
07.
For /f "delims=- tokens=1,2,3,4,5" %%i in (%1) do (  
08.
	Set "ordner1=%%i"   
09.
	Set "ordner2=%%j"  
10.
	Set "ordner3=%%k"  
11.
	Set "ordner4=%%l" 
12.
	Set "ordner5=%%m" 
13.
14.
 
15.
echo. %ordner1% |find /i "." 
16.
IF %errorlevel%==0 goto :jump 
17.
 
18.
echo. %ordner2% |find /i "." 
19.
IF %errorlevel%==0 goto :nr1 
20.
 
21.
echo. %ordner3% |find /i "." 
22.
IF %errorlevel%==0 goto :nr2 
23.
 
24.
echo. %ordner4% |find /i "." 
25.
IF %errorlevel%==0 goto :nr3 
26.
 
27.
echo. %ordner5% |find /i "." 
28.
IF %errorlevel%==0 goto :nr4 
29.
 
30.
:nr1 
31.
	Set pfad=%ordner1%\  
32.
	IF NOT exist "%pfad%" md "%pfad%" 
33.
	MOVE /-Y "%~1" "%pfad%" 
34.
	goto :jump	 
35.
 
36.
:nr2 
37.
	Set pfad=%ordner1%\%ordner2%\ 
38.
	IF NOT exist "%pfad%" md "%pfad%" 
39.
	MOVE /-Y "%~1" "%pfad%" 
40.
	goto :jump 
41.
 
42.
:nr3 
43.
	Set pfad=%ordner1%\%ordner2%\%ordner3%\ 
44.
	IF NOT exist "%pfad%" md "%pfad%" 
45.
	MOVE /-Y "%~1" "%pfad%" 
46.
	goto :jump 
47.
 
48.
:nr4 
49.
	Set pfad=%ordner1%\%ordner2%\%ordner3%\%ordner4%\ 
50.
	IF NOT exist "%pfad%" md "%pfad%"  
51.
	MOVE /-Y "%~1" "%pfad%" 
52.
	goto :jump 
53.
 
54.
:jump
Hoffe ihr habt einen Tipp für mich!
Danke und LG!
Mitglied: bastla
LÖSUNG 16.06.2014, aktualisiert 18.06.2014
Hallo woswasih!

Ich würde das etwa so versuchen:
01.
@echo off & setlocal 
02.
set "Quelle=C:\Datein" 
03.
 
04.
for /f "delims=" %%i in ('dir /b /a-d "%Quelle%\*-*.*" 2^>nul') do set "Name=%%~ni" & call :ProcessFile "%%i" 
05.
goto :eof 
06.
 
07.
:ProcessFile 
08.
set "Pfad=%Quelle%\%Name:-=\%" 
09.
md "%Pfad%" 2>nul 
10.
move %1 "%Pfad%\" 
11.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: woswasih
18.06.2014 um 10:02 Uhr
Danke!
Habe zwar mittlweile meinen Lösungsweg angepasst gehabt, jedoch ist deiner zig fach schneller!!

Besten dank nochmal!
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Umbenennen entpackter Dateien nach Dateinamen der rar- zip-Datei

Frage von windows-nutzer zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateien verschieben die älter sind wie 1 Tag (3)

Frage von pblacky zum Thema Batch & Shell ...

VB for Applications
Ordner inkl Dateien und Unterordner mit VBA löschen (3)

Frage von it4baer zum Thema VB for Applications ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

iOS
16 iPads zentrall verwalten (14)

Frage von simonlohr zum Thema iOS ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (11)

Frage von Matsushita zum Thema Microsoft Office ...