Top-Themen

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

Frage Entwicklung VB for Applications

GELÖST

Vbs RegEx gesucht

Mitglied: gummistiefel

gummistiefel (Level 1) - Jetzt verbinden

19.10.2010 um 11:16 Uhr, 4629 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 ..
Ähnliche Inhalte
Entwicklung
RegEx Formulierung
gelöst Frage von Aki-kunEntwicklung3 Kommentare

Grüße zusammen, RegEx und ich sind inkompatibel . Ich bekomme den Ausdruck einfach nicht hin. (AusdruckA oder AusdruckB oder ...

Batch & Shell
Powershell Regex anders
gelöst Frage von ukodusBatch & Shell1 Kommentar

Hi, kann es sein, dass die Regex-Implementierung anders ist, als gewohnt? Der Regex funktioniert nämlich auf regexr.com -> Was ...

Batch & Shell
Hilfe bei REGEX
gelöst Frage von istike2Batch & Shell9 Kommentare

Hi, Ich habe hier 5 Strings, die ich mit Script filtern sollte. Kann mir jemand verraten, warum "^ -+ ?(\d*\.?\d+ +1000 ...

Windows Tools
Findstr und regex
gelöst Frage von tobmesWindows Tools5 Kommentare

Hi Experten, ich habe ziemlich viele PDF-Dateien, die ich mittels eines Batch-Files nach einem Bestimmten Muster durchsuchen möchte. Die ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 2 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Firewall
Penetrationstester-Labor - Firewalls
Frage von Oli-nuxFirewall9 Kommentare

Mich würde interessieren warum man beim Einrichten eines Penetrationstester-Labor (VMs) die Firewall der Systeme deaktivieren soll? Hat das nur ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...

Netzwerkgrundlagen
IPv6 Inter-VLAN Routing
gelöst Frage von clSchakNetzwerkgrundlagen8 Kommentare

Hi ich befasse mich gerade mit der Implementierung von IPv6 was bisher (in einem VLAN) korrekt funktioniert inkl. DNS ...