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

[文本处理] [已解决]批处理命令findstr匹配不到特殊字符的问题

本帖最后由 waitfortea 于 2022-9-28 15:17 编辑

━/
┣━我的资源
┃  ┣━慕课破解
┃  ┃  ┣━SoutiPro浏览器.zip
┃  ┣━【1】Python初级(必学)
┃  ┃  ┣━【01】和【02】课程(配套课件和源码).zip
┃  ┃  ┣━【01】Python基础语法(必学)
┃  ┃  ┃  ┣━第8节 列表和元组
┃  ┃  ┃  ┃  ┣━27-列表复制数据.mp4
┃  ┃  ┃  ┃  ┣━18-下标.mp4
┃  ┃  ┃  ┃  ┣━28-列表的遍历之while.mp4
┃  ┃  ┃  ┃  ┣━26-列表修改数据.mp4
┃  ┃  ┃  ┃  ┣━31-随机分配办公室的步骤分析.mp4
┃  ┃  ┃  ┃  ┣━22-列表增加数据之append.mp4
┃  ┃  ┃  ┃  ┣━25-列表删除数据.mp4
┃  ┃  ┃  ┃  ┣━35-定义元组.mp4
┃  ┃  ┃  ┃  ┣━32-随机分配办公室的实现代码.mp4
┃  ┃  ┃  ┃  ┣━33-列表总结.mp4
┃  ┃  ┃  ┃  ┣━20-判断是否存在.mp4
┃  ┃  ┃  ┃  ┣━36-元组常见操作之查找.mp4
┃  ┃  ┃  ┃  ┣━37-元组数据的修改操作.mp4
┃  ┃  ┃  ┃  ┣━24-列表增加数据之insert.mp4
┃  ┃  ┃  ┃  ┣━17-列表简介.mp4
┃  ┃  ┃  ┃  ┣━38-元组的总结.mp4
┃  ┃  ┃  ┃  ┣━23-列表增加数据之extend.mp4
┃  ┃  ┃  ┃  ┣━21-体验案例-判断是否存在.mp4
┃  ┃  ┃  ┃  ┣━19-查找函数.mp4
┃  ┃  ┃  ┃  ┣━34-体验元组.mp4
┃  ┃  ┃  ┃  ┣━30-列表嵌套.mp4
┃  ┃  ┃  ┃  ┣━29-列表的遍历之for.mp4
┃  ┃  ┃  ┣━第9节 字典和集合
┃  ┃  ┃  ┃  ┣━04-字典常用操作之删除.mp4
┃  ┃  ┃  ┃  ┣━05-字典常用操作之修改.mp4
┃  ┃  ┃  ┃  ┣━16-集合总结.mp4
┃  ┃  ┃  ┃  ┣━10-字典的循环遍历之键值对(拆包).mp4
┃  ┃  ┃  ┃  ┣━03-字典常用操作之新增.mp4
┃  ┃  ┃  ┃  ┣━09-字典的循环遍历之键值对.mp4
┃  ┃  ┃  ┃  ┣━11-字典的总结.mp4
┃  ┃  ┃  ┃  ┣━07-字典的循环遍历之key.mp4
┃  ┃  ┃  ┃  ┣━08-字典的循环遍历之value.mp4
┃  ┃  ┃  ┃  ┣━15-集合常见操作之查找数据.mp4
┃  ┃  ┃  ┃  ┣━13-集合常见操作之增加数据.mp4
┃  ┃  ┃  ┃  ┣━06-字典常用操作之查找.mp4
┃  ┃  ┃  ┃  ┣━12-创建集合.mp4
┃  ┃  ┃  ┃  ┣━14-集合常见操作之删除数据.mp4
对如上的文本sss.txt,findstr "┃  ┃  ┃  ┃  ┣━" sss.txt没有输出

  1. findstr /C:"┃  ┃  ┃  ┃  ┣━" sss.txt
复制代码

TOP

回复 1# waitfortea


搜索的字符串包含空格的时候,需要使用 /c:
参考:http://bbs.bathome.net/thread-14682-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    同样的文本 为什么for /f "delims=" %%a in (sss.txt) do (echo %%a)正常输出
但是 for /f "delims=,skip=1" %%a in (sss.txt) do (echo %%a) 非但没有跳过第一行,反而有的行输出都不完整了

TOP

回复 4# waitfortea


    for /f "skip=1 delims="
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher


    感谢大佬 明白了 但是我发现这些开关的组合在您的教程里好像都没有提到,是因为教程是基础篇的关系吗

TOP

回复 5# Batcher
  1. @echo off
  2. chcp 65001
  3. setlocal enabledelayedexpansion
  4. cd /d "%~dp0"
  5. cd. >"%~dp0a.txt"
  6. for /f "skip=1 delims=" %%a in (sss.txt ) do (
  7. set dir=%%a
  8. echo !dir!1
  9. set dir=!dir:┃  ┃  ┃  ┃  ┣━=5\!
  10. set dir=!dir:┃  ┃  ┃  ┣━=4\!
  11. set dir=!dir:┃  ┃  ┣━=3\!
  12. set dir=!dir:┃  ┣━=2\!
  13. set dir=!dir:┣━=1\!
  14. echo !dir!1
  15. >>"%~dp0a.txt" echo !dir!
  16. )
复制代码
命令如上,同样的文本,想问下为什么输出的dir后面多了很多空格,明明替换之前都没有,而为什么替换之后有

TOP

回复 6# waitfortea


for命令教程第22页提到:
tokens 和 delims 同时出现时,建议把 delims 放在 tokens 后面。

没有提到skip、delims、tokens同时出现的情况。把 delims 放在最后。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# waitfortea


    请检查你的代码第10行结尾是否有多余的空格
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 9# Batcher


    还真有,我去,连set也要计算空格的,没有想到,可这样的话应该理论是只有有这个字符的行才会有空格,那我怎么所有行都有空格呢,不知道我理解的对不对,还有感谢大佬解答

TOP

回复 8# Batcher


    这个说法好像不太对,因为出现”tokens=1-2, delims=\“或者”tokens=1-2, delims=\ “的时候都无法识别分隔符,不知道我理解得对不对

TOP

回复 10# waitfortea


给set命令加上双引号是个好习惯,例如:
set "dir=!dir:┃  ┃  ┃  ┣━=4\!"
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# waitfortea


    没啥特殊情况的话,都把 delims 放在最后
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 12# Batcher
确实,因为我之前一致认为!!或者%%是确认边界的,这个其实是错误的

TOP

回复 13# Batcher


    ”tokens=1-2, delims=\ “ 这个不是把delims放到最后了吗

TOP

返回列表