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

Vbs RegEx gesucht

Frage Entwicklung VB for Applications

Mitglied: gummistiefel

gummistiefel (Level 1) - Jetzt verbinden

19.10.2010 um 11:16 Uhr, 4595 Aufrufe, 4 Kommentare

Hallo,

ich möchte für die weitere Verarbeitung der Daten einen Regulären Audruck unter vbs definieren.

Konkret möchte ich aus der Pfadangabe (z.B. C:\Programme\ordner\programm.exe ) den Pfad C:\Programme\ordner und den Namen der .exe Datei in Separaten Variablen zwischenspeichern. Nur leider finde ich keine passende Möglichkeit das herauszufiltern bzw. bin ich mir nicht mal sicher ob das mit vbs überhaupt realisierbar ist ?

Hintergrund der ganzen Aktion ist, dass ich anhand der laufenden Tasks die Versionsnummer vom Programm herausfinden möchte. Leider gibt es in win32_process keine Klasse mit der ich das bewerkstelligen kann. Also habe ich mir gedacht, dass ich über den win32_process ... ExecutablePath die Shell.Application ... GetDetailsOf auslese. Diese benötigt afaik aber separat den exe Namen und den Pfad.

01.
strComputer = "." 
02.
Set dienst = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")' 
03.
Set abfrage = dienst.ExecQuery("Select * from Win32_Process") 
04.
 
05.
' print usable information into XML-like format  
06.
For Each prozess In abfrage 
07.
	eigenschaften = prozess.GetOwner(strNameOfUser, strUserDomain) 
08.
	WScript.Echo "<SOFTWARES>"  
09.
	WScript.Echo "<PUBLISHER>"& prozess.Name &"</PUBLISHER>" 
10.
	WScript.Echo "<NAME>"& prozess.caption &"</NAME>" 
11.
	WScript.Echo "<VERSION>N/A</VERSION>" 
12.
	WScript.Echo "<FOLDER>" & prozess.ExecutablePath &"</FOLDER>"  
13.
	WScript.Echo "<COMMENTS>" & "# " & prozess.CommandLine &" #" &"</COMMENTS>" 
14.
	WScript.Echo "<FILENAME>N/A</FILENAME>" 
15.
	WScript.Echo "<FILESIZE>N/A</FILESIZE>" 
16.
	WScript.Echo "<SOURCE>N/A</SOURCE>" 
17.
	WScript.Echo "<GUID>N/A</GUID>" 
18.
	WScript.Echo "<LANGUAGE>N/A</LANGUAGE>" 
19.
	WScript.Echo "</SOFTWARES>" 
20.
Next
Mitglied: 76109
19.10.2010 um 12:40 Uhr
Hallo gummistiefel!

Das geht auch per FileSystemObject. Beispiel mit 7zip.Exe
01.
Const Path = "C:\Program Files (x86)\7-Zip\7z.exe" 
02.
 
03.
Dim Fso, File 
04.
Dim FileBaseName, FileExtensionName, FileName, FileFolder 
05.
Dim FileVersion, FileCreated, FileSize, FileType 
06.
     
07.
Set Fso = CreateObject("Scripting.FileSystemObject") 
08.
     
09.
Set File = Fso.GetFile(Path) 
10.
     
11.
FileBaseName = Fso.GetBaseName(Path)            '= "7z" 
12.
FileExtensionName = Fso.GetExtensionName(Path)  '= "exe" 
13.
FileName = Fso.GetFileName(Path)                '= "7z.exe" 
14.
FileFolder = Fso.GetParentFolderName(Path)      '= "C:\Program Files (x86)\7-Zip" 
15.
FileVersion = Fso.GetFileVersion(Path)          '= "9.10.0.0" 
16.
FileCreated = File.DateCreated                  '= #22.12.2009 14:17:38# 
17.
FileSize = File.Size                            '= 280064 
18.
FileType = File.Type                            '= "Anwendung"
Gruß Dieter
Bitte warten ..
Mitglied: gummistiefel
19.10.2010 um 14:47 Uhr
Hallo Dieter,

