2016-05-06 25 views
0

我導出了我的Java進程以包含「命令行」列。該文件是在.cvs文件使用下面的PowerShell腳本:將列中的變量複製到新單元格中

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

每個java.exe的是獨一無二的(顯然)我發現,以確定它指向的唯一方法是通過查看命令行Appserver目錄的參數。

(Install_Directory)\AppServer\Profiles\AppSrv01\*\Configuration. 

'*'變量是關鍵字,命令行中的信息在參數中具有相同的信息。我需要將變量複製到新單元格

最後,我將刪除命令行列,以便我只看到ProcessName,WorkSet,ProcessID和Domain。域是我需要的最後一塊。

無論這是我現有powershell的擴展,還是我可以放入excel中,將'AppSrv01'和'Configuration'之間的所有內容複製到新單元格中。

+0

ü可以發佈一個排您的CSV的樣本正確的價值? – Kiran

回答

0

你可以替換這樣不需要值:

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 

請務必將代替(INSTALL_DIRECTORY)

相關問題