Top-Themen

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

Mitglied: hatzwatz

hatzwatz (Level 1) - Jetzt verbinden

12.02.2007, aktualisiert 16.02.2007, 11639 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
Batch Variablen in for-Schleife
gelöst Frage von Dacki1107Batch & Shell2 Kommentare

Hallo Liebe Administratoren Ich kämpfe mit einem kleinen Problemchen und hoffe das Ihr mir helfen könnt. Ich versuche eine ...

Batch & Shell

Batch: Variable Expansion in einer FOR-Schleife

Frage von .SesslBatch & Shell9 Kommentare

Hallo zusammen, leider finde ich dazu nicht viel, "vielleicht" könnt Ihr mir helfen. Da man keine Parameter Variablen der ...

Batch & Shell

Batch Schleife als FOR-SCHLEIFE

gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Batch & Shell

Weitergabe von Variablen in for-Schleifen

Frage von MFJustBatch & Shell1 Kommentar

Hallo, Ich versuche HTML Dateien in PDFs umzuwandeln (dies funktioniert) und diese dabei nach Teilen dieser HTML Datei umzubenennen ...

Neue Wissensbeiträge
Drucker und Scanner
HP-MF-Drucker per Fax angreifbsr
Information von Lochkartenstanzer vor 1 TagDrucker und Scanner2 Kommentare

Endlich eine sinnvolle Verwendung für Faxe: Damit kann man offensichtlich den Drucker übernehmen. lks

Router & Routing

Das pfSense Buch ist jetzt für jeden kostenlos zu beziehen

Tipp von magicteddy vor 2 TagenRouter & Routing2 Kommentare

Bisher war das Buch nur für zahlende Unterstützer verfügbar, jetzt steht für Jedermann kostenlos zur Verfügung. Siehe auch The ...

Firewall

Möglicherweise neue Sicherheitslücke in Mikrotik-Firmware

Information von LordGurke vor 4 TagenFirewall3 Kommentare

Hallo zusammen, vor ein paar Monaten gab es ja bereits eine Sicherheitslücke in der Firmware von Mikrotik-Routern, über welche ...

Erkennung und -Abwehr
Rechner hacken mit Cortana, auch Remote
Information von Lochkartenstanzer vor 5 TagenErkennung und -Abwehr3 Kommentare

heise berichtet über den Vortrag von der Blackhat Open Sesame: Picking Locks with Cortana. Einige Fehler sind schon gefixt, ...

Heiß diskutierte Inhalte
Windows 10
WIN 10 1803 - LTE Stick kein Internetzugriff
Frage von killtecWindows 1022 Kommentare

Hallo, ich habe mit einem Windows 10 1803 Probleme mit einem LTE-Stick. Das gleiche Problem ist bei mehreren Rechnern ...

CPU, RAM, Mainboards
Xeon E5620: noch schnell genug?
Frage von ahussainCPU, RAM, Mainboards19 Kommentare

Hallo allerseits, ich habe die Möglichkeit, aus Restbeständen einen Tower mit Xeon E5620 CPU und 24 GB RAM zu ...

Datenbanken
MySQL Datenbank Import Aufgabe für mehrere .csv dateien
Frage von Marcel1989Datenbanken17 Kommentare

Hi, ich komm nicht weiter. Ich hab auf einem Windows Server 2012 r2 eine MariaDB/MySQL laufen. Nun soll diese ...

Peripheriegeräte
Steckdose(nleiste) mit Schwellwert für off und mit externem Taster
Frage von ahstaxPeripheriegeräte16 Kommentare

Hallo, ich suche eine Steckdose oder Steckdosenleiste mit externem Taster und Schwellwerterkennung. Zu realisieren ist folgendes: Ein PC soll ...