8

как я могу запустить эту команду из cmd:

powershell.exe "(get-process |? {$ _.Описание -eq "Sysinter Process Explorer"}) | выберите имя процесса | out-file $ env:APPDATA\example.txt "

я все еще получаю эту ошибку:

Вы должны предоставить выражение значения в правой части оператора '-eq'. В строке: 1 символ: 37 + (get-process |? {$ _.Описание -eq <<<< Sysinternals Process Explorer}) | выберите имя процесса | out-file $ env: APPDATA\example.txt + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordEx ception + FullyQualifiedErrorId: ExpectedValueExpression

1 ответ1

16
powershell -command "get-process | ? {$_.Description -eq 'Sysinter Process Explorer'} | select processname | out-file $env:APPDATA\example.txt"

в основном у вас есть команда powershell и вставьте его между этими кавычками, чтобы вызвать его из CMD

powershell -command " #PasteCodeHere "

внутри этих кавычек вы должны работать с ' иначе это прервет ваш параметр команды.

Изменить: Дополнительная информация:

довольно часто вы сталкиваетесь с этим: powershell -command "& 'somestuff'"

& используется для вызова файла. когда вы используете только команду & является обязательным, когда вы хотите вызвать скрипт, вы должны использовать его.

powershell -command "& 'C:\foobar.ps1'"

Вы также можете использовать powershell -file C:\file.ps1 для вызова скрипта

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .