leipziger1979
Rear Admiral
- Registriert
- Dez. 2014
- Beiträge
- 6.111
Habe hier ein kleines Problem, dessen Lösung vermutlich simpel ist, aber...
Habe viele Dateien die in ihrem Namen Datum und Uhrzeit enthalten, hier im Beispiel die 3 Textdateien:
In der CMD soll nun eine Batch aufgerufen werden mit der alle Dateien übergeben werden.
Dort soll das Datum und Uhrzeit in Variablen geschrieben werden die es dann im Abschluss an das Programm filetouch übergibt und das ändert dann das Datum und die Uhrzeit der Dateien.
Wenn ich die datumchange.bat nutze und eine Datei übergebe funktioniert es:
Wenn ich jedoch die datumchangefor.bat nutze, und es über eine FOR Schleife für jede Datei läuft, funktioniert es nicht:
Man sieht schön das zwar die Dateien richtig eingelesen werden und auch an das Programm übergeben werden aber das mit den Variablen funktioniert nicht.
Habe auch schon das mit "setlocal enabledelayedexpansion" in der Batch versucht, hat aber auch nicht geklappt.
Die ECHO sind momentan nur zum prüfen drin.
Hat einer eine Idee warum es nicht geht ?
Habe viele Dateien die in ihrem Namen Datum und Uhrzeit enthalten, hier im Beispiel die 3 Textdateien:
In der CMD soll nun eine Batch aufgerufen werden mit der alle Dateien übergeben werden.
Dort soll das Datum und Uhrzeit in Variablen geschrieben werden die es dann im Abschluss an das Programm filetouch übergibt und das ändert dann das Datum und die Uhrzeit der Dateien.
Wenn ich die datumchange.bat nutze und eine Datei übergebe funktioniert es:
Code:
set filename=%1
set jahr=%filename:~0,4%
set monat=%filename:~5,2%
set tag=%filename:~8,2%
set stunde=%filename:~11,2%
set minute=%filename:~14,2%
set sekunde=%filename:~17,2%
echo %jahr%
echo %monat%
echo %tag%
echo %stunde%
echo %minute%
echo %sekunde%
filetouch /D %monat%-%tag%-%jahr% /T %stunde%:%minute%:%sekunde% %1
Wenn ich jedoch die datumchangefor.bat nutze, und es über eine FOR Schleife für jede Datei läuft, funktioniert es nicht:
Code:
for %%i in (%1) do (
set filename=%%i
set jahr=%filename:~0,4%
set monat=%filename:~5,2%
set tag=%filename:~8,2%
set stunde=%filename:~11,2%
set minute=%filename:~14,2%
set sekunde=%filename:~17,2%
echo %jahr%
echo %monat%
echo %tag%
echo %stunde%
echo %minute%
echo %sekunde%
filetouch /D %monat%-%tag%-%jahr% /T %stunde%:%minute%:%sekunde% %%i
)
Man sieht schön das zwar die Dateien richtig eingelesen werden und auch an das Programm übergeben werden aber das mit den Variablen funktioniert nicht.
Habe auch schon das mit "setlocal enabledelayedexpansion" in der Batch versucht, hat aber auch nicht geklappt.
Die ECHO sind momentan nur zum prüfen drin.
Hat einer eine Idee warum es nicht geht ?