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

Zeitprüfung mit if else

Frage Entwicklung Batch & Shell

Mitglied: traller

traller (Level 1) - Jetzt verbinden

04.07.2012 um 22:51 Uhr, 2781 Aufrufe, 4 Kommentare

Hallo,
auf einem Windows 7 Computer soll in einem Batch-Script folgendes geprüft werden:
Prüfe Uhrzeit ob diese >=18:10 ist und mache X sonst prüfe Uhrzeit <= 22:00 und mache Y sonst Z.
was habe ich falsch geschrieben, da dieses hier so nicht funktioniert:
01.
if time>=18:10 ( 
02.
03.
) else ( 
04.
if time<=22:00 ( 
05.
06.
) else ( 
07.
08.
09.
)
Mitglied: bastla
05.07.2012, aktualisiert um 00:17 Uhr
Hallo traller!

Vorweg zur Abfragekonstruktion: Wenn die Zeit schon nicht >=18:10 ist dann nochmals zu fragen, ob sie denn <=22:00 wäre ist relativ sinnfrei - vermutlich meinst Du eher
  • vor 18:10 Aktion "X"
  • zwischen 18:10 und 22:00 Aktion "Y" und
  • nach 22:00 Aktion "Z"

Wenn ja, dann etwa so:
01.
@echo off & setlocal 
02.
set "T=%time: =0%" 
03.
set "T=%T:~,5%" 
04.
if %T% lss 18:10 ( 
05.
    echo X 
06.
) else ( 
07.
    if %T% leq 22:00 ( 
08.
        echo Y 
09.
    ) else ( 
10.
        echo Z 
11.
12.
)
Schau Dir in diesem Zusammenhang mal "if /?" an ...

Grüße
bastla
Bitte warten ..
Mitglied: traller
06.07.2012 um 23:10 Uhr
Hallo,
wofür hast du setlocal gesetzt? ist das notwendig?
Bitte warten ..
Mitglied: bastla
06.07.2012 um 23:40 Uhr
Hallo traller!
wofür hast du setlocal gesetzt?
Weil damit Veränderungen an Variablen (gilt auch für das Erstellen) auf den aktuellen Batch beschränkt bleiben ...
ist das notwendig?
Das kommt auf den Einzelfall an - aber solange ich keinen guten Grund finde, der gegen die Verwendung von "setlocal" spricht, setze ich es zur Sicherheit ein ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
09.07.2012 um 20:43 Uhr
Moin traller,

was mache die Zeiten, was macht Else, was macht die Prüfung?

Sind noch Fragen offen oder können wir den Beitrag abhaken?

Grüße
Biber
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (31)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

Switche und Hubs
LAG zwischen SG300-Switches macht Probleme. Wer weiß Rat? (20)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...