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, 1019 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 ..
Ähnliche Inhalte
Linux Tools
gelöst Mit Linux am ende einer Datei eine Leerzeile einfügen (30)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Linux Tools ...

Batch & Shell
gelöst VBS Script in eine Textdatei ausgeben (VBS mit Batch zusammenführen) (5)

Frage von Luuke257 zum Thema Batch & Shell ...

DNS
gelöst Client kann der Domäne nicht hinzugefügt werden - DNS? (18)

Frage von 129511 zum Thema DNS ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (22)

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

Webentwicklung
Aktuellen Mitarbeiter auf Homepage anzeigen (13)

Frage von alemanne21 zum Thema Webentwicklung ...

Windows Server
gelöst Parameter Übergabe Terminal Server (9)

Frage von ThomasKern zum Thema Windows Server ...

Batch & Shell
Anfängerfragen - Powershell - Mailboxvertretung im Pulk einrichten (8)

Frage von Yoshimitsu zum Thema Batch & Shell ...