Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何正确传递参数以启动?_Windows_Curl_Cmd_Escaping - Fatal编程技术网

Windows 如何正确传递参数以启动?

Windows 如何正确传递参数以启动?,windows,curl,cmd,escaping,Windows,Curl,Cmd,Escaping,我只想在最小化的控制台中启动curl命令 这项工作: START "" /B /W curl -X POST https://someurl.com -d "url_parameters_for_curl" > output.txt 但这是行不通的 START "" /MIN /W curl -X POST https://someurl.com -d "url_parameters_for_curl" &g

我只想在最小化的控制台中启动curl命令

这项工作:

START "" /B /W curl -X POST https://someurl.com -d "url_parameters_for_curl" > output.txt
但这是行不通的

START "" /MIN /W curl -X POST https://someurl.com -d "url_parameters_for_curl" > output.txt
我认为这与双引号有关。我尝试了多个转义字符,如^or“”和triple“”,这些字符适用于其他一些程序,但START在打开新控制台窗口时似乎无法转义双引号

我花了大约两个小时试图弄明白这一点,但我不知道该怎么办

PS:将命令放入.bat文件中,并使用

START /MIN /W mybat.bat
正在工作。但是命令是动态生成的,我不想每次都写一个文件

PPS:该命令是由后台进程生成的,没有控制台窗口,每次出现这种情况时都会弹出一个控制台窗口。我只是希望它看起来最小化

编辑:

逃避现实的暗示

> output.xml

不起作用。但是curl有一个将输出写入文件的选项。因此,这终于起作用了:

START "" /MIN /W curl -X POST https://someurl.com -d "url_parameters_for_curl" -o output.txt

问题仍然是:如何使用START命令转义“>outputfile”?

我想说,因为
curl.exe
是一个CLI进程,它不是需要最小化的curl,而是它生成的要在其中运行的
cmd.exe
窗口

因此,我建议:

Start/Min/W%SystemRoot%\System32\cmd.exe/D/Q/C“%SystemRoot%\System32\curl.exe-X POSThttps://someurl.com -d“url\u参数\u用于\u curl”1>“output.txt”2>&1

在上面的示例中,我还将StdErr重定向到该文件(因为在最小化的窗口中,您将看不到该文件)。如果您不想这样做,可以从上面删除
2>&1

您所说的“它不工作”是什么意思"? 请准确点!双引号不应该是个问题,也许你甚至需要在URL周围添加更多双引号……我同意:引号不应该是个问题。我猜你的
output.txt
是空的?重定向
start
命令的输出,该命令为空。转义
以将其传递给已启动的进程:
..^>output.txt
START "" /MIN /W curl -X POST https://someurl.com -d "url_parameters_for_curl" -o output.txt