无法从PowerShell运行.cmd:访问被拒绝

时间:2017-04-19 16:14:48

标签: powershell cmd visual-studio-code

我正在尝试从交互式PowerShell会话中运行.cmd脚本。我可以从cmd.exe调用脚本,但是从PS我得到:

PS C:\path\to\my\script> .\some_script.cmd
Fehler beim Ausführen des Programms "some_script.cmd": Zugriff verweigertIn Zeile:1 Zeichen:1
+ .\some_script.cmd
+ ~~~~~~~~~~~~~~~~~.
In Zeile:1 Zeichen:1
+ .\some_script.cmd
+ ~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [], ApplicationFailedException
    + FullyQualifiedErrorId : NativeCommandFailed

(德语部分表示“执行程序时出错...:拒绝访问”)

我在VS代码和常规PS提示下尝试了。我拥有相关文件的所有必要访问权限。我知道你必须启用PS脚本的执行,但它不应该像打开.docx文件一样运行.cmd脚本(通过调用默认动词)?我尝试使用Invoke-Item明确地这样做,但得到了同样的错误。我怎样才能运行这个脚本,最好只用.\some_script.cmd而没有任何扭曲或包装?

1 个答案:

答案 0 :(得分:6)

我不确定为什么那不适合你。它在我的机器上工作正常。缺少.cmd文件的文件关联。

作为一种解决方法,您可以直接调用命令提示符shell:

cmd.exe /C .\some_script.cmd

或者,失败了:

& "C:\Windows\System32\cmd.exe" /C .\some_script.cmd

或者,

失败
Start-Process -FilePath "C:\Windows\System32\cmd.exe" -ArgumentList "/C",".\some_script.cmd"