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

Mitglied: neuhier

neuhier (Level 1) - Jetzt verbinden

13.10.2006, aktualisiert 23.10.2006, 3433 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
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 2 TagenPeripheriegeräte3 Kommentare

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 3 TagenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 3 TagenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 5 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
HP Probook 470 G4 - abbrechende Downloads
Frage von joern1LAN, WAN, Wireless19 Kommentare

Folgendes Problem, für einen Tipp wäre ich dankbar: Bei WLAN-Verbindung zum Internet (nicht LAN) kommt es bei etwas größeren ...

Server-Hardware
DL380p Gen8 LEDs Laufwerksaktivität funktionieren nicht
Frage von Cisco7971Server-Hardware17 Kommentare

Hallo zusammen, ich habe hier ein seltsames Problem: Die LEDs an den Smart Carriern, die bei Laufwerksaktivität rotieren, tun ...

Server-Hardware
Einsteigerfragen zu HP ProLiant DL380p Gen 8
gelöst Frage von brain2011Server-Hardware15 Kommentare

Hallo, ich habe mir einen HP ProLiant DL380p Gen 8 zugelegt, um mich grundlegend mit dieser Geräteklasse und der ...

Windows Server
Leistungsindikatoren WS2012R2
Frage von Der.ITlerWindows Server11 Kommentare

Hallo Gemeinde, seit gestern habe ich auf zwei von meinem 8 Hardwareservern folgendes Problem, dass die Leistungsindikatoren nicht gestartet ...