Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

mit Variablen in einer Windows BATCH innerhalb einer FOR-Schleife rechnen

Frage Microsoft Windows Tools

Mitglied: hatzwatz

hatzwatz (Level 1) - Jetzt verbinden

12.02.2007, aktualisiert 16.02.2007, 11103 Aufrufe, 7 Kommentare

Hallo,

ich habe ein Problem mit Variablen in einer Windows BATCH Datei:

ich brauche für ein Skript einen inkrementellen Wert und einen Wert, der immer um 1 kleiner ist als der inkrementelle Wert.

Gedacht hatte ich mir das so:

for /L %%i in (10,-1,0) do (
set voriger=%%i-1
[Befehle]
)

Funktionieren tut es leider nicht. Er rechnet mir in der Variable "voriger" nicht den um 1 verkleinerten inkrementellen Wert aus. Habe schon viel im Netz gesucht und viel probiert. Aber es will nicht funktionieren.

Vielleicht hat jemand von euch einen Tip für mich.

Danke und viele Grüße

hatzwatz
Mitglied: miniversum
12.02.2007 um 11:38 Uhr
Du brauchst für den set befehl der /a Parameter um zu rechnen. Siehe set/?
set /a voriger=%%i-1

miniversum
Bitte warten ..
Mitglied: hatzwatz
12.02.2007 um 11:47 Uhr
auch mit /a habe ich es probiert. Er rechnet einfach nicht wirklich mit der Variablen - bzw. ich bekomme als voriger immer die gleiche Zahl raus (-1) !?!?
Bitte warten ..
Mitglied: Biber
12.02.2007 um 11:59 Uhr
Moin hatzwatz,

miniversum hat schon Recht.

Zusätzlich musst Du noch, wenn Du INNERHALB der FOR..IN..DO-Klammern mit diesem Wert etwas tun willst, "ankündigen", dass Du diese Variable INNERHALB dieser Anweisung sofort neu auswerten willst.
Dazu gibt es den Befehl "Setlocal EnableDelayedExpansion" und die Variablenschreibweise !var! statt %var%.

01.
@echo off & setlocal EnableDelayedExpansion 
02.
for /L %%i in (10,-1,0) do ( 
03.
set voriger=%%i-1      
04.
@echo Schleifenwert ist %%i --- voriger ist !voriger! 
05.
REM.. [Befehle] 
06.
)
HTH
Biber
Bitte warten ..
Mitglied: hatzwatz
15.02.2007 um 23:14 Uhr
wenn ich jetzt noch die Variable mit der Option /a setze, dann klappt es! Also:

@echo off & setlocal EnableDelayedExpansion
for /L %%i in (10,-1,0) do (
set /a voriger=%%i-1
@echo Schleifenwert ist %%i --- voriger ist !voriger!
REM.. [Befehle]
)

Vielen Dank !
Bitte warten ..
Mitglied: Biber
16.02.2007 um 08:53 Uhr
Moin hatzwatz,

da hast Du natürlich Recht - wieder mal ein typischer Copy & Paste-Fehler von mir.
Sollte ich mir beides abgewöhnen - dieses Copy & Pasten und das ungetestete Posten von Skizzen.

Ich korrigiere die Zeile oben nicht.
Kannst Du bitte den Beitrag auf "Erledigt" setzen?
Ich kann es in diesem Bereich des Forums leider nicht...

Schönes Wochenende
Biber
Bitte warten ..
Mitglied: hatzwatz
16.02.2007 um 08:58 Uhr
wo setze ich den denn auf erledigt? Finde keinen Link und kein Button dafür!?!?
Bitte warten ..
Mitglied: Biber
16.02.2007 um 09:13 Uhr
Moin hatzwatz,

oben auf der ursprünglichen Frage (=Deinem Beitrag) auf "Editieren" klicken, danach gibt es mehrere Ankreuzmöglichkeiten.
Dort das Häkchen im Kontrollkästchen "Dieser Beitrag gilt als Gelöst" setzen.

Danke
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

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

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Wert aus Batch Schleife in Variable speichern (5)

Frage von anmelder zum Thema Batch & Shell ...

Batch & Shell
gelöst Verschachtelte FOR-Schleife mit einem Argument (3)

Frage von mp-home zum Thema Batch & Shell ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Infineon TPMs unsicher! Bitlocker ggf. angreifbar

(2)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Firewall

PfSense Repository für Version 2.3.x

(3)

Information von Dobby zum Thema Firewall ...

LAN, WAN, Wireless

WPA-2 hat erste Risse: KRACK

(8)

Information von the-buccaneer zum Thema LAN, WAN, Wireless ...

Hardware

GPD Pocket: Winziger Laptop für Wenig Tipper

(1)

Information von pelzfrucht zum Thema Hardware ...

Heiß diskutierte Inhalte
Microsoft Office
ICH BIN AM ENDE MEINES IT-WISSENS ANGELANGT!!!! (37)

Frage von 134537 zum Thema Microsoft Office ...

Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (23)

Frage von Syosse zum Thema Windows Server ...

Hosting & Housing
Mailserver Software Empfehlungen (21)

Frage von sunics zum Thema Hosting & Housing ...