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
Kommentar vom Moderator Biber am 29.01.2010 um 19:43:08 Uhr
Batch Daten vergleichen (Mehrzahl von Datum)
Wir könnten auch ganz unverkrampft "Batch Datumswerte vergleichen" schreiben...
GELÖST

Batch Daten vergleichen (Mehrzahl von Datum)

Frage Entwicklung Batch & Shell

Mitglied: Motorcross

Motorcross (Level 1) - Jetzt verbinden

29.01.2010, aktualisiert 19:43 Uhr, 6046 Aufrufe, 11 Kommentare

Hallo Administratoren,

ich versuche gerade in Batch einen Script zu schreiben der aus einer .txt Datei ein Datum ausliest und dieses mit dem Aktuellen vergleicht.
Und wenn das Datum in der txt Datei abgelaufen ist (also älter als das Aktuelle) soll gesagt werden "Datum ist abgelaufen"!
Ich weiß aber nicht wie ich das umsetzten soll.
Hätte jemand eine Idee?
Gruß Motorcross
Mitglied: bastla
29.01.2010 um 14:44 Uhr
Hallo Motorcross!

Idee: Wandle das jeweilige Datum in die Schreibweise "JJJJMMTT" um, dann kannst Du einfach mit "LSS" vergleichen ...

Grüße
bastla
Bitte warten ..
Mitglied: hoko
29.01.2010 um 14:49 Uhr
Hallo,

hast du mal ein Beispiel, wie die Textdatei aussieht?

Gruß
Hoko
Bitte warten ..
Mitglied: Motorcross
29.01.2010 um 14:54 Uhr
Hallo,
set /p datum=<test.txt
Gruß Motorcross
Bitte warten ..
Mitglied: Motorcross
29.01.2010 um 14:55 Uhr
Hallo bastla,
köntest du mir sagen wie man das macht?
Gruß Motorcross
Bitte warten ..
Mitglied: bastla
29.01.2010 um 16:11 Uhr
Hallo Motorcross!

Was hoko (sehr wahrscheinlich) wissen wollte (und weswegen auch meine Antwort so allgemein gehalten war): In welchem Format steht das Datum in der Datei?

Ebenfalls sinnvoll wäre es, die Schreibweise für das aktuelle Datum in Deinem System zu posten - bei mir liefert ein
echo %date%
zB 29.01.2010, während es auf einem anderen System gerne auch 29.01.10 oder Fr, 29.01.2010 sein kann.

Für die ersten beiden Variante könntest Du das gewünschte Format etwa so erzeugen:
01.
for /f "tokens=1-3 delims=." %%a in ("%date%") do set "Heute=20%%c%%b%%a" 
02.
set "Heute=%Heute:~-8%
Anmerkung: Für Datümer ab 2100 wird diese Vorgangsweise leider eines Updates bedürfen ...

Grüße
bastla


[Edit] Da Du die Variable %Datum% für den aus der Textdatei eingelesenen Wert verwenden willst, auf %Heute% geändert [/Edit]
Bitte warten ..
Mitglied: Motorcross
29.01.2010 um 16:25 Uhr
Hallo bastla,
bei mir wird %date% so angezeigt:29.01.2010
und kannst du auch in den Script einbauen, dass das Datum aus der test.txt herausgesucht wird und mit dem aktuellen vergleicht wird.
Und wenn das Datum in der test.txt älter als das Aktuelle ist, dass er error anzeigt.
Bitte warten ..
Mitglied: bastla
29.01.2010 um 16:51 Uhr
... und was wirst Du dabei tun?

Eigentlich steht schon in diesem Thread praktisch alles, was Du benötigst ...

Grüße
bastla
Bitte warten ..
Mitglied: Motorcross
29.01.2010 um 16:53 Uhr
kannst du mir das nochmal erklären?
Bitte!
Gruß Motorcross
Bitte warten ..
Mitglied: 60730
29.01.2010 um 16:57 Uhr
Servus,

@Motorcross:
deine letze Frage ist doch rein theoretischer Natur... Bastla kriegt das hin, der löst auch komplexere Fälle.
Aber dein Einstieg in die Thematik war doch:

