como eu posso executar este comando do cmd:
powershell.exe "(get-process |? {$ _. Descrição -eq" Sysinter Process Explorer "}) | selecione nome do processo | arquivo de saída $ env: APPDATA \ example.txt"
Ainda recebo este erro:
Você deve fornecer uma expressão de valor no lado direito do operador '-eq'. Na linha: 1 caractere: 37 + (get-process |? {$ _. Descrição -eq <<<< Sysinternals Process Explorer}) | selecione nome do processo | arquivo externo $ env: APPDATA \ example.txt + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordEx ception + FullyQualifiedErrorId: ExpectedValueExpression
windows
command-line
powershell
cmd.exe
process
Qassam Mahmoud
fonte
fonte
Respostas:
basicamente você tem um comando PowerShell e colá-lo entre essas aspas para chamá-lo de CMD
powershell -command " #PasteCodeHere "
dentro dessas aspas você deve trabalhar,
'
caso contrário ele interromperá o parâmetro de comando.Editar: Informações adicionais:
muitas vezes você encontrará isso:
powershell -command "& 'somestuff'"
o
&
é usado para chamar um arquivo. quando você está usando apenas um comando não&
é necessário, quando deseja chamar um script, você deve usá-lo.powershell -command "& 'C:\foobar.ps1'"
Você também pode usar
powershell -file C:\file.ps1
para chamar um scriptfonte
powershell -command " dir 'C:\Program Files' "
powershell -command "dir \"c:\Program Files\" "
Coloquei os seguintes comandos em um arquivo em lotes para redefinir o Edge (que vem apresentando alguns problemas de tempos em tempos). O arquivo em lotes foi executado no nível do administrador. Observe as aspas triplas na linha do PowerShell. Este exemplo pode esclarecer coisas para aqueles que tentam executar um comando do PowerShell a partir de uma linha de comando "cmd".
Observe as aspas "triplas" na linha do PowerShell. Essa linha, a propósito, é uma única linha com "For Each" e "-Register" sendo agrupados por palavras nesta caixa de comentários. Deve ser uma linha única no arquivo em lotes (ou na linha de comando, se digitado manualmente em uma
cmd
sessão).O importante é que, depois que a palavra "PowerShell" vírgulas invertidas (") inicie e termine o comando, todas as vírgulas internas invertidas que já estão sendo passadas no comando PowerShell sejam convertidas em aspas" triplas "(
"""
)fonte