web-dev-qa-db-fra.com

lancer la commande powershell depuis cmd

comment je peux exécuter cette commande de cmd:

powershell.exe "(get-process |? {$ _. Description -eq" Sysinter Process Explorer "}) | select_nom_fichier | out-file $ env: APPDATA\example.txt"

j'ai toujours cette erreur:

Vous devez fournir une expression de valeur à droite de l'opérateur '-eq'. A la ligne: 1 caractère: 37 + (get-process |? {$ _. Description -eq <<<< Sysinternals Process Explorer}) | sélectionnez nom du processus | fichier $ env: APPDATA\exemple.txt + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: ExpectedValueExpression

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

fondamentalement, vous avez une commande Powershell et collez-le entre ces citations pour l'appeler à partir de CMD

powershell -command " #PasteCodeHere "

dans ces citations, vous devez travailler avec ', sinon le paramètre de votre commande sera interrompu.

Modifier: Informations complémentaires:

assez souvent, vous rencontrerez ceci: powershell -command "& 'somestuff'"

le & est utilisé pour appeler un fichier. lorsque vous utilisez uniquement une commande & n'est pas simple, lorsque vous souhaitez appeler un script, vous devez l'utiliser.

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

Vous pouvez également utiliser powershell -file C:\file.ps1 pour appeler un script.

21
SimonS