(Batch) Time Variable modifizieren
Hallo User
Wie man in der Überschrift sehen kann möchte ich die Time Variable verändern .
Ich will es so machen das jede einzelnde Ziffer
In eine Variable gesetzt wird wie z.b
%stunde-ziffer-1%
Wär schön wenn das gehen würde
Ich würd mich über ein Feedback freuen...
Wie man in der Überschrift sehen kann möchte ich die Time Variable verändern .
Ich will es so machen das jede einzelnde Ziffer
In eine Variable gesetzt wird wie z.b
%stunde-ziffer-1%
Wär schön wenn das gehen würde
Ich würd mich über ein Feedback freuen...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 251004
Url: https://administrator.de/forum/batch-time-variable-modifizieren-251004.html
Ausgedruckt am: 14.04.2025 um 08:04 Uhr
8 Kommentare
Neuester Kommentar
Hallo DatBatch,
ich verstehe zwar den Sinn nicht, aber möglich ist das schon.
Während die Variable %time% vom Batchprozess dynamisch aktualisiert wird, passiert das für die Einzelvariablen natürlich nicht und sie müssen stets neu berechnet werden.
Grüße
rubberman
ich verstehe zwar den Sinn nicht, aber möglich ist das schon.
if "%time:~0,1%"==" " (set /a "stunde_ziffer_1=0") else set /a "stunde_ziffer_1=%time:~0,1%"
set /a "stunde_ziffer_2=%time:~1,1%, minute_ziffer_1=%time:~3,1%, minute_ziffer_2=%time:~4,1%, sekunde_ziffer_1=%time:~6,1%, sekunde_ziffer_2=%time:~7,1%"
Grüße
rubberman
Einfache (aber hässliche) Variante: Für jede Ziffer und jede Zeile eine Variable definieren, die exakt die auszugebende Zeichenanordnung enthält.
Es gibt andere Varianten, die aber ungleich schwieriger zu verstehen sind.
Grüße
rubberman
@echo off &setlocal
set "[1.1]= O "&set "[2.1]=OOOO "&set "[3.1]=OOOO "&set "[4.1]=O O "&set "[5.1]=OOOO "&set "[6.1]=OOOO "&set "[7.1]=OOOO "&set "[8.1]=OOOO "&set "[9.1]=OOOO "&set "[0.1]=OOOO "&set "[D.1]= "
set "[1.2]= O "&set "[2.2]= O "&set "[3.2]= O "&set "[4.2]=O O "&set "[5.2]=O "&set "[6.2]=O "&set "[7.2]= O "&set "[8.2]=O O "&set "[9.2]=O O "&set "[0.2]=O O "&set "[D.2]= OO "
set "[1.3]= O "&set "[2.3]=OOOO "&set "[3.3]=OOOO "&set "[4.3]=OOOO "&set "[5.3]=OOOO "&set "[6.3]=OOOO "&set "[7.3]= O "&set "[8.3]=OOOO "&set "[9.3]=OOOO "&set "[0.3]=O O "&set "[D.3]= "
set "[1.4]= O "&set "[2.4]=O "&set "[3.4]= O "&set "[4.4]= O "&set "[5.4]= O "&set "[6.4]=O O "&set "[7.4]= O "&set "[8.4]=O O "&set "[9.4]= O "&set "[0.4]=O O "&set "[D.4]= OO "
set "[1.5]= O "&set "[2.5]=OOOO "&set "[3.5]=OOOO "&set "[4.5]= O "&set "[5.5]=OOOO "&set "[6.5]=OOOO "&set "[7.5]= O "&set "[8.5]=OOOO "&set "[9.5]=OOOO "&set "[0.5]=OOOO "&set "[D.5]= "
set /a "num1=2, num2=1, num3=5, num4=8, num5=3, num6=7"
setlocal EnableDelayedExpansion
echo(
echo ![%num1%.1]!![%num2%.1]!![D.1]!![%num3%.1]!![%num4%.1]!![D.1]!![%num5%.1]!![%num6%.1]!
echo ![%num1%.2]!![%num2%.2]!![D.2]!![%num3%.2]!![%num4%.2]!![D.2]!![%num5%.2]!![%num6%.2]!
echo ![%num1%.3]!![%num2%.3]!![D.3]!![%num3%.3]!![%num4%.3]!![D.3]!![%num5%.3]!![%num6%.3]!
echo ![%num1%.4]!![%num2%.4]!![D.4]!![%num3%.4]!![%num4%.4]!![D.4]!![%num5%.4]!![%num6%.4]!
echo ![%num1%.5]!![%num2%.5]!![D.5]!![%num3%.5]!![%num4%.5]!![D.5]!![%num5%.5]!![%num6%.5]!
echo(
endlocal
pause
Grüße
rubberman
Nachdem ich deine Antwort dreimal gelesen habe, weiß ich immer noch nicht wo dein Problem liegt (könnte aber auch am Fehlen von jeglichem Punkt und Komma liegen).
Egal. Eigentlich habe ich dir sowieso schon alles vorgekaut, dann kommt es auf die paar restlichen Zeilen auch nicht mehr an ...
Grüße
rubberman
Egal. Eigentlich habe ich dir sowieso schon alles vorgekaut, dann kommt es auf die paar restlichen Zeilen auch nicht mehr an ...
@echo off &setlocal EnableDelayedExpansion
call :initvars
set "sek="
for /l %%i in (0) do (
set "zeit=!time: =0!"
set /a "num1=!zeit:~0,1!, num2=!zeit:~1,1!, num3=!zeit:~3,1!, num4=!zeit:~4,1!, num5=!zeit:~6,1!, num6=!zeit:~7,1!"
if "!sek!" neq "!num6!" (
call :output
set /a "sek=num6"
)
>nul ping -n 1 localhost
)
exit /b
:initvars
set "[1.1]= O "&set "[2.1]=OOOO "&set "[3.1]=OOOO "&set "[4.1]=O O "&set "[5.1]=OOOO "&set "[6.1]=OOOO "&set "[7.1]=OOOO "&set "[8.1]=OOOO "&set "[9.1]=OOOO "&set "[0.1]=OOOO "&set "[D.1]= "
set "[1.2]= O "&set "[2.2]= O "&set "[3.2]= O "&set "[4.2]=O O "&set "[5.2]=O "&set "[6.2]=O "&set "[7.2]= O "&set "[8.2]=O O "&set "[9.2]=O O "&set "[0.2]=O O "&set "[D.2]= OO "
set "[1.3]= O "&set "[2.3]=OOOO "&set "[3.3]=OOOO "&set "[4.3]=OOOO "&set "[5.3]=OOOO "&set "[6.3]=OOOO "&set "[7.3]= O "&set "[8.3]=OOOO "&set "[9.3]=OOOO "&set "[0.3]=O O "&set "[D.3]= "
set "[1.4]= O "&set "[2.4]=O "&set "[3.4]= O "&set "[4.4]= O "&set "[5.4]= O "&set "[6.4]=O O "&set "[7.4]= O "&set "[8.4]=O O "&set "[9.4]= O "&set "[0.4]=O O "&set "[D.4]= OO "
set "[1.5]= O "&set "[2.5]=OOOO "&set "[3.5]=OOOO "&set "[4.5]= O "&set "[5.5]=OOOO "&set "[6.5]=OOOO "&set "[7.5]= O "&set "[8.5]=OOOO "&set "[9.5]=OOOO "&set "[0.5]=OOOO "&set "[D.5]= "
exit /b
:output
cls
echo(
echo ![%num1%.1]!![%num2%.1]!![D.1]!![%num3%.1]!![%num4%.1]!![D.1]!![%num5%.1]!![%num6%.1]!
echo ![%num1%.2]!![%num2%.2]!![D.2]!![%num3%.2]!![%num4%.2]!![D.2]!![%num5%.2]!![%num6%.2]!
echo ![%num1%.3]!![%num2%.3]!![D.3]!![%num3%.3]!![%num4%.3]!![D.3]!![%num5%.3]!![%num6%.3]!
echo ![%num1%.4]!![%num2%.4]!![D.4]!![%num3%.4]!![%num4%.4]!![D.4]!![%num5%.4]!![%num6%.4]!
echo ![%num1%.5]!![%num2%.5]!![D.5]!![%num3%.5]!![%num4%.5]!![D.5]!![%num5%.5]!![%num6%.5]!
echo(
exit /b
rubberman