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
GELÖST

Morgiges Datum in Batchdatei bestimmen

Frage Entwicklung Batch & Shell

Mitglied: bufferm44

bufferm44 (Level 1) - Jetzt verbinden

10.08.2008, aktualisiert 18.10.2012, 5412 Aufrufe, 7 Kommentare

Hallo zusammen!

Ich bestimme mit folgenden Zeilen das aktuelle Datum:

01.
  
02.
set jahr=%date:~-4% 
03.
set monat=%date:~-7,2% 
04.
set tag=%date:~-10,2% 
05.
set wotag=%date:~-13,2% 
06.
 
07.
echo Heute ist %wotag%, der %tag%.%monat%.%jahr% 
08.
 


Wie aber kann ich das morgige Datum bestimmen? Gut man könnte mit einem Haufen von IFs alle Variablen umändern (prüfen ob der letzte Tag des Monats ist usw..) aber geht das nicht auch eleganter?
Mitglied: SarekHL
10.08.2008 um 21:04 Uhr
Muß es Batch sein? in VB ist das absolut easy ...
Bitte warten ..
Mitglied: bastla
10.08.2008, aktualisiert 18.10.2012
@SarekHL
Dass sich VB(S) besser als Batch dafür eignet, sehe ich genauso; deshalb habe ich hier und da schon mal eine Kombination von beidem fabriziert ...

@bufferm44
Für die Wochentagsbestimmung wie in Deiner Zeile 5 benötigst Du aber Windows 2000, oder?

Grüße
bastla
Bitte warten ..
Mitglied: SarekHL
10.08.2008 um 21:16 Uhr
Ja, in VB nehme ich einfach den DateAdd-Befehl. Ist ein glatter Einzeiler ;)
Bitte warten ..
Mitglied: bufferm44
11.08.2008 um 12:16 Uhr
Hi!

Ja, es ist ein Win2000prof-Server der das Ganze erledigen soll. Die VB-Geschichte funktioniert nicht, es wird halt der Wert aus

set "PDATUM=20080101"

ausgegeben. Gibt es irgendwo ein VB-Grundlagen-Tutorial? Oder muss ich einfach irgendwas aktivieren?

Aber ich glaube fast dass es wirklich schneller geht wenn ich schnell die letzten Tage/Monate abfrage und dementsprechend Monat/Jahr eins hochsetze und alle 4 Jahre mal manuell beim Februar eingreife ;)

Trotzdem Danke schon mal...
Bitte warten ..
Mitglied: bastla
11.08.2008 um 12:29 Uhr
Hallo bufferm44!

Die angesprochene VB-Geschichte ist ein Batch und könnte (etwas angepasst) so verwendet werden:
01.
@echo off & setlocal 
02.
Set M=%temp%\Morgen.vbs 
03.
echo D=WScript.Arguments(0):N=DateAdd("d",1,DateSerial(Left(D,4),Mid(D,5,2),Right(D,2))):WScript.Echo Right(N,4)^&Mid(N,4,2)^&Left(N,2)>%M% 
04.
for /f %%i in ('cscript //nologo %M% %date:~-4%%date:~-7,2%%date:~-10,2%') do set "Morgen=%%i" 
05.
echo Morgen: %Morgen%
Grüße
bastla
Bitte warten ..
Mitglied: bufferm44
12.08.2008 um 20:35 Uhr
Hi Bastla, jo das funktioniert,

hier noch mal die zwischendurch gebaute "hässliche" Variante ;)

Ok, alle 4 Jahre gibts ein Problem aber das mach ich dann manuell *gg

Thx und gelöst...

01.
set jahr=%date:~-2% 
02.
set monat=%date:~-7,2% 
03.
set tag=%date:~-10,2% 
04.
 
05.
set korrektur=false 
06.
 
07.
set tag28=false 
08.
IF not %tag%==28 goto :notag28 
09.
IF %monat%==02 set monat=03& set tag=01& set korrektur=true 
10.
:notag28 
11.
 
12.
set tag30=false 
13.
IF not %tag%==30 goto :notag30 
14.
IF %monat%==04 set monat=05& set tag=01& set korrektur=true 
15.
IF %monat%==06 set monat=06& set tag=01& set korrektur=true 
16.
IF %monat%==09 set monat=10& set tag=01& set korrektur=true 
17.
IF %monat%==11 set monat=12& set tag=01& set korrektur=true 
18.
:notag30 
19.
 
