标题: [文件操作] [已解决]批处理应该如何正确去写"否则" [打印本页]
作者: hxx 时间: 2020-4-10 20:26 标题: [已解决]批处理应该如何正确去写"否则"
- set /p file=file:
- rem 判断一个文件 小于100MB 则跳转 1 否则 跳转2
- for /r %%i in (%file%) do if %%~zi lss 104857600 goto 1 || goto 2
复制代码
这样写好像并不正确。
然后我又改成了这样 ,明明文件大于100MB 还会输出 111111 我就好奇怪,就说明判断是错的- for /r %%i in (%file%) do (if %%~zi lss 104857600 echo."1111111")
- echo."22222222"
- pause
复制代码
以上基本是我的思路了。。
善用搜索, 都只看到 如果...... 则 ..... 为什么没有 如果 ...则 .. 否则...
好像确实不需要否则。。 因为没有则,就直接跳到下一段了。。 但是我的判断为什么会错呢??
作者: wujunkai 时间: 2020-4-10 20:32
回复 1# hxx - for /r %%i in (%file%) do if %%~zi lss 104857600 (goto 1) else ( goto 2)
复制代码
很明显你并没有理解||的用法。
作者: hxx 时间: 2020-4-10 22:00
回复 2# wujunkai
但是我文件明明大于 104857600 ,为什么不返回 2
作者: wujunkai 时间: 2020-4-10 23:11
回复 3# hxx
你把%%~zi输出看看,我觉得可能是1024和1000有区别。另外二进制文件的大小通常难以判断。
作者: hxx 时间: 2020-4-10 23:54
本帖最后由 hxx 于 2020-4-11 00:01 编辑
已解决已解决
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |