For Schleife gibt mir nur den Letzen wert in einem Parameter an
Hallo Zusammen..
ich habe das Problem das ich versuche in einer VM den Physicalischen Hostnamen herauszufeinden. Durch die Suche auf google bin ich schon auf diverse Beiträge gestossen.
allerdings haben die mich nicht weitergebracht.
Auch habe ich versucht das hier beschriebene For-Schleifen Tutorial zu verstehen allerdings versteh ich Forschleifen einfach gar nicht. Somit wende ich mich nun an euch und hoffe ihr könnt mir helfen
Das ist mein Code:
FOR /F " tokens=3 Skip=3" %%i*** in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters\" /v HostName' ) DO ( SET host1=%%i
SET host2=%%j
SET host3=%%k
SET host4=%%l )
Echo %host1%
Echo %host2%
Echo %host3%
Echo %host4%
pause
Nun bekomm ich folgendes zurückgeliefert:
C:\Documents and Settings\admaps\Desktop>FOR /F "tokens=3 skip=2" %i IN ('REG QU
ERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters\" /v
HostName') DO (
SET host1=%i
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=NBAPS77
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=NBAPS77
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=NBAPS77.apsolut-s.local
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=test
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>Echo test
test
C:\Documents and Settings\admaps\Desktop>Echo %j
%j
C:\Documents and Settings\admaps\Desktop>Echo %k
%k
C:\Documents and Settings\admaps\Desktop>Echo %l
%l
C:\Documents and Settings\admaps\Desktop>pause
Press any key to continue . . .
Er gibt mir also zum schluss den namen "test" an. (name der virtuellen Mashcine)
Ich dagegen bräuchte allerdings den ersten (NBAPS77)
Grüße
Roman
Edit: Kann mir keiner helfen? es haben bereits mehr als 60 Personen den Threat gelesen.....
ich habe das Problem das ich versuche in einer VM den Physicalischen Hostnamen herauszufeinden. Durch die Suche auf google bin ich schon auf diverse Beiträge gestossen.
allerdings haben die mich nicht weitergebracht.
Auch habe ich versucht das hier beschriebene For-Schleifen Tutorial zu verstehen allerdings versteh ich Forschleifen einfach gar nicht. Somit wende ich mich nun an euch und hoffe ihr könnt mir helfen
Das ist mein Code:
FOR /F " tokens=3 Skip=3" %%i*** in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters\" /v HostName' ) DO ( SET host1=%%i
SET host2=%%j
SET host3=%%k
SET host4=%%l )
Echo %host1%
Echo %host2%
Echo %host3%
Echo %host4%
pause
Nun bekomm ich folgendes zurückgeliefert:
C:\Documents and Settings\admaps\Desktop>FOR /F "tokens=3 skip=2" %i IN ('REG QU
ERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters\" /v
HostName') DO (
SET host1=%i
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=NBAPS77
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=NBAPS77
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=NBAPS77.apsolut-s.local
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>(
SET host1=test
SET host2=%j
SET host3=%k
SET host4=%l
)
C:\Documents and Settings\admaps\Desktop>Echo test
test
C:\Documents and Settings\admaps\Desktop>Echo %j
%j
C:\Documents and Settings\admaps\Desktop>Echo %k
%k
C:\Documents and Settings\admaps\Desktop>Echo %l
%l
C:\Documents and Settings\admaps\Desktop>pause
Press any key to continue . . .
Er gibt mir also zum schluss den namen "test" an. (name der virtuellen Mashcine)
Ich dagegen bräuchte allerdings den ersten (NBAPS77)
Grüße
Roman
Edit: Kann mir keiner helfen? es haben bereits mehr als 60 Personen den Threat gelesen.....
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 206787
Url: https://administrator.de/forum/for-schleife-gibt-mir-nur-den-letzen-wert-in-einem-parameter-an-206787.html
Ausgedruckt am: 09.04.2025 um 19:04 Uhr
2 Kommentare
Neuester Kommentar
Hallo Dpole86,
leider werde ich aus deinem Code nicht so recht schlau
auch betreibe ich keine VM und kann nicht mal eben nachgucken. Vor allem der "skip"-Parameter wackelt wie ein Hammel### <--- die 
Wenn das zuletzt gepostete stimmt, sollte es so gehen:
Gruss!
leider werde ich aus deinem Code nicht so recht schlau
###
hat das Forum eingesetzt Wenn das zuletzt gepostete stimmt, sollte es so gehen:
FOR /F "tokens=2* skip=2" %%i IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Virtual Machine\GuestParameters\" /v HostName') DO if not defined host set "host=%%j"
echo %host%
Gruss!