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

Nach Funktion Revstr wird aufeinmal eine Leerzeile hinzugefügt VBS

Frage Entwicklung Batch & Shell

Mitglied: Invisan

Invisan (Level 1) - Jetzt verbinden

15.01.2014 um 10:40 Uhr, 987 Aufrufe, 3 Kommentare, 2 Danke

Hallo zusammen,

ich habe mal wieder ein kleines Problem.

Ich habe in VBS ein kleines Script geschrieben welches dazu dienen soll einen Output einer WMIC Variable umzudrehen und nach Lowercaps zu konvertieren.
Leider funktioniert das ganze nicht denn nach dem umwandeln wird der Output auf einmal in 2 Zeilen statt einer ausgegeben.

Hier das Skript.


Set objShell = CreateObject("WScript.Shell")
Set objWshScriptExec = objShell.Exec("wmic bios get serialnumber /VALUE")
Set objStdOut = objWshScriptExec.StdOut

While Not objStdOut.AtEndOfStream
strLine = objStdOut.ReadLine
If InStr(strLine,"=") Then
newstr = Replace(strLine,"SerialNumber=","")
revstr = StrReverse(newstr)
lstr = LCase(revstr)
WScript.Echo "Normal ="&newstr
WScript.Echo "Reverse ="&revstr
WScript.Echo "Revlow ="&lstr
End If
Wend


Ich hoffe mir kann jemand helfen das Problem zu finden und zu lösen. Ich vermute es hängt mit der Ausgabe von WMIC zusammen denn dort werden Leerzeilen mit ausgegeben.


Mit freundlichen Grüßen,

Invisan
Mitglied: colinardo
15.01.2014, aktualisiert um 11:26 Uhr
Hallo Invisan,
in den Zeilen von "StdOut" sind in den Zeilen zusätzlich die Zeilenumbrüche enthalten. Diesen musst du noch entfernen:
01.
Set objShell = CreateObject("WScript.Shell") 
02.
Set objWshScriptExec = objShell.Exec("wmic bios get serialnumber /VALUE") 
03.
Set objStdOut = objWshScriptExec.StdOut 
04.
 
05.
While Not objStdOut.AtEndOfStream 
06.
	strLine = objStdOut.ReadLine 
07.
	If InStr(1,strLine,"=",1) Then 
08.
		newstr = Left(strLine,Len(strLine)-1) 
09.
		newstr = Replace(newstr,"SerialNumber=","",1,-1,1) 
10.
		revstr = StrReverse(newstr) 
11.
		lstr = LCase(revstr) 
12.
		WScript.Echo "Normal =" & newstr 
13.
		WScript.Echo "Reverse =" & revstr 
14.
		WScript.Echo "Revlow =" & lstr 
15.
	End If 
16.
Wend
p.s. geht auch einfacher direkt via WMI (siehe weiter unten)

Grüße Uwe
Bitte warten ..
Mitglied: Invisan
15.01.2014 um 11:13 Uhr
Zitat von colinardo:

Hallo Invisan,
in den Zeilen von "StdOut" sind in den Zeilen zusätzlich die Zeilenumbrüche enthalten. Diesen musst du noch
entfernen:
01.
> Set objShell = CreateObject("WScript.Shell") 
02.
> Set objWshScriptExec = objShell.Exec("wmic bios get serialnumber /VALUE") 
03.
> Set objStdOut = objWshScriptExec.StdOut 
04.
>  
05.
> While Not objStdOut.AtEndOfStream 
06.
> 	strLine = objStdOut.ReadLine 
07.
> 	If InStr(1,strLine,"=",1) Then 
08.
> 		newstr = Left(strLine,Len(strLine)-1) 
09.
> 		newstr = Replace(newstr,"SerialNumber=","",1,-1,1) 
10.
> 		revstr = StrReverse(newstr) 
11.
> 		lstr = LCase(revstr) 
12.
> 		WScript.Echo "Normal =" & newstr 
13.
> 		WScript.Echo "Reverse =" & revstr 
14.
> 		WScript.Echo "Revlow =" & lstr 
15.
> 	End If 
16.
> Wend 
17.
> 
Grüße Uwe

Super,

Danke dir Uwe


Mit freundlichen Grüßen,

Invisan
Bitte warten ..
Mitglied: colinardo
15.01.2014, aktualisiert um 11:25 Uhr
Du kannst die Seriennummer aber auch einfacher direkt mit WMI auslesen:
01.
strComputer = "." 
02.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
03.
Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS",,48) 
04.
 
05.
For Each objItem in colItems 
06.
	WScript.Echo "SerialNumber: " & objItem.SerialNumber 
07.
Next
Uwe
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

LAN, WAN, Wireless
Hat On Networks PL500PS WLAN-Funktion? (4)

Frage von Andy1987 zum Thema LAN, WAN, Wireless ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

iOS
IOS 10.2 bringt SOS-Funktion aufs iPhone

Link von sabines zum Thema iOS ...

Heiß diskutierte Inhalte
DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (10)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...