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, 4266 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Nach Muster von Dateien, diese hochzählen (12)

Frage von Erik72 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

VB for Applications
Auswahlliste mit variablen (3)

Frage von 94451 zum Thema VB for Applications ...

Batch & Shell
gelöst Variable in Regedit (3)

Frage von MeinSenfDazu zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (21)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (10)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Netzwerkmanagement
Suche eine Software für Cloudverwaltung (6)

Frage von tsunami zum Thema Netzwerkmanagement ...

Google Android
Musik Wiedergabe am PC mit Smartphone über Bluetooth steuern (5)

Frage von justlukas zum Thema Google Android ...