automatisch ordner mit shell erstellen
hallo, vieleicht kann mir ja einer von euch helfen.
ich will das erstellungsdatum einer datei auslesen, damit einen ordner erstellen und die datei anschließend dort hinein kopieren.
das alles sollte mittels windows shell, batchdatei oder dergleichen funktionieren
ich dachte so an:
FOR %%a in (*.CMD) do mkdir %%~ta
FOR %%a in (*.CMD) do copy %%a %%~ta
leider nutzt er hierbei immer noch die uhrzeit und produziert dadurch fehler.
ich möchte hiermit die dateien in einem ordner in unterordner packen, deren namen dem erstellungsdatum entsprechen, sprich:
datei_x vom 01.01.2000 nach ordner 01.01.2000
datei_y vom 10.10.2005 nach ordner 10.10.2005
datei_z vom 01.01.2000 ebenfalls in den ordner 01.01.2000 ... usw.
danke
ich will das erstellungsdatum einer datei auslesen, damit einen ordner erstellen und die datei anschließend dort hinein kopieren.
das alles sollte mittels windows shell, batchdatei oder dergleichen funktionieren
ich dachte so an:
FOR %%a in (*.CMD) do mkdir %%~ta
FOR %%a in (*.CMD) do copy %%a %%~ta
leider nutzt er hierbei immer noch die uhrzeit und produziert dadurch fehler.
ich möchte hiermit die dateien in einem ordner in unterordner packen, deren namen dem erstellungsdatum entsprechen, sprich:
datei_x vom 01.01.2000 nach ordner 01.01.2000
datei_y vom 10.10.2005 nach ordner 10.10.2005
datei_z vom 01.01.2000 ebenfalls in den ordner 01.01.2000 ... usw.
danke
Please also mark the comments that contributed to the solution of the article
Content-Key: 67876
Url: https://administrator.de/contentid/67876
Printed on: April 24, 2024 at 11:04 o'clock
2 Comments
Latest comment
Hallo schmewell und willkommen im Forum!
Vielleicht so:
Nur als Anmerkung: Eine Datumsschreibweise JJJJ-MM-TT finde ich übersichtlicher, daher als Alternative:
Grüße
bastla
Vielleicht so:
@echo off
for %%a in (*.CMD) do for /f %%d in ('echo %%~ta') do (
if not exist %%d md %%d
copy "%%a" %%d>nul
)
@echo off
for %%a in (*.CMD) do for /f %%d in ('echo %%~ta') do call :ProcessFile "%%a" %%d
goto :eof
:ProcessFile
set Datum=%2
set Verz=%Datum:~-4%-%Datum:~-7,2%-%Datum:~-10,2%
if not exist %Verz% md %Verz%
copy %1 %Verz%>nul
Grüße
bastla