我想下载一个 scoop 安装程序,但发现我的命令在 .bat 文件中不起作用,但当我将其复制/粘贴到 PowerShell 中时却起作用。
这是命令和图片,使事情变得非常清楚:
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
Run Code Online (Sandbox Code Playgroud)
PowerShell 的输出:
为什么会出现这种情况?也许当我们将命令放入 .bat 文件时需要注意什么?
PowerShell 与 Windows 命令处理器 (cmd.exe) 共享一些命令。PowerShell 包含 cmd.exe 中没有的额外功能和命令。您的命令似乎正在使用 PowerShell 脚本。
默认情况下,.BAT 文件将使用 cmd.exe 执行。您可以将文件扩展名更改为 .ps1,然后默认使用 powershell.exe。否则,您必须针对 PowerShell 显式运行该文件。