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

jdm*_*jdm 0 powershell cmd visual-studio-code

我试图.cmd从交互式PowerShell会话中运行脚本.我可以调用脚本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
Run Code Online (Sandbox Code Playgroud)

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

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

Bac*_*its 6

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

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

cmd.exe /C .\some_script.cmd
Run Code Online (Sandbox Code Playgroud)

或者,失败了:

& "C:\Windows\System32\cmd.exe" /C .\some_script.cmd
Run Code Online (Sandbox Code Playgroud)

或者,失败:

Start-Process -FilePath "C:\Windows\System32\cmd.exe" -ArgumentList "/C",".\some_script.cmd"
Run Code Online (Sandbox Code Playgroud)