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

[文本处理] cmd双引号嵌套双引号出问题

[复制链接]
发表于 2023-9-19 05:52:09 | 显示全部楼层 |阅读模式
从浏览器开发模式,网络,里复制一条请求为,适用于cmd的curl命令,比如:
  1. curl "https://club.excelhome.net/plugin.php?id=k_misign:sign" ^
  2.   -H "authority: club.excelhome.net" ^
  3.   -H "sec-ch-ua-platform: ^\^"Windows^\^"" ^
  4.   -H "sec-fetch-dest: document"
复制代码
把这段放到cmd里运行会出错,发现其他行都比较正常,但"Windows"这种双引号里嵌套双引号的行会出错,^放在最后也不能换行,如果echo这行结果也很奇怪,请问这种嵌套双引号的情况该如何写,谢谢
发表于 2023-9-19 10:09:03 | 显示全部楼层
  1.   -H "sec-ch-ua-platform: "Windows"" ^
  2.   -H "sec-ch-ua-platform: "Windows"" ^
  3.   -H "sec-ch-ua-platform: ^\^"Windows^\^" ^
  4.   -H "sec-ch-ua-platform: ^\^"Windows^\^""" ^
复制代码

  1. @echo off
  2. echo ""^
  3. 123
  4. echo=
  5. echo "^
  6. 123
  7. echo=
  8. echo "^"^
  9. 123
  10. echo=
  11. echo "^""^
  12. 123
  13. pause
复制代码



我不是很了解,具体可以参考一下buyiyang大佬的帖子 ,大概是一类问题,引号的处理for /f 与 cmd /c 的 command 处理(建议站长移到教程版块)

评分

参与人数 2技术 +2 收起 理由
buyiyang + 1 感谢分享
wanghan519 + 1 多谢

查看全部评分

 楼主| 发表于 2023-9-19 10:28:02 | 显示全部楼层
回复 2# 77七


    好的,多谢,我去学习
发表于 2023-9-19 15:56:38 | 显示全部楼层
额,cmd双引号嵌套解析规则莫名奇妙的,有时候最短,有时候递归,有时候还得看个数....
不用双引号引起来直接^转义感觉还简单点

评分

参与人数 1技术 +1 收起 理由
wanghan519 + 1 多谢

查看全部评分

 楼主| 发表于 2023-9-19 16:20:56 | 显示全部楼层
回复 4# Five66


    是啊,被搞的头大,最后发现edge调试里复制出来的curl命令,存在上面这个问题,firefox复制出来的没问题,不求甚解凑合用吧,这双引号真的太奇怪了。。。
发表于 2023-9-19 20:48:51 | 显示全部楼层
回复 2# 77七


    一直以为,没有开启变量延迟的情况下,一对双引号内的特殊字符才不会被处理,原来只要有左"开头(直到右"或语句末)就行了
  1. echo,"&|^
复制代码
所以左"后的转义符无效,"^"Windows^"",左"前可以转义,
  1. echo,^"&|^
复制代码
发表于 2023-9-19 20:51:29 | 显示全部楼层
回复 4# Five66


    我感觉都是最短,哪些时候会递归、看个数?
发表于 2023-9-19 23:10:11 | 显示全部楼层
回复 7# buyiyang


    只是个人的理解,调用外部命令的参数的双引号的话还好,内部命令的就不知怎么回事了
比如
set "a=""""""&"b"&c"
感觉就像括号套娃匹配那样:set (a=((()&)b)&c)
但是改成
set "a="""""&"b&c"
set "a=""""&"b&c"
感觉像计算了双引号的数量,然后配对的双引号

评分

参与人数 1技术 +1 收起 理由
buyiyang + 1 确实如此

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 12:15 , Processed in 0.021404 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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