本帖最后由 aceamuro 于 2021-12-17 13:29 编辑
一开始出问题的是这个代码- findstr /v "^$" "..\othernode.yml">"..\result.txt"
复制代码 本意是导出一个没有空行的文本,昨天之前效果都正常,今天莫名其妙就无效了,导出来的文本仍然是带空行的
然后发现这个代码又出毛病了- findstr /v "No nodes were found" "%temp%\base64clash.c">>%temp%\base64clash.d
复制代码 语句跟上面那条一模一样,效果是输出一个文件,其中带有“No nodes were found”这几个字的行全部被删除。
也是昨天之前正常,今天就出了莫名其妙的毛病,仔细校对一下,发现删除的不只是带有"No nodes were found"这几个字符的行,
而是把所有单独带“nodes”、“no nodes”、“found”这些词的行也都删除了(怀疑跟第一条代码是同一个毛病)
因为根本不是什么困难的语句,就算我没基础也多少看得懂,可输出结果就是不对,实在找不出毛病
于是上网找能够替代以上命令相同效果的语句,又发现无论什么语句什么效果,但凡for后面带%%a的,cmd窗口中一律显示“此时不应有%%a”
试过好多个不同效果不同写法的语句全都这样,比如- for /f %%a in ('dir /b/on %temp%\base64clash.c') do findstr /iv "No nodes were found" "%%a">>new%%a
- 或
- for /f "tokens=*" %%a in (%temp%\base64clash.c) do @echo %%a | find /v /i "No nodes were found!">>%temp%\base64clash.d
复制代码 不管效果是什么,只要带%%a就会一律提示“此时不应有%%a”
请问是代码的毛病还是我系统出毛病了?有办法解决吗? |