pbelcl
Goto Top

Datei mit Datum im Namen erstellen

Ich habe mir ein kleines Batch geschrieben, das mir eine Date erstellt, die im Namen das Datum und die Zeit hat.

@ECHO OFF
SET "_datetime=%date:~6,4%-%date:~3,2%-%date:~0,2%__%time:~0,2%h%time:~3,2%.lua"  
ECHO ; >>%_datetime%

Gestern Abend hat dieses Ding perfekt funktioniert!
Heute Früh ist offensichtlich die Stunde nur mehr einstellig und das Batch erzeugt aufgrund des Leerzeichens an der ersten Stelle der Stunde ZWEI unbrauchbare Dateien ;-(

Habt ihr einen Tipp wie ich da bei Uhrzeiten von 0-9 Uhr eine "0" davor bekomme?

Content-ID: 358172

Url: https://administrator.de/contentid/358172

Ausgedruckt am: 08.11.2024 um 05:11 Uhr

Franz-Josef-II
Franz-Josef-II 14.12.2017 um 08:43:13 Uhr
Goto Top
Guten Morgäähhhnnn

Wenn ich als "Nichtscripter" bzw "Script-Anfänger" das richtig interpretieren, wird hier eine ".lua-Datei" erzeugt? Ist das "nur" ein Codeschnipsel? D.h. könnte es auch z.B. in der Powershell geschrieben oder muß es die (alte) bat sein?
Lochkartenstanzer
Lösung Lochkartenstanzer 14.12.2017, aktualisiert am 15.12.2017 um 08:37:25 Uhr
Goto Top
Siehe

https://de.m.wikibooks.org/wiki/Batch-Programmierung:_Programmierungshil ...

unter dem Thema Datum und Zeit.

Oder Du stellst ein Zeitformat ein, daß Nullen stattt Leerzeichen benutzt.

lks
134998
134998 14.12.2017 aktualisiert um 11:53:17 Uhr
Goto Top
If I have to use batch (almost does not happen anymore, we are living in 2017 and Billy the Gates is history face-wink) I use this approach because it is locale independent, using %date% is not by the way!:
@echo off & setlocal ENABLEDELAYEDEXPANSION
for /f %%a in ('wmic path win32_Localtime get Year^,Month^,Day^,Hour^,Minute^,Second /value ^| findstr .') do set /a %%a  
for %%a in (month day hour minute second) do set "tmp=0!%%a!" &set "%%a=!tmp:~-2!"  
set "timestamp=%Year%%Month%%day%_%Hour%%Minute%%Second%"  
echo %timestamp%

Welcome to the future and use "Power of the shell" my friend
get-date -F yyyyMMddHHmmss
Best regards
Tom
pbelcl
pbelcl 14.12.2017 um 16:26:09 Uhr
Goto Top
Danke für den Tipp, habe mein Batch jetzt nach der Beschreibung in deinem Link etwas abgewandelt.
@ECHO OFF
set ftime=%time:~0,2%%time:~3,2%%time:~6,2%
if "%ftime:~0,1%"==" " set ftime=0%ftime:~1,6%  
SET "fdate=%date:~6,4%-%date:~3,2%-%date:~0,2%"  

ECHO ; >>%fdate%__%Ftime%.lua
START "" "%Commander_Path%\Tools\Notepad++\notepad++.exe" %fdate%__%Ftime%.lua  

Jetzt gerade klappt es, mal sehen ob es morgen früh auch noch funktioniert face-wink
Lochkartenstanzer
Lösung Lochkartenstanzer 14.12.2017 um 16:33:41 Uhr
Goto Top
Zitat von @pbelcl:

Danke für den Tipp,

Gern geschehen.

Jetzt gerade klappt es, mal sehen ob es morgen früh auch noch funktioniert face-wink

Wenn's das war dann noch ein Wie kann ich einen Beitrag als gelöst markieren?

lks
pbelcl
pbelcl 15.12.2017 um 07:32:12 Uhr
Goto Top
Funktioniert heute früh mit einstelliger Uhrzeit immer noch, danke für eure Hilfe!