2016-05-06 16 views
0

Ich habe meine Java-Prozesse exportiert, um die Spalte 'Befehlszeile' einzuschließen. Die Datei ist in einer CVS-Datei den folgenden Powershell-Skript:Variable innerhalb einer Spalte in eine neue Zelle kopieren

Get-WmiObject win32_process -Filter "name like '%java.exe'"|select ProcessName,@{Name='WorkingSet (KB)';Expression={($_.WS/1KB)}},ProcessId,CommandLine|ft -AutoSize 

Jeder java.exe einzigartig ist (natürlich) und den einzigen Weg, die ich gefunden habe, um festzustellen, wo es Punkte wird durch in der Befehlszeile suchen Argument für das Appserver-Verzeichnis.

Die Variable '*' ist der Schlüssel, und die Informationen in der Befehlszeile haben die gleiche Information im Argument. Ich muss die Variable in eine neue Zelle kopieren

Am Ende werde ich die Befehlszeile Spalte löschen, so sehe ich nur ProcessName, WorkSet, ProcessID und Domain. Domain ist das letzte Stück, das ich brauche.

Ob dies eine Erweiterung meiner vorhandenen Powershell ist oder ob es etwas gibt, das ich in Excel einfügen kann, um alles, was zwischen 'AppSrv01' und 'Configuration' liegt, in eine neue Zelle zu kopieren.

+0

kann u senden Sie uns eine Probe Ihres csv mit einer Zeile zu ersetzen? – Kiran

Antwort

0

Sie könnten ersetzen nicht benötigten Werte wie folgt aus:

Get-WmiObject win32_process -Filter "name like '%java.exe'"| 
select ProcessName, 
     @{Name='WorkingSet (KB)';Expression={($_.WS/1KB)}}, 
     ProcessId, 
     CommandLine, 
     @{Name='Domain';Expression={$_.CommandLine -replace [Regex]::Escape('(Install_Directory)\AppServer\Profiles\AppSrv01') -replace [Regex]::Escape('\Configuration')}}|ft -AutoSize 

Stellen Sie sicher, korrekten Wert statt (Install_Directory)

Verwandte Themen