2016-05-06 1 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» и «Конфигурация» в новую ячейку.

+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)