20.
set tag31=false 
21.
IF not %tag%==31 goto :notag31 
22.
IF %monat%==01 set monat=02& set tag=01& set korrektur=true 
23.
IF %monat%==03 set monat=04& set tag=01& set korrektur=true 
24.
IF %monat%==05 set monat=06& set tag=01& set korrektur=true 
25.
IF %monat%==07 set monat=08& set tag=01& set korrektur=true 
26.
IF %monat%==08 set monat=09& set tag=01& set korrektur=true 
27.
IF %monat%==10 set monat=11& set tag=01& set korrektur=true 
28.
IF %monat%==12 set monat=01& set tag=01& set /a jahr+=1& set korrektur=true 
29.
:notag31 
30.
 
31.
IF not "%korrektur%"=="true" set /a tag+=1
Bitte warten ..
Mitglied: bastla
12.08.2008 um 21:21 Uhr
Hallo bufferm44!

Damit das Problem mit den 4 Jahren denn doch nicht eintritt :
01.
set jahr=%date:~-4% 
02.
set monat=%date:~-7,2% 
03.
set tag=%date:~-10,2% 
04.
set /a Schaltjahr=%jahr%%%4 
05.
if %jahr:~-2%==00 set /a Schaltjahr+=%Jahr:~,2%%%4 
06.
 
07.
set korrektur=false 
08.
 
09.
IF %tag%==28 IF %Schaltjahr% neq 0 if %monat%==02 set monat=03& set tag=01& set korrektur=true 
10.
 
11.
IF %tag%==29 IF %monat%==02 set monat=03& set tag=01& set korrektur=true 
12.
 
13.
IF not %tag%==30 goto :notag30 
14.
IF %monat%==04 set monat=05& set tag=01& set korrektur=true 
15.
IF %monat%==06 set monat=06& set tag=01& set korrektur=true 
16.
IF %monat%==09 set monat=10& set tag=01& set korrektur=true 
17.
IF %monat%==11 set monat=12& set tag=01& set korrektur=true 
18.
:notag30 
19.
 
20.
IF not %tag%==31 goto :notag31 
21.
IF %monat%==01 set monat=02& set tag=01& set korrektur=true 
22.
IF %monat%==03 set monat=04& set tag=01& set korrektur=true 
23.
IF %monat%==05 set monat=06& set tag=01& set korrektur=true 
24.
IF %monat%==07 set monat=08& set tag=01& set korrektur=true 
25.
IF %monat%==08 set monat=09& set tag=01& set korrektur=true 
26.
IF %monat%==10 set monat=11& set tag=01& set korrektur=true 
27.
IF %monat%==12 set monat=01& set tag=01& set /a jahr+=1& set korrektur=true 
28.
:notag31 
29.
 
30.
IF "%korrektur%"=="true" goto :fertig 
31.
set /a tag=1%tag%+1 
32.
set "tag=%tag:~-2%" 
33.
 
34.
:fertig
Grüße
bastla

[Edit]
Verwendung der 4-stelligen Jahreszahl (Umwandlung auf 2-stellig ist einfacher als umgekehrt)
Korrektur der Tageberechnung - damit's nicht schon am 8. eines Monats das erste Problem gibt
Berücksichtigung der Schaltjahre über 2096 hinaus - man kann ja nie wissen ...
[/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen
gelöst Frage von HakiegoldBatch & Shell2 Kommentare

Ich habe ein kleines Problem. Ich importiere aus dem Internet per Batch alle 2 Minuten eine html-Datei mit Kursdaten. ...

Batch & Shell
Batchdatei Ordner nach Letztem Datum suchen und Dateien im Unterordner verschieben
gelöst Frage von noby.dickBatch & Shell13 Kommentare

Hallo, ich habe folgendes Situation: Ich habe mehrere Ordner die nach Datum benannt sind (z.B. 20161201, 20170329). Jahr.Monat.Tag In ...

Windows Tools
Netzwerkkarte pro Software bestimmen
Frage von SirTobi27Windows Tools19 Kommentare

Hallo zusammen, ich habe zwei Netzwerkkarten in einem PC. Diese befinden sich logischerweise in unterschiedlichen Netzwerken. Gibt es ein ...

Netzwerke
Supernetz (Netzadresse und Netzmaske bestimmen)
gelöst Frage von BaumKoNetzwerke6 Kommentare

Hallo, Ich soll die Netzadresse und Netzmaske bestimmen. Ein Kollege hat die Aufgabe gelöst und mir geschickt aber was ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 StundeInternet2 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 4 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 4 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 8 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
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

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

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

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement18 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 ...