Ich habe eine Batch-Datei, die eine Token-Datei des Namensformats xyz_yyyyddmmhhmmss (Hinzufügen von Zeitstempel) basierend auf einigen Bedingungen erstellt. Problem ist, wenn die Token-Datei von 0:00 bis 9:59 erstellt wird, der Zeitteil des Dateinamens besteht aus 5 Ziffern und ansonsten aus 6 Ziffern. Es wird davon verlangt, um von 6 Ziffern zu bleiben.Batch-Datei zum Erstellen einer Datei mit Zeitstempel
for /f "tokens=1 delims=/ " %%j in ("%date%") do set d1=%%j
for /f "tokens=2 delims=/ " %%j in ("%date%") do set d2=%%j
for /f "tokens=3 delims=/ " %%j in ("%date%") do set d3=%%j
for /f "tokens=4 delims=/ " %%j in ("%date%") do set d4=%%j
for /f "tokens=1 delims=: " %%j in ("%time%") do set t1=%%j
for /f "tokens=2 delims=: " %%j in ("%time%") do set t2=%%j
for /f "tokens=3 delims=:. " %%j in ("%time%") do set t3=%%j
if exist %1xyz_*.tkn (del %1xyz_*.tkn
dir %1*.txt>%1xyz_%d4%%d2%%d3%%t1%%t2%%t3%.tkn)
if not exist %xyz_*.tkn (dir %1*.txt>%1xyz_%d4%%d2%%d3%%t1%%t2%%t3%.tkn)
Bitte geben Sie Ihre Eingaben.
Danke!
Sie verwenden sollten, 'für/F "tokens = 1-7 delims = /.," %% I in ("% date%,% time%") stelle "d1 = %% I" & setze "d2 = %% J" & setze "d3 = %% K" & setze "d4 = %% L" & setze "t1 = %% M" & setze "t2 = %% N" '& setze" t3 = %% O "' '; Andernfalls, wenn Sie Ihren Code sehr kurz vor Mitternacht ausführen und "% date%" /% "time%" mehrmals lesen, erhalten Sie möglicherweise unerwartete Ergebnisse. Beachten Sie, dass '% date%' und '% time%' Datum und Uhrzeit in einem Format abhängig von Ihren Gebietsschemaeinstellungen zurückgeben ... – aschipfl
Wenn möglich, sollten Sie eine Lösung bevorzugen, die unabhängig von lokalen Einstellungen ist [wie diese] (http : //stackoverflow.com/a/18024049/2152082) – Stephan