Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 1024 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 Hilfe Bei einem vbs Script (19)

Frage von Hattori-Hanzo zum Thema Batch & Shell ...

Netzwerke
PowerChute Clients können nicht hinzugefügt werden (21)

Frage von MegaGiga zum Thema Netzwerke ...

Neue Wissensbeiträge
Mac OS X

Apple hat macOS High Sierra veröffentlicht

Information von Frank zum Thema Mac OS X ...

Viren und Trojaner

Ransomware or Wiper? RedBoot Encrypts Files but also Modifies Partition Table

(4)

Information von BassFishFox zum Thema Viren und Trojaner ...

Notebook & Zubehör

WOL bei HP Notebooks

(7)

Erfahrungsbericht von Henere zum Thema Notebook & Zubehör ...

Heiß diskutierte Inhalte
Windows 10
gelöst Netzwerkkarte schaltet sich erst nach dem Logon ein (24)

Frage von DerWoWusste zum Thema Windows 10 ...

Windows Server
Seit IP Umstellung DC DNS Fehler (19)

Frage von Yaimael zum Thema Windows Server ...

Weiterbildung
gelöst Fest angestellter Admin oder Systemhaus Admin mit Kundenbetreuung? (15)

Frage von Voiper zum Thema Weiterbildung ...