Pregunta:
cómo puedo ejecutar este comando desde cmd:
powershell.exe "(get-process |? {$ _. Descripción -eq" Sysinter Process Explorer "}) | seleccione nombre de proceso | archivo de salida $ env: APPDATA \ example.txt"
sigo recibiendo este error:
Debe proporcionar una expresión de valor en el lado derecho de la operación '-eq'. En la línea: 1 carácter: 37 + (get-process |? {$ _. Descripción -eq <<<< Sysinternals Process Explorer}) | seleccione nombre de proceso | out-file $ env: APPDATA \ example.txt + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordEx ception + FullyQualifiedErrorId: ExpectedValueExpression
Respuesta:
powershell -command "get-process | ? {$_.Description -eq 'Sysinter Process Explorer'} | select processname | out-file $env:APPDATA\example.txt"
básicamente tienes un comando de PowerShell y lo pegas entre estas comillas para llamarlo desde CMD
powershell -command " #PasteCodeHere "
dentro de estas comillas tienes que trabajar con '
contrario interrumpirá tu parámetro de comando.
Editar: Información adicional:
muy a menudo te encontrarás con esto: powershell -command "& 'somestuff'"
el &
se usa para llamar a un archivo. cuando solo está usando un comando &
es necesario, cuando desea llamar a un script, debe usarlo.
powershell -command "& 'C:\foobar.ps1'"
También puede usar powershell -file C:\file.ps1
para llamar a un script