批处理中 如何比较 数字大小

 我来答
曲依白01z
2011-05-20 · TA获得超过250个赞
知道答主
回答量:502
采纳率:0%
帮助的人:215万
展开全部
还没人来解释 我就大概讲一下了
@echo off&setlocal enabledelayedexpansion 关回显开变量延迟
for /r %%a in (*.*) do ( 循环一个个打印当前目录及子目录下的所有文件
set nameis=%%a 把文件名给变量nameis
set sizeis=%%~za 把文件大小给变量sizeis
echo !nameis!大小为:!sizeis!
if not defined %%~za (set %%~za=A) else (call :delornot)
如果没有定义%%~za 就把%%~za当做变量定义为A 否则跳到 :delornot
意思就是 首先:每个文件基本上大小(字节)都是不同的
把这个大小当做变量名(数字也可以做变量名的)判断它定义过么 没有的话我们就定义它的值为A 这样后面有同样大小的文件时 这个大小前面已经当做变量定义了 所以就执行else后面的跳转
)
echo 处理完毕。
pause>nul&&goto :eof

:delornot 前面我们已经说了 出现同样大小的情况就跳到这(基本上大小相同就判断为重复文件)
set /p cho=!nameis!是重复的文件,是否删除(Y/N):
if /i "!cho!"=="y" del "!nameis!"/f/q&set sizeis=A 输入的是y旧执行删除操作
if /i "!cho!"=="n" (goto :eof) else (echo 输入有误。&&goto delornot)
输入的是n就不删除 输入其他再跳到:delornot

总结: 用for /r 打印当前目录的所有文件 通过把每个文件的大小当做变量定义值 来判断是否有大小相同的情况 有就跳到提示删除部分

表达能力有限 。。。
453625978
推荐于2018-03-10 · TA获得超过3591个赞
知道大有可为答主
回答量:2445
采纳率:0%
帮助的人:3005万
展开全部
用if语句来比较。
例子:
if 3 gtr 2 (echo 大于) else echo 小于

EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式