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

Variable in Batch erhöhen

Frage Entwicklung Batch & Shell

Mitglied: leknilk0815

leknilk0815 (Level 3) - Jetzt verbinden

26.09.2006, aktualisiert 16:43 Uhr, 26177 Aufrufe, 3 Kommentare

Hochzählen einer Variablen

Hallo (Biber)(grins),

ich möchte in einer Batch den Wert einer Variablen jeweils erhöhen,
also z.B. Schritt1:
set 1=1 (somit habe ich in %1% den Wert 1
Schritt2 sollte den Wert in %1% um 1 erhöhen, und dafür fehlt mir die richtige Syntax
set 1=%1%+1 funktioniert nicht, hier bekomme ich statt 2 "1+1"

Wie ist die richtige Eingabe??

Danke schon mal vorab!

Gruß - Toni
Mitglied: miniversum
26.09.2006 um 16:20 Uhr
Ich heiß zwar nicht Biber aber vielleicht hilft dir das hier auch weiter:

SET VARIABLE=1
echo %VARIABLE%

SET /A VARIABLE=VARIABLE+1
echo %VARIABLE%


miniversum
Bitte warten ..
Mitglied: Biber
26.09.2006 um 16:32 Uhr
@Thx, miniversum
Na ja, Toni,

man/frau definiert auch keine Variablen, die "1" heißen sollen ...

Oder wäre das für Dich transparent, eine Variable "1" mit dem Wert "6" zu definieren?
Wenn ja, hast Du das Zeug zum Politiker - die senken auch die Arbeitslosenquote von 4 Millionen um 2 Millionen auf 4,7 Millionen... die müssen ähnlich rechnen.

3 oder 4 Regeln auf jeden Fall einhalten, falls Du schwer zu findende Tipp-Fehler vermeiden willst im Batch:

1) Variablennamen und Sprungmarken fangen mit einem Zeichen [a-z, A-Z] an und enthalten weder Sonderzeichen noch Umlaute.
2) Wer "eigene" Variablen neu definiert/verwendet, die es auch als Systemvariablennamen gibt (z.B. %username%, %computername% , %date%..), der muss entweder sehr fit oder sehr blöd sein
3) Um unbeabsichtigte Leerzeichen bei der Zuweisung von Werten an eine Variable zu vermeiden, sollte die gesamte Zuweisung durch Anführungszeichen begrenzt sein:
[set "myVar=Biber" statt set myvar=Biber]
4) wenn variablen als "numerische Werte" verwendet werden sollen, dann von Anfang an mit "Set /a" definieren ...
Bsp: Set /a "myNumvar=22"

Deine Rechnerei oben funktioniert, wenn Du die Variable "v1" statt nur "1" nennst. Und den Schalter /a beim SET verwendest.
01.
>set /a "v1=27" 
02.
27 
03.
>set /a "v1+=27" 
04.
54 
05.
>set /a "v1/=8" 
06.
07.
>set /a "v1=%v1% + 103" 
08.
109 
09.
>set /a "v1="v1" + 103" 
10.
212
HTH
Biber
Bitte warten ..
Mitglied: leknilk0815
26.09.2006 um 16:43 Uhr
Vielen Dank an euch beide, das hilft mir weiter.
Und - es wird nix politisches, ich muß nur eine Heidenmenge Dateien umbenennen und umschachteln, um eine vernünftige Auswertung von Daten zu bekommen. Aber manchmal hakts an Kleinigkeiten, die einen zum Wahnsinn treiben (weil man es eigentlich schon mal wusste, aber der Alz halt...)

Gruß - Toni
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Loop Variablen ( Batch ) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (21)

Frage von tobias.mock zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Netzwerkgrundlagen
Pro Contra "echtes Subnetting" VLSM (12)

Frage von killing.Apfelkuchen zum Thema Netzwerkgrundlagen ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (11)

Frage von shearer9 zum Thema Voice over IP ...