Seit heute Morgen bin ich auf der Suche nach eine Batch, die mir anhand des Dateinamens, ein Ordner erstellt und die passende Datei da rein verschiebt.
Aber alle die ich gefunden hab, funktionieren leider nicht.
Ich kann dir eben ein kleines Bat-File zusenden, was das machen sollte was du möchtest. Kann natürlich auch sauber angepasst werden.
Geändert von Unlimiter (04.04.2015 um 14:45 Uhr) Grund: RS-Fehlerkorrektur
Hi,
damit das funktioniert muss die Variable HOMEDIR korrekt gefüllt werden. Es muss das genau Verzeichnis gesetzt werden in dem sich der zu sortierende Inhalt befindet MIT abschließendem SLASH!!
GrüßeCode:set HOMEDIR="D:\devtest_batch\" For /f "Tokens=*" %%i IN ('Dir /B /S %HOMEDIR%*.*') do ( md "%HOMEDIR%%%~ni" move "%%~i" "%HOMEDIR%%%~ni" )
SzeneBox.org bei Telegram https://t.me/szenebox
Ich hab eine gfunden die auch geht:
Allerdings erstellt das Teil Ordner ala "Video.avi" oder "Clip.flv"Code:@echo off rem rekursiver Aufruf? (1.Parameter == /R) if %1.==/R. goto rekursiv rem ein Prameter vorhanden? if %1.==. goto no_params set src=%1 :param_ rem erster Prameter sollte der Ordner sein, wo's abgeht if not exist %src%\* goto err_param rem und nun für jede Datei innerhalb des Quellordners ... rem dabei ist: rem '%%i' die "For"-Variable rem '%0' ist das script selbst rem 1 '/R' die Markierung für den rekursiven Aufruf rem 2 '%src%' der Quellordner rem 3 '%%~fi' Laufwerk+Pfad+Name+Erweiterung der Datei rem 4 '%%~dpsi' Laufwerk+Pfad+Name+Erweiterung als '8.3' for %%i in (%src%\*.*) do call %0 /R "%src%" "%%~fi" %%~si goto end_batch rem -------------------------------------------------- :rekursiv rem bin ich's selbst??? Ooops! if %3.==%0. goto exit_batch rem check %3 (Datei) if not exist %3 goto err_R_Datei rem "falschen" Ordner erstellen ... if exist %4__\* goto err_R_Dummy md %4__ rem ... Datei verschieben ... move %3 %4__ >Nul rem ... und "falschen" Ordner korrigieren... move %4__ %3 goto exit_batch rem -------------------------------------------------- :no_params echo. echo. kein Ordner angegeben... echo. verwende aktuellen Ordner set src=. rem ... und Rücksprung goto param_ rem echo. [Abbruch] rem echo. rem goto end_batch :err_param echo. echo. Ordner "%1" scheint nicht zu existieren, kein Zugriff oder nix drin! echo. [Abbruch] echo. goto end_batch :err_R_Datei echo. Kein Zugriff auf oder Datei "%3" existiert nicht! echo. [skip...] goto exit_batch :err_R_Dummy echo. Dummer Zufall... echo. Dummy-Ordner "%4__" existiert bereits! echo. [skip...] goto exit_batch rem -------------------------------------------------- :end_batch rem falls noch irgendetwas zu sagen ist... pause :exit_batch
Und bei Sonderzeichen ala & % im Namen streickt es.
%~ni => nötig, damit die Extension weggelassen wird
i=Variable;
Frohe Ostern!
Interne Übertragung
Läuft seit Jahren im Hintergrund mit. Jetzt kommt der Neubau.