找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25228|回复: 10

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

[复制链接]
发表于 2022-4-25 09:33:31 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2022-4-25 10:50:44 | 显示全部楼层
本帖最后由 523066680 于 2022-4-25 10:52 编辑

先 uri escape

比如
2022/04/25 10:50:34.33
改为
2022%2F04%2F25%2010%3A50%3A34%2E33
发表于 2022-4-25 10:55:57 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2022-4-25 12:14:54 | 显示全部楼层
回复 3# yakeyun


    感谢大佬回复,但是我这个没用bat文件,怎么只在命令行处理这个问题?
 楼主| 发表于 2022-4-25 12:15:43 | 显示全部楼层
回复 2# 523066680


    感谢大佬回复,escape这个在我这问题上咋用,没用过
发表于 2022-4-25 12:56:08 | 显示全部楼层
回复 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
复制代码
发表于 2022-4-25 13:12:26 | 显示全部楼层
回复 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"
复制代码
发表于 2022-4-25 14:37:24 | 显示全部楼层
本帖最后由 idwma 于 2022-4-25 14:58 编辑

试试/s参数,似乎里面的特殊字符也不用转义了
  1. cmd /s /c ""curl" "https://text.cn/notice.php?failed&time=%date%%time%""
复制代码
 楼主| 发表于 2022-4-25 20:27:25 | 显示全部楼层
回复 8# idwma


    不行哦大佬,这个系统会任务我又在执行time这个命令
 楼主| 发表于 2022-4-25 20:30:10 | 显示全部楼层
回复 6# yakeyun


    不行哦大佬,后端接收到的time参数的值是 %!today!%%!tome!%
 楼主| 发表于 2022-4-25 20:43:31 | 显示全部楼层
回复 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%"
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 04:33 , Processed in 0.019446 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表