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

Mehrere Ordner per Batch erstellen

Frage Entwicklung Batch & Shell

Mitglied: -PzYcO-

-PzYcO- (Level 1) - Jetzt verbinden

19.12.2010 um 22:36 Uhr, 5594 Aufrufe, 5 Kommentare

Hallo liebe Administrator-Gemeinde,
folgenden Ausgangssituation:

In einem Ordner laufen täglich etliche Dateien mit dem gleichen Namensmuster auf: YYYY-MM-DD_HH-MM-SS.jpg
Nun müssen die Bilder in entsprechende Tagesordner (YYYY-MM-DD) sortiert werden.

Leider scheint mein bisheriger Codeschnipsel zum Ordner erstellen nicht zu funktionieren:

01.
for /f %quellordner% %%i in (*.jpg) do ( 
02.
if not exist %i:~1,10% md %i:~1,10% 
03.
)
Außerdem bin ich mir noch nicht sicher wie ich die Bilder anschließend in die entsprechenden Ordner sortiere.

Ich hoffe ihr könnt mir weiterhelfen...
Mitglied: 60730
19.12.2010 um 22:59 Uhr
moin,

for /f %quellordner% %%i in (*.jpg) do (
ich vermute mal - das /f gehört eigentlich woanders hin - denn die Logik kenn ich nur mit /r

for /r %quellordner% %%i in (*.jpg) do (

In Ordner "sortiere" ist auch etwas falsch, in Ordner verschieben (und da PCs nur English können) - move

Du hast also innerhalb der Schleife für jeden Treffer kurzfristig die Variable %i definiert.
Ergo: statt die Schleife wieder zu beenden -

3. move %%i %i:~1,10%\
wäre ein Versuch wert.

Gruß
Bitte warten ..
Mitglied: bastla
19.12.2010 um 23:01 Uhr
Hallo -PzYcO-!

Auf Basis des Dateidatums etwa so:
01.
@echo off & setlocal 
02.
set "quellordner=D:\" 
03.
 
04.
pushd "%quellordner%" 
05.
for %%i in (*.jpg) do ( 
06.
    for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do ( 
07.
        md "%%c-%%b-%%a" 2>nul 
08.
        move "%%i" "%%c-%%b-%%a\" 
09.
10.
11.
popd
Wenn Du stattdessen den Dateinamen (nach Deiner Vorlage) heranziehen willst:
01.
@echo off & setlocal 
02.
set "quellordner=D:\" 
03.
 
04.
pushd "%quellordner%" 
05.
for %%i in (*.jpg) do ( 
06.
    for /f "delims=_" %%a in ("%%~ni") do ( 
07.
        md "%%a" 2>nul 
08.
        move "%%i" "%%a\" 
09.
10.
11.
popd
Beide Ansätze ungetestet, daher vielleicht besser vor dem "move" noch ein "echo" verwenden, um sich die Verschiebebefehle vorweg einmal ansehen zu können ...

Grüße
bastla

P.S.: Substrings können nicht von Schleifenvariablen gebildet werden ...

[Edit] Delimiter "_" nachgetragen [/Edit]
Bitte warten ..
Mitglied: -PzYcO-
19.12.2010 um 23:14 Uhr
Danke euch für die schnelle Hilfe.

Bastla, dein Ansatz gefällt mir gut aber leider besteht der Dateiname nicht nur aus YYYY-MM-DD_HH-MM-SS sondern daran hängt noch der ursprüngliche Dateiname wie die Bilder von der Kamera kommen.
Ist es trotzdem möglich den Dateinamen so zu beschneiden, dass alle Bilder eines Tages in einen Ordner verschoben werden und nicht jedes Bild in einen eigenen?
Bitte warten ..
Mitglied: bastla
19.12.2010 um 23:18 Uhr
Hallo -PzYcO-!

Ich hatte nicht genau genug geschaut und daher den "_" zwischen Datum und Uhrzeit als Leerzeichen interpretiert - ich bessere oben nach ...

Grüße
bastla
Bitte warten ..
Mitglied: -PzYcO-
19.12.2010 um 23:22 Uhr
Bastla, ich danke dir.
Alles funktioniert einwandfrei.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: .rar-Pakete automatisch Ordner erstellen und verschieben (2)

Frage von BowserMD zum Thema Batch & Shell ...

Windows Server
gelöst Ordner erstellen Problem (3)

Frage von IrgendEinName zum Thema Windows Server ...

Windows Server
gelöst Automatisch erstellen von Ordner (9)

Frage von MeisterFuchs zum Thema Windows Server ...

Batch & Shell
gelöst Batch xkopie von Ordner in Ordner (3)

Frage von TicTakTeo zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...