ich versuche gerade in Batch einen Script zu schreiben

Die Tipps, wie du das hinbekommst - hast du doch erhalten?

Spiel doch einfach mal ein bisschen mit Bastlas Zeile.
Da könnte dann ungefähr so was heraus kommen:
01.
for /f "tokens=1-3 delims=." %a in ("%date%") do set "Datum=%a.%b.%c"
Wobei du sicherlich den Unterschied / die Spielart schon erkannt hast - Bastla schreibt jeweils zwei %% - ich nur eines
Denn Bastlas Zeile ist für eine Batch
Meine "nur" zum Spielen in der Dosbox.

Und wenn du selber weiterspielst und dein Ergebnis mit Bastlas erstem Tipp kombinierst - kommst du von ganz alleine auf die Lösung.

Gruß
Bitte warten ..
Mitglied: bastla
29.01.2010 um 19:33 Uhr
Hallo Motorcross!

Und das
01.
@echo off & setlocal 
02.
set /p datum=<test.txt 
03.
for /f "tokens=1-3 delims=." %%a in ("%datum%") do set "DatumAusDatei=20%%c%%b%%a" 
04.
set "DatumAusDatei=%DatumAusDatei:~-8%" 
05.
for /f "tokens=1-3 delims=." %%a in ("%date%") do set "Heute=20%%c%%b%%a" 
06.
set "Heute=%Heute:~-8%" 
07.
if %DatumAusDatei% lss %Heute% echo Error
war dann wirklich so schwierig?

Wenn das Datumsformat in der Datei und im System übereinstimmt (wie bei Dir: Jahr jeweils 4-stellig), auch noch kürzer:
01.
@echo off & setlocal 
02.
set /p datum=<test.txt 
03.
for /f "tokens=1-3 delims=." %%a in ("%datum%") do set "DatumAusDatei=%%c%%b%%a" 
04.
for /f "tokens=1-3 delims=." %%a in ("%date%") do set "Heute=%%c%%b%%a" 
05.
if %DatumAusDatei% lss %Heute% echo Error
Grüße
bastla
Bitte warten ..
Mitglied: Motorcross
30.01.2010 um 17:14 Uhr
Ach so jetzt habe ich verstanden!
Vielen Dank bastla und Timo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Datum vergleichen
gelöst Frage von Klaus20Batch & Shell11 Kommentare

Hallo Zusammen, vielleicht kann mir jemand (wie schon öfters) mir bei einer Abfrage helfen. Ich möchte gerne falls das ...

Batch & Shell
(Batch) Datum Sortier-Mechanismus
gelöst Frage von clragonBatch & Shell19 Kommentare

Hallo zusammen. Ich bin schon etwas länger am Batch schreiben, und war schon oft uneingeloggt hier, und jetzt hab ...

Batch & Shell
Batch vergleich von zwei dateien
gelöst Frage von realdavegerBatch & Shell6 Kommentare

Hallo, nach Jahrelangem zugucken, habe ich jetzt schlussendlich eine Frage welche ich selbst stelle. Ich versuche 2 zeiten aus ...

Batch & Shell
Textdateien vergleichen BATCH
gelöst Frage von FeudelFredBatch & Shell2 Kommentare

Moin Moin, ich bin komplett neu im Forum und habe auch keine sonderlich großen Erfahrungen mit Foren. Habe eine ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 12 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 16 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 16 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 19 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

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

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 ...

Windows Server
Anmeldung direkt am DC nicht möglich
Frage von ThomasGrWindows Server16 Kommentare

Hallo, ich habe bei unserem Server 2016 Standard ein Problem. Keine Ahnung wie das auf einmal passiert ist. Ich ...

TK-Netze & Geräte
VPN-fähige IP-Telefone
Frage von the-buccaneerTK-Netze & Geräte14 Kommentare

Hi! Weiss noch jemand ein VPN-fähiges IP-Telefon mit dem man z.B. einen Heimarbeitsplatz gesichert anbinden könnte? Habe nur einen ...