Model mit hilfe vom CMD in eine Variable speichern
Hallo,
ich will das Model eines Rechners auslesen und anschließend in eine Variable speichern.(%Model%)
Mit [wmic computersystem get model | findstr /v "Model"] kriege ich das Model meines Rechners raus.
Gut aber jetzt fehlt nur noch das abspeicher in eine Variable.
Das versuche ich mit [for /f "tokens=*" %g in ('wmic computersystem get model ^| findstr /v "Model"') do set Model=%g]
Ausgabe: set Model="Modelname"
set Model=
Wie man sehen kann wird erst der Modelname in die Variable Model geschrieben und anschließend wird die Variable mit einem
Leerzeichen überschrieben.
An dieser Stelle benötige ich Hilfe.
Vielleicht wisst ihr weiter, wie man das Model in eine Variable Speicher kann.
Ich bin für jede Hilfe dankbar.
Ps.: Der Code soll in der CMD bleiben, das heißt es soll keine Text Datei oder ein Ordner erstellt werden mit dem Inhalt zu
Übertragung des Inhaltes und ähnliches. Außerdem sollte er kurz gehalten werden.
ich will das Model eines Rechners auslesen und anschließend in eine Variable speichern.(%Model%)
Mit [wmic computersystem get model | findstr /v "Model"] kriege ich das Model meines Rechners raus.
Gut aber jetzt fehlt nur noch das abspeicher in eine Variable.
Das versuche ich mit [for /f "tokens=*" %g in ('wmic computersystem get model ^| findstr /v "Model"') do set Model=%g]
Ausgabe: set Model="Modelname"
set Model=
Wie man sehen kann wird erst der Modelname in die Variable Model geschrieben und anschließend wird die Variable mit einem
Leerzeichen überschrieben.
An dieser Stelle benötige ich Hilfe.
Vielleicht wisst ihr weiter, wie man das Model in eine Variable Speicher kann.
Ich bin für jede Hilfe dankbar.
Ps.: Der Code soll in der CMD bleiben, das heißt es soll keine Text Datei oder ein Ordner erstellt werden mit dem Inhalt zu
Übertragung des Inhaltes und ähnliches. Außerdem sollte er kurz gehalten werden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 363571
Url: https://administrator.de/forum/model-mit-hilfe-vom-cmd-in-eine-variable-speichern-363571.html
Ausgedruckt am: 03.06.2025 um 04:06 Uhr
6 Kommentare
Neuester Kommentar
WMIC gibt am Ende jeder Zeile ein zusätzliches Carriage Return Zeichen aus. Dieser Bug ist so alt wie WMIC selbst. Eine zusätzliche FOR /F Schleife eliminiert dieses Zeichen.
Bei Nutzung in der Kommandozeile sind es nur einfache Prozentzeichen bei den FOR Variablen ...
Steffen
@echo off &setlocal
for /f "delims=" %%i in ('wmic computersystem get model /value') do for /f "delims=" %%j in ("%%i") do set "%%j"
echo %model%
pause
Steffen
Eine FOR Variable besteht aus einem Prozentzeichen und einem Buchstabe. In einem Batchscript muss das Prozentzeichen verdoppelt werden, da es beim Parsen des Scripts wieder zu einem reduziert wird. Es ist übrigens nicht ratsam in einer verschachtelten FOR Schleife beide Variablen gleich zu benennen. Genau genommen wundert es mich dass es überhaupt funktioniert. Ob du nun aber %g und %h, oder wie ich %i und %j verwendest, ist grundsätzlich egal. Wenn du die Ausgabe im Prompt noch etwas übersichtlicher halten willst, verwende ein @ nach jedem DO, à la
Steffen
for /f "delims=" %i in ('wmic computersystem get model /value') do @for /f "delims=" %j in ("%i") do @set "%j"