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

Mitglied: joe65

joe65 (Level 1) - Jetzt verbinden

09.08.2013 um 19:22 Uhr, 1912 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 ...

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

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

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 5 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 7 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 7 StundenMicrosoft7 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server
Route-Befehl Unterstützung (unter CMD)
Frage von FKRR56Server12 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...