如何在 windows 命令行中使用“&”作为参数

How to use '&' as an argument in windows commandline

我写了一个 nodejs 包,它允许你从 Windows 终端发出 HTTP(S) 请求,所以你输入类似 http get https://whosebug.com 的东西,然后 bam,就会有响应。但是,我注意到,在 URL 中使用与号 (&) 会中断命令。这似乎是一项内置功能,可让您在一行中 运行 多个命令。所以如果你 运行: http get https://api.example.com/getinfo?request=example&apikey=APIKEY,然后它向 https://api.example.com/getinfo?request=example 发出请求,然后尝试将 运行 'apikey' 作为命令,产生错误:'apikey' is not recognized as an internal or external command, operable program or batch file. 我有办法解决这个问题吗?

我不知道这是否也适用于 Windows,但在 Linux 上您可以将字符串放在单引号或双引号中。然后将字符串提供给应用程序而不被终端解释(除了用双引号中的 $ 替换环境变量)。如果您想传递其中包含空格的参数,这也很有用。

所以,试试

http get "https://api.example.com/getinfo?request=example&apikey=APIKEY"

http get 'https://api.example.com/getinfo?request=example&apikey=APIKEY'