CALL命令无法在PowerShell中使用的原因及解决方法

寻技术 其他编程 2023年07月11日 152

一、问题

在 PowerShell 终端中使用 CALL 命令时报错:

CALL : 无法将“CALL”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确

,然后再试一次。

所在位置 行:1 字符: 1

ALL "%VS_IDE_PATH%" .\BRTC.sln

+ CategoryInfo : ObjectNotFound: (CALL:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

报错截图如下:

二、解决

方法一、

1. 使用如下命令查看系统的执行策略:

Get-ExecutionPolicy -List

输出结果:

MachinePolicy Undefined

UserPolicy Undefined

Process Undefined

CurrentUser Undefined

LocalMachine RemoteSigned

可以看到当前用户没有定义执行规则,如下图所示:

2. 执行如下命令修改当前用户的执行策略:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

如果询问是否要更改执行策略,选择“A”(全是),具体如下所示:

然后再查看执行策略,结果如下图所示:

3. 关闭当前 PowerShell 终端,重新打开再次执行刚才的命令。

方法二、

以管理员权限打开 PowerShell 终端,输入如下命令:

set-ExecutionPolicy Unrestricted

上述命令的目的是为了在脚本执行时不去校验任何限制逻辑。

但是,有可能还会遇到如下问题:

此时,可以再执行如下命令:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

方法三、

将 CALL 命令封装到 bat 批处理脚本中,直接双击 bat 脚本,非常好使。过多的话就不说了,感兴趣就自己动手试试吧!如果好使,欢迎点赞留言!

关闭

用微信“扫一扫”