Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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 systemzeit auslesen

Frage Entwicklung Batch & Shell

Mitglied: OMussmann

OMussmann (Level 1) - Jetzt verbinden

28.08.2012 um 23:41 Uhr, 6971 Aufrufe, 16 Kommentare

Hallo an das Forum,

ich möchte mit einer Batch-Datei das Systemdatum auslesen und wenn es einem bestimmten Datum entspricht, dann soll eine Befehl ausgeführt werden.

Habt Ihr eine Idee?

LG
Oliver
Mitglied: bastla
28.08.2012 um 23:48 Uhr
Hallo OMussmann!

Verwende einen geplanten Task ...

Grüße
bastla
Bitte warten ..
Mitglied: Christian25
29.08.2012 um 00:00 Uhr
teste doch mal %time% %date%
;)
Bitte warten ..
Mitglied: OMussmann
29.08.2012 um 00:01 Uhr
Danke für den Hinweis. Das hilft mir aber nicht, denn die Batch-Datei soll durch einen User manuell ausgeführt werden ...
Bitte warten ..
Mitglied: Christian25
29.08.2012 um 00:12 Uhr
du kannst mittels set die variablen zerlegen...
set /?
und dann ne if abfrage später als 15 uhr...
das war GTR als op...


if/?
bringt klarheit
Bitte warten ..
Mitglied: OMussmann
29.08.2012 um 00:16 Uhr
mein ansatz war so:

set x=date

if /i x EQU "28-08-2012" (
echo ja
) else (
echo nein
)
Bitte warten ..
Mitglied: Christian25
29.08.2012 um 00:25 Uhr
set x=%date%

und dann x zerlegen...



Hier ein beispiel:


%PATH:~10,5%

Dies erweitert die PATH-Umgebungsvariable und verwendet dann nur fünf
Zeichen ab dem elften Zeichen (Offset=10) des erweiterten Ergebnisses. Wenn die
Länge nicht angegeben ist, wird der Rest des Variablenwerts verwendet.
Wenn eine der Zahlen (Offset oder Länge) negativ ist, dann wird der angegebene
Wert der Länge des Umgebungsvariablenwerts hinzugefügt.

%PATH:~-10%

extrahiert die letzten 10 Zeichen der Variable PATH.

%PATH:~0,-2%

extrahiert alle, außer den letzten 2, Zeichen der Variable PATH.




ist hoffe ich verständlich

Gruß
Bitte warten ..
Mitglied: OMussmann
29.08.2012, aktualisiert um 00:36 Uhr
leider nicht wirklich. wie sähe das in meinem beispiel konkret aus?
warum soll ich x zerlegen?
ist das format des datums denn richtig? ich verwende - als trennzeichen.
Bitte warten ..
Mitglied: bastla
29.08.2012, aktualisiert um 00:38 Uhr
Hallo OMussmann!

