批处理 for的问题

[复制链接]
查看11 | 回复2 | 2011-1-2 13:22:09 | 显示全部楼层 |阅读模式
那位大虾帮忙分析下这段代码:
for %%i in ("%tmp%encrypt.tmp") do (

echo %%~zi >nul 2>nul

set size=%%~zi

set num=!size:~-1!

set /a mod=!num!%%2

if !mod! equ 0 (goto even) else (goto odd)

这段命令do()中的命令都不太明白 希望能帮忙详细分析哈每句话!!

回复

使用道具 举报

千问 | 2011-1-2 13:22:09 | 显示全部楼层
set size=%%~zirem 将文件的大小数据赋值给size,%~zi是for中的扩展参数,详情for /?
set num=!size:~-1!rem 提取变量最后一个字符赋值给num,这里用!!来代替%%是应为启用了变量延迟
set /a mod=!num!%%2rem 将变量num数值运算的结果赋值给mod
if !mod! equ 0 (goto even) else (goto odd)rem equ改成==最好,如果mod等于0就跳转到even,否则跳转到odd
回复

使用道具 举报

千问 | 2011-1-2 13:22:09 | 显示全部楼层
一段判断文件大小的批处理截取最后一个字符串作为数字 整除2如果除的了那么跳转 even 如果不能跳转 odd
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行