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 Numerische Umgebungsvariablen 08 und 09 werden im Batch nicht verarbeitet, woran liegt es?

Mitglied: svennib

svennib (Level 1) - Jetzt verbinden

08.06.2009, aktualisiert 06:36 Uhr, 11270 Aufrufe, 2 Kommentare

Bei der Umsetzung von Zahlen in Umgebungsvariablen werden 08 und 09 nicht akzeptiert, alle anderen 01 bist 07 funktionieren!

Ich wollte Werte des Datums (Tag des Datums) in eine Variable einlesen (über SET /A XTAG=%date:~-10,2% ) dies
funktioniert bis zum 07., am 08. und 09. werden die Werte als "nicht numerisch" zurückgewiesen!
Daraufhin habe ich folgenden Test Batch ausführen lassen:

cls
SET /A XT=05
SET /A XU=06
SET /A XV=07
SET /A XW=08
SET /A XX=09
SET /A XY=10
SET X


mit dem Ergebnis:

C:\Test>SET /A XT=05
C:\Test>SET /A XU=06
C:\Test>SET /A XV=07
C:\Test>SET /A XW=08
Ungültige Zahl. Nummerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
C:\Test>SET /A XX=09
Ungültige Zahl. Nummerische Konstanten sind entweder dezimale (17),
hexadezimale (0x11) oder oktale (021) Zahlen.
C:\Test>SET /A XY=10
C:\Test>SET X
XT=5
XU=6
XV=7
XY=10


Bei 08 und 09 sind das wirklich Nullen (keine Oo's)!
Hat jemand ne Idee, woran dass nun liegen kann? Ist das ein Bug im Commandointerpreter?
Mitglied: Biber
08.06.2009 um 08:24 Uhr
Moin svennib,

Ist das ein Bug im Commandointerpreter?
Die CMD.exe ist von sympathischen Weltmarktführer höchstselbst entwickelt und qualitätsgeprüft.
Sie enthält dementsprechend keine Bugs, sondern nur Features.

Alle mit "0" beginnenden Strings werden bei einem "SET /A"-Befehl als oktale Werte interpretiert.
Dabei ergeben sich für 00oct bis 07oct keine Auffälligkeiten, da der Wert im Dezimal- und im Oktalsystem gleich ist.
Die im Oktalsystem auf 07oct folgende Zahl ist aber 10oct - eine 08oct gibt es nicht.

Oder, wie in der Hilfe zu SET beschrieben:
... 
.... Nummerische Werte 
stellen immer Dezimalzahlen dar, es sei denn, sie haben ein Präfix 0x für 
hexadezimale Zahlen, 0b für binäre Zahlen oder 0 für oktale Zahlen. Damit 
stellt 0x12 dieselbe Zahl wie 18 oder 022 dar. Beachten Sie, dass die oktale 
Schreibweise verwirrend sein kann: So sind 08 und 09 keine gültigen Zahlen, 
da 8 und 9 keine erlaubten oktalen Ziffern sind. 
...
Also solltest Du alle Tages( und Monats-)werte in etwas "Dezimales" umwandeln.
Beispielsweise mit der Mimik "Tagwert=1Tagwert -100" == SET /A XTAG=1%date:~-10,2%-100

Siehe auch in den einschlägigen Tutorials zum Thema Umgang mit Datums- und Zeitvariablen im Batch hier im Forum.

Grüße
Biber
Bitte warten ..
Mitglied: svennib
10.06.2009 um 03:29 Uhr
Hallo Biber,

danke für den Tip, toll, auch der Trick mit dem 1%VARI% -100
Wie kann man ne pure 0 vorne als Kenner für eine Oktalzahl verwenden?
Bei Hex oder Bin gehts doch auch anders!
Aber richtig: Lesen hilft ja manchmal weiter.

Danke nochmal

Sven
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

TXT Datei bleibt nach Erstellung leer - woran liegt es?

gelöst Frage von Komoran12Batch & Shell14 Kommentare

Hallo, ich bin blutiger Anfänger und hoffe, dass mir wer weiterhelfen kann :-) Ich habe eine .csv, die wie ...

Java

Java Setup startet nicht mehr. Woran liegts?

Frage von EmoZioNJava29 Kommentare

Heyho, Über Google finde ich nichts sinnvolles. habe seit gestern das Problem dass sich Java nicht mehr installieren lässt, ...

Windows Systemdateien

Windows 8.1 BSOD grundlos woran liegts?

gelöst Frage von MarabuntaWindows Systemdateien6 Kommentare

es wurden kürzlich keine änderungen am system vorgenommen, trotzdem crasht es jetzt ständig unabhängig vom laufenden programm habe einige ...

Batch & Shell

Umgebungsvariablen im Batch auflösen

gelöst Frage von SchmalspurTueftlerBatch & Shell3 Kommentare

Hallo zusammen, habe eine Textdatei in der zeilenweise temporäre Verzeichnispfade stehen. Die werden dann durch das Script eingelesen und ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

Microsoft Office
Freitagsfrage? Excel und CSV - Import statt öffnen
gelöst Frage von KraemerMicrosoft Office7 Kommentare

Moin zusammen, entweder fallen mir heute nicht die richtigen Wörter für Google ein, oder es geht schlicht nicht. Gibt ...

Entwicklung
Batch - Überprüfung
gelöst Frage von apex.predator24Entwicklung6 Kommentare

Hallo Zusammen Gibt es eine Möglichkeit, einen Prozess im TaskManager über eine Batch-Datei zu überprüfen ob dieser läuft oder ...