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

[文件操作] [已解决]批处理应该如何正确去写"否则"

  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
复制代码
以上基本是我的思路了。。

善用搜索, 都只看到    如果......  则  .....   为什么没有    如果 ...则 .. 否则...
好像确实不需要否则。。 因为没有则,就直接跳到下一段了。。  但是我的判断为什么会错呢??

回复 1# hxx
  1. for /r %%i in (%file%) do if %%~zi lss 104857600  (goto 1) else ( goto 2)
复制代码
很明显你并没有理解||的用法。

TOP

回复 2# wujunkai


   但是我文件明明大于 104857600  ,为什么不返回 2

TOP

回复 3# hxx


    你把%%~zi输出看看,我觉得可能是1024和1000有区别。另外二进制文件的大小通常难以判断。

TOP

本帖最后由 hxx 于 2020-4-11 00:01 编辑

已解决已解决

TOP

返回列表