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

Variablen in Batch-Dateien

Frage Entwicklung Batch & Shell

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

18.03.2011 um 21:51 Uhr, 4189 Aufrufe, 2 Kommentare

Hallo,
ich habe mehrere Batchdateien erstellt zur Systempflege (Datenträgerbereinigung, Temp-Dateien löschen, Protokolle löschen, Defragmentierung, Acronis-Backup).
Zwecks Protokollierung wird eine Logdatei erstellt. Allerdings möchte ich das Datum und die Uhrzeit in einem bestimmten Format eintragen.

Da während des Vorgangs auch einige Neustart`s notwendig sind (ich benutze Drive.Keeper für meine Internet-Partition, da z.B. die Defragmentierung mittels O&O-defrag bei aktiv nicht möglich ist), und auch die Ausführung der Haupt-Batch (insgesamt rund 550 Zeilen) die Zeit vergeht, muss ich ständig vor einem Protokoll-Eintrag die Uhrzei-Variable aktuallisieren. Klar, ich könnte auch einfach %TIME% nutzen, aber das möchte ich nicht. Es geht mir da irgendwie um`s Prinzip.

Gibt es eine Möglichkeit, wenn ich innerhalb der Batch mittels GOTO zu einer Stelle springe, hier die Variable aktuallisiere, und dann zum Ausgang zurückkehre und fortsetze?
Oder muss ich wirklich den Umweg über eine extra Batch mittels CALL gehen? Ich fände es interessanter es innerhalb der Batch abzuwickeln. Ich könnte natürlich für jede Aktuallisierung der Variablen eine extra Sprungadresse machen. Aber das währe ja nicht gerade elegant. Da kann ich es ja auch gleich (wie es jetzt ist) unmittelbar vor dem Logeintrag reinsetzen.

Es interessiert mich ganz einfach, ob es da auch eine andere Lösung geben könnte.

Hier meine zwei formatierten Variablen, die ich immer wieder aktuallisieren muss:

01.
SET DATUM=%date:~-4%-%date:~3,2%-%date:~0,2% 
02.
SET UHRZEIT=%TIME% & for /F "tokens=1-3 delims=:," %%i in ("%TIME%") do SET "UHRZEIT=%%i:%%j"
Bin ja mal gespannt, ob es da doch eine Lösung gibt...

Gruß
Torsten
Mitglied: bastla
18.03.2011 um 22:02 Uhr
Hallo TorstenB!

Soferne ich Dich richtig verstehe, benötigst Du ein Unterprogramm - daher einfach
01.
... 
02.
call :GetTime 
03.
echo %DATUM% %UHRZEIT% 
04.
... 
05.
goto :eof 
06.
 
07.
:GetTime 
08.
SET "DATUM=%date:~-4%-%date:~-7,2%-%date:~-10,2%" 
09.
for /F %%i in ('time /t') do SET "UHRZEIT=%%i" 
10.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: goodbytes
19.03.2011 um 10:11 Uhr
Hallo bastla,
genau das ist es!

Manchmal kann es ja so einfach sein; ich hätte mir nur die call-Optionen genauer ansehen müssen...

Ich war beisher immer der Meinung, dass ich damit nur Externes aufrufen kann. Jetzt bin ich eines besseren belehrt...

Vielen Dank, bastla !!!

Gruß
Torsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In einer Batch variable die Datei extension ermitteln ?
Beitrag von 4 Kommentare

Frage von Kriegstreiber zum Thema Batch & Shell

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen
Beitrag von 3 Kommentare

Frage von 126594 zum Thema Batch & Shell

Batch & Shell
Zu viele Variablen in Batch-Script? Speicherproblem?
Beitrag von 2 Kommentare

Frage von dolsch zum Thema Batch & Shell

Batch & Shell
In einer Batch-Datei einen variablen Teil eines Dateinamens auslesen
Beitrag von 5 Kommentare

Frage von dh0815 zum Thema Batch & Shell

Neue Wissensbeiträge
MikroTik RouterOS

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

Beitrag von 4 Kommentare

Anleitung von colinardo zum Thema MikroTik RouterOS

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Beitrag von

Information von BassFishFox zum Thema Sicherheit

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Beitrag von 5 Kommentare

Information von admtech zum Thema Administrator.de Feedback

Vmware

VMware Desktopprodukte sind verwundbar

Beitrag von

Information von Penny.Cilin zum Thema Vmware

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Beitrag von 24 Kommentare

Frage von ahstax zum Thema Visual Studio

Windows Netzwerk
Netzwerk Neustrukturierung
Beitrag von 16 Kommentare

Frage von IT-Dreamer zum Thema Windows Netzwerk

Windows Server
RDP macht Server schneller???
Beitrag von 16 Kommentare

Frage von JaniDJ zum Thema Windows Server

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Beitrag von 15 Kommentare

Frage von Akcent zum Thema Windows 10