Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

(Batch) Time Variable modifizieren

Frage Entwicklung Batch & Shell

Mitglied: DatBatch

DatBatch (Level 1) - Jetzt verbinden

05.10.2014, aktualisiert 06.10.2014, 873 Aufrufe, 8 Kommentare

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...
Mitglied: rubberman
LÖSUNG 05.10.2014, aktualisiert 06.10.2014
Hallo DatBatch,

ich verstehe zwar den Sinn nicht, aber möglich ist das schon.
01.
if "%time:~0,1%"==" " (set /a "stunde_ziffer_1=0") else set /a "stunde_ziffer_1=%time:~0,1%" 
02.
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%"
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
Bitte warten ..
Mitglied: DatBatch
06.10.2014 um 16:37 Uhr
Danke hat funktioniert aber was bring t das if am anfang
Bitte warten ..
Mitglied: rubberman
06.10.2014 um 17:58 Uhr
Hallo DatBatch,

einstellige Stunden haben (zumindest unter meinem Win7) keine vorangestellte Null, sondern nur ein Leerzeichen. Die IF Anweisung fängt diesen Fall ab und setzt statt Leerzeichen eine Null in der Variablen stunde_ziffer_1.

Grüße
rubberman
Bitte warten ..
Mitglied: DatBatch
06.10.2014 um 20:53 Uhr
Ok und ach ja ich hatte mit time vor eine art ASCII Uhr zu machen da muss ja jede ziffer als variable genommen werden

Aber ein Problem :
Da z.b. die acht
OOOO
O O
OOOO
O O
OOOO

Da die acht mehrere zeilen hat weiß ich nicht
Wie ich eine Mehrzeilige variable machen kann
Hat wer ne Lösung ist jetzt relativ vom titel abgwiesen aber trotztdem sonst kann ich auch einen neuen Thread erstellen
Bitte warten ..
Mitglied: rubberman
06.10.2014, aktualisiert um 22:04 Uhr
Einfache (aber hässliche) Variante: Für jede Ziffer und jede Zeile eine Variable definieren, die exakt die auszugebende Zeichenanordnung enthält.

01.
@echo off &setlocal 
02.
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]=     " 
03.
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  " 
04.
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]=     " 
05.
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  " 
06.
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]=     " 
07.
 
08.
set /a "num1=2, num2=1, num3=5, num4=8, num5=3, num6=7" 
09.
 
10.
setlocal EnableDelayedExpansion 
11.
echo( 
12.
echo ![%num1%.1]!![%num2%.1]!![D.1]!![%num3%.1]!![%num4%.1]!![D.1]!![%num5%.1]!![%num6%.1]! 
13.
echo ![%num1%.2]!![%num2%.2]!![D.2]!![%num3%.2]!![%num4%.2]!![D.2]!![%num5%.2]!![%num6%.2]! 
14.
echo ![%num1%.3]!![%num2%.3]!![D.3]!![%num3%.3]!![%num4%.3]!![D.3]!![%num5%.3]!![%num6%.3]! 
15.
echo ![%num1%.4]!![%num2%.4]!![D.4]!![%num3%.4]!![%num4%.4]!![D.4]!![%num5%.4]!![%num6%.4]! 
16.
echo ![%num1%.5]!![%num2%.5]!![D.5]!![%num3%.5]!![%num4%.5]!![D.5]!![%num5%.5]!![%num6%.5]! 
17.
echo( 
18.
endlocal 
19.
 
20.
pause
Es gibt andere Varianten, die aber ungleich schwieriger zu verstehen sind.

Grüße
rubberman
Bitte warten ..
Mitglied: DatBatch
07.10.2014 um 07:11 Uhr
Ne eher nicht könnte man vieleicht die ziffer in txt datein schreiben und dann mit type auslesen
Aber das Problem ist ja das ich eine Variable will mit FOR klappt das aber leider ohne Leerzeichen hast du vielleicht dazu ne Lösung
Bitte warten ..
Mitglied: rubberman
07.10.2014 um 17:56 Uhr
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 ...
01.
@echo off &setlocal EnableDelayedExpansion 
02.
 
03.
call :initvars 
04.
 
05.
set "sek=" 
06.
for /l %%i in (0) do ( 
07.
  set "zeit=!time: =0!" 
08.
  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!" 
09.
  if "!sek!" neq "!num6!" ( 
10.
    call :output 
11.
    set /a "sek=num6" 
12.
13.
  >nul ping -n 1 localhost 
14.
15.
 
16.
exit /b 
17.
 
18.
:initvars 
19.
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]=     " 
20.
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  " 
21.
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]=     " 
22.
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  " 
23.
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]=     " 
24.
exit /b 
25.
 
26.
:output 
27.
cls 
28.
echo( 
29.
echo  ![%num1%.1]!![%num2%.1]!![D.1]!![%num3%.1]!![%num4%.1]!![D.1]!![%num5%.1]!![%num6%.1]! 
30.
echo  ![%num1%.2]!![%num2%.2]!![D.2]!![%num3%.2]!![%num4%.2]!![D.2]!![%num5%.2]!![%num6%.2]! 
31.
echo  ![%num1%.3]!![%num2%.3]!![D.3]!![%num3%.3]!![%num4%.3]!![D.3]!![%num5%.3]!![%num6%.3]! 
32.
echo  ![%num1%.4]!![%num2%.4]!![D.4]!![%num3%.4]!![%num4%.4]!![D.4]!![%num5%.4]!![%num6%.4]! 
33.
echo  ![%num1%.5]!![%num2%.5]!![D.5]!![%num3%.5]!![%num4%.5]!![D.5]!![%num5%.5]!![%num6%.5]! 
34.
echo( 
35.
exit /b
Grüße
rubberman
Bitte warten ..
Mitglied: DatBatch
07.10.2014 um 18:13 Uhr
Okay...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Mit Batch Zeilen aus TXT modifizieren
gelöst Frage von chef1568Batch & Shell4 Kommentare

Hallo zusammen, leider konnte ich mit den bisherigen Threads mein Problem bisher nicht lösen. Problemstellung: In einer Textdatei sind ...

JavaScript
Script modifizieren
Frage von Maik007JavaScript2 Kommentare

Hallo, ich habe folgendes Script was ich gerne modifizieren möchte. Ich möchte den Startwert bestimmen und die maximale Gewinnsumme. ...

Batch & Shell
Batch - Variablen
gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

CPU, RAM, Mainboards
Aptio BIOS modifizieren
Frage von Kyro87CPU, RAM, Mainboards10 Kommentare

Hallo Zusammen, ich habe auf einem ASUS K75VJ ein defektes Bios geflashed. Dieses Bios war das neuste Update - ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 3 StundenLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...