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

Datum in Tag, Monat und Jahr zerlegen

Frage Entwicklung Batch & Shell

Mitglied: joe65

joe65 (Level 1) - Jetzt verbinden

09.08.2013 um 19:22 Uhr, 1903 Aufrufe, 11 Kommentare

Hallo,

ich möchte ein Datum vom Format tt.mm.yyyy z.B. 17.06.2013 in Tag=17, Monat=6 und Jahr=2013 als Zahlen bekommen.

Auszug aus Code:
rem Datum: 17.06.2013
for /f "tokens=1,2,3 delims=." %%i in ("%Datum%") do (
set /a day=%%i
set /a month=%%j
set /a year=%%k
)
echo day=%day%
echo month=%month%
echo year=%year%
pause

Ich bekomme aber nur für den Tag (day) ein Ergebnis, nämlich 17, nicht aber für Monat (month) und Jahr (year).
Im cmd-Window wird dann die Meldung ausgegeben:
Ungültige Zahl. Numerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.

Ich versteht das nicht, warum diese Meldung kommt.
Mitglied: Endoro
09.08.2013 um 20:10 Uhr
Hallo,
das ist wegen der Oktalzahlenproblematik, "08" und "09" sind keine gültigen Oktalzahlen.
01.
@echo off &SETLOCAL 
02.
SET "Datum=09.08.2013" 
03.
for /f "tokens=1-3 delims=." %%i in ("%Datum%") do ( 
04.
	set /a day=1%%i%%10 
05.
	set /a month=1%%j%%10 
06.
	set /a year=%%k 
07.
08.
echo day=%day% 
09.
echo month=%month% 
10.
echo year=%year%
lg.
Bitte warten ..
Mitglied: bastla
09.08.2013 um 20:28 Uhr
@ Endoro
Wenn bei Dir noch überschüssige Nullen herumliegen, würde ich je eine den Zeilen 4 und 5 spendieren ...

Grüße
bastla
Bitte warten ..
Mitglied: bastla
09.08.2013, aktualisiert um 20:35 Uhr
Hallo joe65!

Immer noch Probleme damit, Code passend zu formatieren? Kann ich irgendwie dabei helfen?

Grüße
bastla
Bitte warten ..
Mitglied: Endoro
09.08.2013 um 20:40 Uhr
@bastla
109 % 100 = 9 
109 % 10 = 9
lg.
Bitte warten ..
Mitglied: bastla
09.08.2013, aktualisiert um 20:45 Uhr
@ Endoro
110 % 100 = 10 
110 % 10 = ?
Wenn Du schon Zeichen sparen willst, dann:
set /a day=1%%i-100
Grüße
bastla
Bitte warten ..
Mitglied: Endoro
09.08.2013 um 20:46 Uhr
Oi, meine Monate haben nur 9 Tage, dann gibt's eher Geld
01.
@echo off &SETLOCAL 
02.
SET "Datum=09.08.2013" 
03.
for /f "tokens=1-3 delims=." %%i in ("%Datum%") do ( 
04.
	set /a day=1%%i-100 
05.
	set /a month=1%%j-100 
06.
	set /a year=%%k 
07.
08.
echo day=%day% 
09.
echo month=%month% 
10.
echo year=%year%
lg.
Bitte warten ..
Mitglied: colinardo
10.08.2013 um 10:24 Uhr
Hallo joe65,
oder du machst es direkt so:
01.
set day=%date:~0,2% 
02.
set month=%date:~3,2% 
03.
set year=%date:~6,4%
Grüße Uwe
Bitte warten ..
Mitglied: bastla
10.08.2013, aktualisiert um 10:44 Uhr
@ colinardo
Aber nicht, wenn doch das Ergebnis numerisch sein soll - daher nach dem gleichen Schema wie oben:
01.
set /a day=1%date:~0,2%-100 
02.
set /a month=1%date:~3,2%-100 
03.
set /a year=%date:~6,4%
Grüße
bastla
Bitte warten ..
Mitglied: joe65
10.08.2013 um 12:46 Uhr
Hallo bastla,

ich bin in diesem Bereich (batch scripte) ein Anfänger. Was ist mit formatieren genau gemeint?
Sind die Einrückungen nicht in Ordnung oder ist sonst noch was zu beachten?
Kannst du mir evtl. meinen Code so anpassen, dass er richtig formatiert wäre, dann wird es mir vielleicht klarer.

Gruß
Bitte warten ..
Mitglied: colinardo
10.08.2013 um 12:52 Uhr
Zitat von joe65:
ich bin in diesem Bereich (batch scripte) ein Anfänger. Was ist mit formatieren genau gemeint?
Mit formatieren meinen wir das du Tags verwendest um deinen Code zu posten, damit keine Sonderzeichen verloren gehen.

Sind die Einrückungen nicht in Ordnung oder ist sonst noch was zu beachten?
Kannst du mir evtl. meinen Code so anpassen, dass er richtig formatiert wäre, dann wird es mir vielleicht klarer.
@bastla und @Endoro ging es vorrangig darum ob du später mit dem Datum bzw. den Variablen rechnen musst, weil du erwähnt hast das es "Zahlen" sein sollen.
Wenn das nicht der Fall ist und du die Variablen so wie sie sind verwenden möchtest, reicht das hier völlig aus:
01.
set day=%date:~0,2% 
02.
set month=%date:~3,2% 
03.
set year=%date:~6,4%
Grüße Uwe
Bitte warten ..
Mitglied: bastla
10.08.2013, aktualisiert um 12:57 Uhr
Hallo joe65!
Kannst du mir evtl. meinen Code so anpassen, dass er richtig formatiert wäre
Du brauchst doch nur vor den Code "<code>" und danach "</code>" zu schreiben (wie eigentlich den schon mehrfach verlinkten Formatierungs-FAQ zu entnehmen wäre) - das kannst (und sollst) Du auch nachträglich noch tun ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Datenbanken
TSQL - Tabelle mit Kosten pro Monat und Jahr in View über mehrere Jahre übernehmen.
gelöst Frage von GrinskeksDatenbanken2 Kommentare

Hallo allerseits, derzeit habe ich ein Problemchen mit der Realisierung folgender Anforderung: Für ein Projektmanagement-Tool sollen Kosten pro Projekt, ...

Batch & Shell
Datum per batch ändern in Tagen
gelöst Frage von crawnbyBatch & Shell2 Kommentare

Hallo würde gerne per batch eine Änderung des Systemdatums um jeweils 7Tage vornehmen. Man Doppelklickt auf die Batch dann ...

Batch & Shell
Datum in einer CSV datei in Tage umwandeln
Frage von nolle99Batch & Shell13 Kommentare

Hi leute Ich habe eine .CSV Datei in der folgendes steht 123412413243;weber;02.08.2016 23434412413243;meier;18.08.2016 1232434413243;kurt;; 993413243243243;meier;25.08.2016 993413243243243;kleber;25.11.2016 Jetzt soll eine ...

Windows 10
Datum verstellt sich um paar Tage nach vorn
Frage von HarlinWindows 106 Kommentare

Guten Tag Habe folgendes Problem. Das Datum stellt sich nach Ablauf einer Woche um mindestens 3 Tage oder bis ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 8 StundenApple

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 13 StundenWindows 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 13 StundenWebbrowser

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
LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless19 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Windows Server
Remotesteuerung der Sitzung (Kennung XX) fehlgeschlagen
gelöst Frage von Stefan91Windows Server14 Kommentare

Hallo Zusammen, seit kurzem bekomme ich oben genannte Fehlermeldung, wenn ich versuche eine Remotesitzung über den Taskmanager fernzusteuern (Rechtsklick ...