Batch, Variable in For Schleife Deklarieren
Bin Scrips-Anfänger, habe also ein realtiv einfaches Script
Also mein Problem ist Folgendes,
ich hbe ein Batch-Skript das einfach nur ein Netzlaufwerk zuweisen soll,
dabei wird die IP des Zielrechners in der Variable "server" gespeichert.
Das funktioniert auch, nur nun habe ich das ganze in eine For-Schleife gepackt und in dieser will der aus welchem Grund auch immer meine Variable nichtmehr Deklarieren, hier das Beispiel:
for /L %%x IN (1 1 254) do (
set server=192.168.1.%%x
echo %server%
...
)
natürlich ist das echte Skript ein wenig umfangreicher aber selbst dieses Beispiel funktioniert nicht, ich hoffe ihr könnt mir helfen
MfG
S.Schmiedel
Also mein Problem ist Folgendes,
ich hbe ein Batch-Skript das einfach nur ein Netzlaufwerk zuweisen soll,
dabei wird die IP des Zielrechners in der Variable "server" gespeichert.
Das funktioniert auch, nur nun habe ich das ganze in eine For-Schleife gepackt und in dieser will der aus welchem Grund auch immer meine Variable nichtmehr Deklarieren, hier das Beispiel:
for /L %%x IN (1 1 254) do (
set server=192.168.1.%%x
echo %server%
...
)
natürlich ist das echte Skript ein wenig umfangreicher aber selbst dieses Beispiel funktioniert nicht, ich hoffe ihr könnt mir helfen
MfG
S.Schmiedel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 18827
Url: https://administrator.de/contentid/18827
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
3 Kommentare
Neuester Kommentar
Moin DarkAlucard,
es funktioniert schon...
--z.B am CMD-Prompt
Aber wenn Du innerhalb der Klammern nach dem "DO..." etwas von den neu zugewiesenen Daten sehen/lesen/anzeigen willst, dann musst Du mit "EnableDelayedExpansion" arbeiten
Siehe im Bereich "Batch & Shell" für Details.
Gruß
Biber
es funktioniert schon...
--z.B am CMD-Prompt
for /L %x IN (1 1 254) do @echo 192.168.1.%x
Aber wenn Du innerhalb der Klammern nach dem "DO..." etwas von den neu zugewiesenen Daten sehen/lesen/anzeigen willst, dann musst Du mit "EnableDelayedExpansion" arbeiten
REM im Batch
@echo off & setlocal EnableDelayedExpansion
for /L %%x IN (1 1 254) do (
Set myserver=192.168.1.%%x
Echo MyServer: !myServer!
)
Siehe im Bereich "Batch & Shell" für Details.
Gruß
Biber