[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] [已解决]cmd /c 中curl请求怎么避免空格问题

本帖最后由 522235677 于 2022-4-25 21:00 编辑
  1. cmd /c curl https://text.cn/notice.php?failed^&time=%date%%time%
复制代码
像把系统当前时间当参数传入,但是%date%%time%中包含空格,导致参数内容被截断。加了双引号也会报错,求支招。这个命令是放在计划任务中执行的
  1. cmd /c curl https://text.cn/notice.php?failed^&time=%date:~0,4%/%date:~5,2%/%date:~8,2%%time:~0,2%:%time:~3,2%:%time:~6,2%
复制代码
这样的话curl又报错
curl: (3) URL using bad/illegal format or missing URL

本帖最后由 523066680 于 2022-4-25 10:52 编辑

先 uri escape

比如
2022/04/25 10:50:34.33
改为
2022%2F04%2F25%2010%3A50%3A34%2E33

TOP

回复 1# 522235677


不知道有用没:
  1. @echo off&setlocal enabledelayedexpansion
  2. set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
  3. set tome=%time:~0,2%:%time:~3,2%:%time:~6,2%
  4. echo %tome% |cmd /c curl https://text.cn/notice.php?failed^&time=%!today!%%!tome!%
  5. pause>nul
复制代码

TOP

回复 3# yakeyun


    感谢大佬回复,但是我这个没用bat文件,怎么只在命令行处理这个问题?

TOP

回复 2# 523066680


    感谢大佬回复,escape这个在我这问题上咋用,没用过

TOP

回复 4# 522235677


命令都在一行,试下看看:
  1. cmd /c @echo off&setlocal enabledelayedexpansion & set today=%date:~0,4%-%date:~5,2%-%date:~8,2% & set tome=%time:~0,2%:%time:~3,2%:%time:~6,2% & echo %tome% |curl https://text.cn/notice.php?failed^&time=%!today!%%!tome!% & exit
复制代码

TOP

回复 1# 522235677


新建一个任务计划,观察截取到的日期时间格式跟你预想的是否一样?
  1. echo %date:~0,4%/%date:~5,2%/%date:~8,2%%time:~0,2%:%time:~3,2%:%time:~6,2%>"D:\1.log"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 idwma 于 2022-4-25 14:58 编辑

试试/s参数,似乎里面的特殊字符也不用转义了
  1. cmd /s /c ""curl" "https://text.cn/notice.php?failed&time=%date%%time%""
复制代码

TOP

回复 8# idwma


    不行哦大佬,这个系统会任务我又在执行time这个命令

TOP

回复 6# yakeyun


    不行哦大佬,后端接收到的time参数的值是 %!today!%%!tome!%

TOP

回复 7# Batcher


    是正常的时间
感谢大佬们热心的帮助,问题已解决。
最终方法
  1. /c curl "https://text.cn/notice.php?failed&time=%date:~0,4%/%date:~5,2%/%date:~8,2%%time:~0,2%:%time:~3,2%:%time:~6,2%"
复制代码

TOP

返回列表