找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25451|回复: 4

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

[复制链接]
发表于 2020-4-10 20:26:28 | 显示全部楼层 |阅读模式
  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
复制代码
以上基本是我的思路了。。

善用搜索, 都只看到    如果......  则  .....   为什么没有    如果 ...则 .. 否则...
好像确实不需要否则。。 因为没有则,就直接跳到下一段了。。  但是我的判断为什么会错呢??
发表于 2020-4-10 20:32:44 | 显示全部楼层
回复 1# hxx
  1. for /r %%i in (%file%) do if %%~zi lss 104857600  (goto 1) else ( goto 2)
复制代码
很明显你并没有理解||的用法。
 楼主| 发表于 2020-4-10 22:00:16 | 显示全部楼层
回复 2# wujunkai


   但是我文件明明大于 104857600  ,为什么不返回 2
发表于 2020-4-10 23:11:43 | 显示全部楼层
回复 3# hxx


    你把%%~zi输出看看,我觉得可能是1024和1000有区别。另外二进制文件的大小通常难以判断。
 楼主| 发表于 2020-4-10 23:54:45 | 显示全部楼层
本帖最后由 hxx 于 2020-4-11 00:01 编辑

已解决已解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 15:50 , Processed in 0.016300 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表