【发布时间】:2018-07-02 01:15:11
【问题描述】:
我有一个 PowerShell 脚本,我想从中运行同一文件夹中的可执行文件:
RunTests.ps1
.\nunitlite-runner.exe
当我在资源管理器中右键单击脚本并选择 使用 Powershell 执行时,我收到以下错误:
Die Benennung ".\nunitlite-runner.exe" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt。上普吕芬 Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang。 贝 C:\Users\Test\Desktop\MyScripts\RunTests.ps1: 5 Zeichen:23 + .\nunitlite-runner.exe基本上翻译为:
名称“.\nunitlite-runner.exe”未指定为 cmdlet、函数、脚本文件或可执行程序。检查 输入名称的拼写或路径是否正确(如果 包含)并重复该过程。
【问题讨论】:
-
& '.\nunitlite-runner.exe'? -
你试过
$PSScriptRoot\nunitlite-runner.exe吗? ....或任何其他确定脚本实际位置的方式... -
您是否以管理员身份运行脚本?当您以管理员身份运行时,它默认位置为 system32 目录。例如,我有一个脚本,其开头包含以下代码:
if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) { Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File"$PSCommandPath"" -Verb RunAs; exit }因此,即使我右键单击使用 powershell 运行,它也会以管理员身份运行。
标签: powershell