中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 22:33
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 急救,DOS获取文件大小 查看 1,543 回复 6
楼 主 急救,DOS获取文件大小 发表于 2006-12-27 08:28 ·  中国 四川 成都 电信
新手上路
积分 16
发帖 6
注册 2006-12-27 06:16
19年会员
UID 74676
性别 男
状态 离线
需求:现有两个文件,D:\35.RMVB,D:\35OK.RMVB,判断这两个文件大小是否一致,如果大小一致则删除D:\35.RMVB.
请给予帮助,小弟万分感谢。
第一次发贴,不足之处海涵。

[ Last edited by sureme on 2006-12-26 at 07:34 PM ]
2 发表于 2006-12-27 08:47 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  以下为演示代码,如果可行,则把 echo 语句换成 del 语句即可:

@echo off
for %%i in (D:\35.RMVB D:\35OK.RMVB) do call set var=%%var%% %%~zi
call :comp_size %var%
pause
goto :eof

:comp_size
if %1 equ %2 echo 即将删除 D:\35.RMVB
goto :eof


[ Last edited by namejm on 2006-12-26 at 10:05 PM ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
3 发表于 2006-12-27 10:33 ·  中国 广西 柳州 电信
初级用户
★★
积分 168
发帖 78
注册 2006-12-27 09:58
19年会员
UID 74699
性别 男
状态 离线
还是有点不太清楚```

call set var=%%var%% %%i

这里是什么意思``?本人菜鸟一只``不好意思``
4 发表于 2006-12-27 11:07 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
Originally posted by applecy at 2006-12-26 21:33:
还是有点不太清楚```

call set var=%%var%% %%i

这里是什么意思``?本人菜鸟一只``不好意思``

  这里出现了一个小错误,%%i 应该写成 %%~zi,2楼的代码已经修正。

  这句话的意思是获取那两个文件的字节大小,赋给 var 。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
5 发表于 2006-12-27 12:39 ·  中国 四川 成都 电信
新手上路
积分 16
发帖 6
注册 2006-12-27 06:16
19年会员
UID 74676
性别 男
状态 离线
@echo off
for %%i in (D:\35.RMVB D:\35OK.RMVB) do call set var=%%var%% %%~zi
call :comp_size %var%
pause
goto :eof

:comp_size
if %1 equ %2 del D:\35.RMVB
goto :eof
按照你所说的方法执行出现故障,此时不应有 del。
不知道版主测试过没有?
6 发表于 2006-12-27 12:41 ·  中国 四川 成都 电信
新手上路
积分 16
发帖 6
注册 2006-12-27 06:16
19年会员
UID 74676
性别 男
状态 离线
建议版主翻译一下代码,本人初学者感谢先
7 发表于 2006-12-27 12:44 ·  中国 四川 成都 电信
新手上路
积分 16
发帖 6
注册 2006-12-27 06:16
19年会员
UID 74676
性别 男
状态 离线
是我弄错了,测试成功
论坛跳转: