Board logo

标题: [文件操作] [已解决]批处理应该如何正确去写"否则" [打印本页]

作者: hxx    时间: 2020-4-10 20:26     标题: [已解决]批处理应该如何正确去写"否则"

  1. set /p file=file:
  2. rem  判断一个文件 小于100MB 则跳转 1  否则 跳转2  
  3. for /r %%i in (%file%) do if %%~zi lss 104857600  goto 1 || goto 2
复制代码
这样写好像并不正确。

然后我又改成了这样 ,明明文件大于100MB 还会输出 111111  我就好奇怪,就说明判断是错的
  1. for /r %%i in (%file%) do (if %%~zi lss 104857600  echo."1111111")
  2. echo."22222222"
  3. pause
复制代码
以上基本是我的思路了。。

善用搜索, 都只看到    如果......  则  .....   为什么没有    如果 ...则 .. 否则...
好像确实不需要否则。。 因为没有则,就直接跳到下一段了。。  但是我的判断为什么会错呢??
作者: wujunkai    时间: 2020-4-10 20:32

回复 1# hxx
  1. 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://bbs.bathome.net/) Powered by Discuz! 7.2