danke für die schnelle und kompetente Antwort. Das FileSystemObject war genau das wonach ich gesucht habe.
Leider bekomme ich es nicht hin, dass ich in Const Path die prozess.ExecutablePath einfügen kann. Für den geübten Scripter mag das sicherlicht kein Problem darstellen nur ich komme nur sehr unregelmäßig in den "Genuss" von VBS.
Bitte warten ..
Mitglied: 76109
19.10.2010 um 15:24 Uhr
Hallo gummistiefel!

Lösche die Codezeile mit der Konstanten "Const Path = ...." und dann in etwa so:
01.
'..... 
02.
Set Fso = CreateObject("Scripting.FileSystemObject") 
03.
 
04.
'print usable information into XML-like format 
05.
For Each prozess In abfrage 
06.
    Set File = Fso.GetFile(prozess.ExecutablePath) 
07.
     
08.
   'FileBaseName = Fso.GetBaseName(File.Path) 
09.
   'FileExtensionName = Fso.GetExtensionName(File.Path) 
10.
   'FileName =  File.Name  
11.
   'FileFolder = File.ParentFolder.Path    
12.
   'FileVersion = Fso.GetFileVersion(File.Path) 
13.
   'FileCreated = File.DateCreated 
14.
   'FileSize = File.Size 
15.
   'FileType = File.Type 
16.
 
17.
   '..... 
18.
    WScript.Echo "<VERSION>" & Fso.GetFileVersion(File.Path) & "</VERSION>" 
19.
    WScript.Echo "<FOLDER>" & File.ParentFolder.Path & "</FOLDER>" 
20.
    WScript.Echo "<COMMENTS>" & "# " & prozess.CommandLine & " #" & "</COMMENTS>" 
21.
    WScript.Echo "<FILENAME>" & File.Name & "</FILENAME>" 
22.
    WScript.Echo "<FILESIZE>" & File.Size & "</FILESIZE>" 
23.
   '..... 
24.
Next
Gruß Dieter
Bitte warten ..
Mitglied: gummistiefel
19.10.2010 um 17:15 Uhr
Problem gelöst


01.
 
02.
strComputer = "."      'The . means own computer 
03.
Set dienst = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")' 
04.
Set abfrage = dienst.ExecQuery("Select * from Win32_Process",,48) 
05.
 
06.
' print usable information into XML-like format 
07.
 
08.
 
09.
For i = 1 To 1 
10.
	For Each prozess In abfrage 
11.
		If Not prozess.ExecutablePath = "" Then             
12.
 
13.
		Path = prozess.ExecutablePath 
14.
	 	Path = "" & Path & "" 
15.
	 
16.
		Set fso = CreateObject("scripting.filesystemobject") 
17.
		Path =  fso.GetFileVersion (Path) 
18.
	 
19.
		WScript.Echo "<SOFTWARES>"  
20.
		WScript.Echo "<PUBLISHER>"& prozess.Name &"</PUBLISHER>" 
21.
		WScript.Echo "<NAME>"& prozess.caption &"</NAME>" 
22.
		WScript.Echo "<VERSION>"& Path & "</VERSION>" 
23.
		WScript.Echo "<FOLDER>N/A</FOLDER>" 
24.
		WScript.Echo "<COMMENTS>" & "# " & prozess.CommandLine &" #" &"</COMMENTS>" 
25.
		WScript.Echo "<FILENAME>N/A</FILENAME>" 
26.
		WScript.Echo "<FILESIZE>N/A</FILESIZE>" 
27.
		WScript.Echo "<SOURCE>N/A</SOURCE>" 
28.
		WScript.Echo "<GUID>N/A</GUID>" 
29.
		WScript.Echo "<LANGUAGE>N/A</LANGUAGE>" 
30.
		WScript.Echo "</SOFTWARES>" 
31.
		End If 
32.
	Next 
33.
Next
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

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

Frage von joni2000de zum Thema Batch & Shell ...

LAN, WAN, Wireless
Software für Backup oder Datensynchronisation über WAN gesucht (3)

Frage von Rubiks 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 ...

PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...