Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Hochzählen einer Variable funktioniert ab 08 nicht mehr

Frage Entwicklung Batch & Shell

Mitglied: bufferm44

bufferm44 (Level 1) - Jetzt verbinden

27.08.2008, aktualisiert 19:30 Uhr, 4237 Aufrufe, 2 Kommentare

Hi zusammen!

Ich habe etwas wirklich merkwürdiges:

Man erstelle eine Datei c:\tag.txt mit dem Inhalt 01.

Mal führe folgendes Script 7x aus, aber beim 8. Mal macht er aus der 08 keine 09 sondern eine 01. Ich versetehe es nicht...

01.
set /p tag=<"C:\tag.txt" 
02.
echo eingelesener tag ist %tag% 
03.
set /a tag+=1 
04.
echo tag plus eins ist %tag% 
05.
for /L %%i IN (1 1 9) do ( 
06.
if "%tag%"=="%%i" set tag=0%%i 
07.
if "%tag%"=="0%%i" goto :tagend 
08.
09.
:tagend 
10.
echo %tag%> C:\tag.txt 
11.
echo %tag% in datei geschrieben 
12.
pause
Weiß jemand Rat?
Mitglied: bastla
27.08.2008 um 17:43 Uhr
Hallo bufferm44!

Das ist eine der lästigen Kleinigkeiten, mit denen die CMD-Shell so aufwarten kann ...

Eine Zahl, die mit "0" beginnt, wird als Oktalzahl interpretiert - von "00" bis "07" macht das natürlich keinen Unterschied, aber mangels Ziffer "8" im Oktalsystem stellt natürlich "08" keine gültige Zahl mehr dar.

Da der "set /a" Befehl aber auf Teufel komm raus eine Zahl erzeugen will, nimmt er soviel, wie noch "in Ordnung" ist - also nur die führende "0" - und addiert dann 1.

Ein Workaround (als Ersatz der Zeile 3) könnte so aussehen:
01.
set "tag=1%tag%" 
02.
set /a tag+=1 
03.
set "tag=%tag:~-2%"
Damit hast Du dann das Formatierungsproblem auch gleich gelöst ...

Grüße
bastla
Bitte warten ..
Mitglied: bufferm44
27.08.2008 um 19:30 Uhr
Zitat von bastla:
> Das ist eine der lästigen Kleinigkeiten, mit denen die CMD-Shell
so aufwarten kann ...

Oh, oh, oh, das erinnert mich irgendwie an die "enabledelayedexpansion"-Geschichte, man probiert Stunden herum und sucht den "Fehler"..

Vielen Dank!! Auch für die Formatierung!

Grüße

Tobi
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Linux
LTSP: PXE Boot funktioniert nicht (16)

Frage von Fenris14 zum Thema Linux ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Virtualisierung
Drucker aus einer VM heraus funktioniert nicht (5)

Frage von NCCTech zum Thema Virtualisierung ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...