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, 8120 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst In einer Batch variable die Datei extension ermitteln ? (4)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Update
MS: Update-Server-Adressen OHNE Wildcards (16)

Frage von mrserious73 zum Thema Windows Update ...

Microsoft Office
+1.000 Ordner in Outlook: Wie besser? (10)

Frage von Matsushita zum Thema Microsoft Office ...

Multimedia & Zubehör
Laptop per HDMI an TV - einer geht, einer nicht (10)

Frage von dreizehneinhalb zum Thema Multimedia & Zubehör ...