Wenn Du Dir die Ausgabe von
echo %date%
ansiehst, weißt Du auch, wie die Zeile
if /i x EQU "28-08-2012" (
richtig lauten muss (wobei das "x" ja gleich durch "%date%" ersetzt werden kann) ...
Wozu soll denn übrigens die Aktion gut sein?

Grüße
bastla

P.S.: Magst Du nicht eine ansprechendere Formatierung für Deinen Batchansatz verwenden (geht auch noch im Nachhinein )?
Bitte warten ..
Mitglied: Christian25
29.08.2012, aktualisiert um 00:48 Uhr
01.
  
02.
C:\Users\Admin>echo %date% 
03.
29.08.2012 
04.
 
05.
C:\Users\Admin>echo %date:~-4% 
06.
2012 
07.
sind wir im richtigen jahr ?  
08.
 
09.
 
10.
C:\Users\Admin>echo %date:~3,-5% 
11.
08 
12.
monats check 
13.
 
14.
 
15.
set jahr=%date:~-4% 
16.
if '%jahr%'=='2012' cls & echo wir sind im jahr 2012 
17.
 





oder sonst halt mit den operatoren


EQU - gleich
NEQ - nicht gleich
LSS - kleiner als
LEQ - kleiner als oder gleich
GTR - größer als
GEQ - größer als oder gleich

genug anregungen ?
Bitte warten ..
Mitglied: bastla
29.08.2012, aktualisiert um 00:49 Uhr
@ Christian25

Vielleicht solltest Du noch ergänzen, dass entweder auf beiden Seiten des Vergleichsoperators Anführungszeichen zu verwenden sind oder eben auf keiner Seite ...

Grüße
bastla
Bitte warten ..
Mitglied: OMussmann
29.08.2012, aktualisiert um 00:51 Uhr
sorry, da ich hier nur umts und kein wlan habe, schreibe ich von einem mobilen device.

okay das format für das datum muss "28.08.2012" lauten. merci ...

ich möchte mit dieser mechanismus verhindern, dass nach einem bestimmten datum eine datensicherung durchgeführt wird. meine mutter ist da etwas schnell und unbedacht ...

die änderung hat nichts gebracht ... er zeigt nein an ... das datum hatte ich natürlich auf den 29.08.2012 geändert ...

lg
olli
Bitte warten ..
Mitglied: Christian25
29.08.2012 um 00:54 Uhr
01.
C:\Users\Admin>if '%date%'=='29.08.2012' echo heute ist ein schoener tag 
02.
heute ist ein schoener tag
sofern das dir genügt...

ja, bastla auf das hab ich ganz vergessen... is schon länger her das ich mit batch arbeitete...
Bitte warten ..
Mitglied: bastla
29.08.2012, aktualisiert um 00:56 Uhr
Hallo OMussmann!

Wenn Du allerdings prüfen willst, ob es schon nach einem bestimmten Datum ist, solltest Du Dir die Vorschläge von Christian25 genauer ansehen und das aktuelle Datum tatsächlich in die Form "JJJJ-MM-TT" umwandeln - dann kannst Du nämlich mit "GTR" vergleichen ...

Grüße
bastla
Bitte warten ..
Mitglied: Leopold.Bloom
29.08.2012 um 00:57 Uhr
01.
@echo off 
02.
 
03.
set "datum=%date%" 
04.
set "mydate=29.08.2012" 
05.
set "mydate2=31.08.2012" 
06.
 
07.
set "mytime=00:30:00" 
08.
set "mytime2=01:30:00" 
09.
 
10.
IF %datum% EQU %mydate% ECHO HEUTE IST MEIN TAG %mydate% 
11.
IF %datum% NEQ %mydate2% ECHO HEUTE IST NICHT MEIN TAG %mydate2% 
12.
 
13.
call :gettime 
14.
 
15.
IF %timestamp% GTR %mytime% ECHO ES IST SCHON NACH %mytime% UHR 
16.
IF %timestamp% LSS %mytime2% ECHO ES IST NOCH VOR %mytime2% UHR 
17.
 
18.
:gettime 
19.
 
20.
SET ZEIT=%TIME% 
21.
SET ZEIT=%ZEIT: =0% 
22.
SET ZEIT=%ZEIT:~-11,8% 
23.
set "timestamp=%ZEIT%" 
24.
set "datetime=%date% %ZEIT%" 
25.
 
26.
goto :eof
So funktioniert es zumindest bei mir.

LG aus HH

Leopold
Bitte warten ..
Mitglied: Leopold.Bloom
29.08.2012 um 01:00 Uhr
Wenn Du das Datum auf GTR überprüfen willst hat bastla natürlich recht.

LG

Leo
Bitte warten ..
Mitglied: OMussmann
29.08.2012 um 01:08 Uhr
jetzt passt es. vielen dank ... bastla und christian25.
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Batch & Shell
gelöst Mit batch zeilen auslesen (2)

Frage von keksegriller zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...