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, 4248 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
Ähnliche Inhalte
Windows 10
Windows 10 Update funktioniert nicht (8)

Frage von master3477 zum Thema Windows 10 ...

MikroTik RouterOS
gelöst Mikrotik externe SD Card funktioniert nicht (9)

Frage von sebasscha zum Thema MikroTik RouterOS ...

Router & Routing
gelöst WOL über zwei Router - Ping funktioniert nicht (3)

Frage von erdmelone zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (18)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Grafikkarten & Monitore
Neue Graifkkarte - kein Bild (10)

Frage von bestelitt zum Thema Grafikkarten & Monitore ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...

Multimedia & Zubehör
gelöst Iphone 6 prob (8)

Frage von jensgebken zum Thema Multimedia & Zubehör ...