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

fehler finden

Frage Entwicklung Batch & Shell

Mitglied: neuhier

neuhier (Level 1) - Jetzt verbinden

13.10.2006, aktualisiert 23.10.2006, 3421 Aufrufe, 3 Kommentare

Guten Tag,

vieleicht ist mein Fehler auch zu simple. Naja ich bin eben nicht der beste. Ich wollte eigentlich nur eine Funktion testen um weiter an einem anderen Programm schreiben zu können.
Ich weis hierbei nicht warum es der Fall ist was es tut. Bei der if Anweisung springt es bei jedem Wert nach goto "_richtig" was eigentlich nicht soll. Kann es sein das die shell hierbei zwischen String und date nicht unterscheiden kann?

@echo off
title Ich bin ein Testprogramm
setlocal
set _localdate= date /t

rem Hauptprogramm

echo Bitte geben Sie an, welches Datum heute ist!
echo.
set /p _answer="In dd|mm|yyyy: "

if %_answer% == %_localdate% (
goto _richtig
) else (
goto _falsch
)


:_richtig
echo.
echo Richtig heute ist der %_answer%
pause
goto _end

:_falsch
echo.
echo Falsch heute ist der %DATE%.
pause
goto _end

:_end
endlocal

Danke sehr für eure Hilfe.
Mitglied: neuhier
13.10.2006 um 16:15 Uhr
Danke habe meinen Fehler selber entdeckt. Bei der Variable _localdate wird der Wert date /t zugewiesen und nicht das aktuelle Datum. (wie ich fälschlicherweise dachte)
Erst bei der Ausgabe über echo wurde die zuweisung date /t in das aktuelle datum umgewandelt.

der richtige code sieht dann halt so aus: if %_answer% == %DATE% (
goto _richtig
) else (
goto _falsch
)

Eine neue Frage stellt sich mir, wie kann ich denn nun Vergleich ob eine Eingabe kein datum ist?
Bitte warten ..
Mitglied: Biber
19.10.2006 um 20:37 Uhr
Moin neuhier,

Eine neue Frage stellt sich mir, wie kann ich denn nun Vergleich ob eine Eingabe kein datum ist?

Falls es noch eine offene Frage sein sollte:

1. Du kannst mit reinen Batchmitteln nicht auf "ist gültiges Datum" prüfen.
Da es im Batch keine unterschiedlichen Datentypen gibt ...alles ist Text, String, Prosa....

2. Du kannst natürlich eine "befreundete" Skriptsprache wie JScript oder VBSkript befragen - da gibt es Datums-Datentypen und auch jeweils eine isdate-Funktion.
Das kostet Dich maximal 3 Zeilen im Batch (Snippet schreiben, Snippet aufrufen und Snippet löschen).

3. Aber auch das bringt Dich nur begrenzt voran - denn dann weißt Du zwar, ob Dein Datum gemäß den isDate()-Konventionen von VBS gültig ist, aber nicht, ob es in Deinem Sinne formal (Tage und Monate zweistellig, Jahr vierstellig..) und fachlich (ist der "1.8.1457" oder der "22.2.2465" ein erlaubtes Datum?) gültig ist.

Bei Datumsprüfungen kommst Du i.d.R. nicht umhin, auf Ober/Untergrenzen zu prüfen.
Dafür ist Batch das denkbar ungeeigneteste Werkzeug.

Wenn Du Dich in das Thema Batch ein bisschen reinfummeln willst, ist so eine Datumswert-Zerlegung in TT, MM und YYYY und die anschließende Prüfung "Ist denn auch der Tag größer gleich 1 und kleiner gleich 29, wenn Monat gleich Februar und kein Schaltjahr"... sehr hilfreich. Zum Üben. Für eine ernstzunehmende Anwendung gibt es bessere Werkzeuge.

Gruß
Biber
Bitte warten ..
Mitglied: Biber
23.10.2006 um 21:10 Uhr
Tja,
neuhier ist jetzt weghier, wie es aussieht...

Beitrag geschlossen.
Bitte warten ..
Ähnliche Inhalte
LAN, WAN, Wireless
Fehler im Netzwerk finden
Frage von jujeizeLAN, WAN, Wireless4 Kommentare

Hi Admin-Community, mal angenommen ihr hättet merkwürdige Aussetzer in einem ganz kleinen Netzwerk, wie würdet ihr an die Sache ...

Mac OS X
OSX 10.10 Fehler Finder 36
Frage von demetzMac OS X2 Kommentare

Hallo zusammen, habt Ihr diesen Fehler schon mal gehabt: Clients (OSX 10.10) mit Dateizugriff auf OSX 10.10 Server. Fehlermeldung ...

LAN, WAN, Wireless
Wie Fehler in Verkabelung (LSA2-Verteiler) finden?
gelöst Frage von bytecounterLAN, WAN, Wireless10 Kommentare

Hallo zusammen, ich habe mal wieder die EDV bei einem Unternehmen übernommen und habe gleich ein nettes Problem. Laut ...

Batch & Shell
Fehler in Batch - Das System kann den Pfad nicht finden
gelöst Frage von dan0neBatch & Shell3 Kommentare

Moin, kann mir mal bitte jemand erklären wieso das geht: Set desk="%userprofile%\Desktop" del /s /q /f "%desk%\C73 - Service ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...