标题: [文本处理] [已解决]批处理变量扩展中奇怪的if语句失效 [打印本页]
作者: pZjVa0 时间: 2013-8-1 19:58 标题: [已解决]批处理变量扩展中奇怪的if语句失效
- @echo off
- setlocal enabledelayedexpansion
- for /f %%i in ('findstr /v /b /e /g:1.txt 2.txt') do (set test=%%i
- if "!test!" == "" (echo 空) else (echo 不空)
- )
- pause
- exit
复制代码
1.txt复制代码
2.txt复制代码
当两个文本内容相同时,没有任何回显
作者: pZjVa0 时间: 2013-8-1 20:10
本帖最后由 pZjVa0 于 2013-8-1 20:52 编辑
当两个文本内容相同时,没有任何回显
作者: gawk 时间: 2013-8-1 21:09
当两个文本内容相同时,findstr /v /b /e /g:1.txt 2.txt返回的结果集为空,for循环内部的所有命令都不会被执行。跟if没有任何关系。
作者: pZjVa0 时间: 2013-8-1 21:15
回复 3# gawk
感谢;
但如果我要达成代码的效果在不生成临时文件的情况下有没有办法实现?
作者: pZjVa0 时间: 2013-8-1 21:32
回复 3# gawk
再次感谢你的回答,问题已解决- @echo off
- set test=0
- setlocal enabledelayedexpansion
- for /f %%i in ('findstr /v /b /e /g:1.txt 2.txt') do (set test=%%i
- echo !Target!)
- if "!test!" == "0" echo 空
- pause
复制代码
作者: CrLf 时间: 2013-8-2 16:11
回复 5# pZjVa0
这样应该也可以:- findstr /v /b /e /g:1.txt 2.txt||echo 空
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |