如何编写Windows批处理脚本,用findstr搜索含引号空格冒号的字符串
Windows批处理中findstr搜索带双引号字符串的正确写法
要在批处理里用findstr搜索包含双引号的字符串 "jobType" : "upgrade_application",关键是正确处理批处理对双引号的解析,以下是两种可行的写法:
方法1:用双引号转义双引号
在批处理中,每个需要保留的双引号要用两个双引号来转义,同时通过/C选项指定完整的搜索字符串:
findstr /C:"""jobType"" : ""upgrade_application""" "Filename"
外层的""会被批处理解析为一个实际的",最终传递给findstr的搜索字符串就是目标内容。
方法2:使用反斜杠转义
这种写法在CMD窗口直接执行或批处理脚本中都有效:
findstr /C:"\"jobType\" : \"upgrade_application\"" "Filename"
原写法失败原因
你之前的第一种写法findstr /C:""jobType" : "upgrade_application"" < "Filename",批处理会把开头的""解析为一个",后续的jobType"会被判定为未闭合的引号,导致命令解析错误;第二种写法的引号数量匹配错误,无法生成正确的目标搜索字符串。
内容的提问来源于stack exchange,提问作者Brian
相关产品推荐
相关产品推荐

