Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Systeminfo per Batch in Variable schreiben

Frage Entwicklung Batch & Shell

Mitglied: zensbert

zensbert (Level 1) - Jetzt verbinden

07.12.2009 um 18:18 Uhr, 7951 Aufrufe, 7 Kommentare

Hi,
ihr kennt ja das kleine cmd-tool systeminfo, was einem allerhand infos anzeigt und bei jedem windows dabei ist.. ich brauch den inhalt einer info in einer variable, kann mir da mal jemand helfen?

geht um

01.
Z:\Daten\systeminfo |find "Systemmodell:" 
also Systemmodell, den wert ohne die Leerzeichen und ohne das "Systemmodell:" vorne dran.

danke
Thomas
Mitglied: paulepank
07.12.2009 um 19:31 Uhr
Hallo Thomas,
mit find bist du auf dem Holzweg.

so geht es in einer Batch:
01.
for /f "tokens=2" %%i in ('systeminfo^|findstr /i systemmodell') do @set modell=%%i
cu paulepank
Bitte warten ..
Mitglied: Biber
07.12.2009 um 19:40 Uhr
Moin chizophren,

ergänzend zu paulepank - so ginge es am CMD-Prompt als Demo::
>for /f "tokens=1,*" %i in ('Systeminfo^|find "Systemmodell"') do @echo set "Systemmodell=%j"

Im Batch mit jeweils zwei Prozentzeichen vor den Laufvariablen i und j (%%i statt %i; %%j statt %j)

Achtung: der als "Systemmodell" gelieferte Rückgabewert ist IMMER 30 Zeichen lang-- du hast als in der Variablen IMMER ein paar trailing blanks mit dabei.

Grüße
Biber
Bitte warten ..
Mitglied: zensbert
07.12.2009 um 19:42 Uhr
klappt schon ganz gut, nur ist dann bei mir in der modell variable nur "Amilo" und nicht "Amilo Pro XXXX", weisst du da weiter?
danke schon im voraus^^
Bitte warten ..
Mitglied: zensbert
07.12.2009 um 19:46 Uhr
so wird zumindest der ausgabe nach alles in die variable geschrieben, auch das nach dem leerzeichen, nur wenn ich die variable ausgebe per echo ist sie leer..? danke.. wie immer!
Bitte warten ..
Mitglied: paulepank
07.12.2009 um 20:15 Uhr
T'schuldigung,

bei mir wars nur ein Wort. Als schnellen Workaround (muß jetzt erstmal 'ne Kochsendung sehen) bis zu vier Worte:
01.
for /f "tokens=2-5" %%i in ('systeminfo^|findstr /i systemmodell') do @set "modell=%%i %%j %%k %%l"
cu paulepank
Bitte warten ..
Mitglied: Biber
07.12.2009 um 20:32 Uhr
Moin chizophren,

was ich immer mit "Demo am CMd-Prompt" meine ist: Das, was eigentlich passieren würde wird nur angezeigt (== mit @echo).

Also noch mal in epischer Breite:
Demo/proof-of-concept am CMD-Prompt:
>for /f "tokens=1,*" %i in ('Systeminfo^|find "Systemmodell"') do @echo set "Systemmodell=%j"
Wenn und falls das deinen Erwartungen entspricht, dann wird in einer Batchdatei daraus:
for /f "tokens=1,*" %%i in ('Systeminfo^|find "Systemmodell"') do set "Systemmodell=%%j"
[ Prozentzeichen vor den Laufvariablen verdoppelt; "@echo" ersatzlos weggefallen.]

Grüße
Biber
Bitte warten ..
Mitglied: zensbert
07.12.2009 um 22:38 Uhr
vielen dank an biber und paulepank^^ hat geklappt
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

Batch & Shell
gelöst Aktueller Besitzer der aktuellen Datei herausfinden und in Variable schreiben (11)

Frage von Peter32 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...