Board logo

标题: 急救,DOS获取文件大小 [打印本页]

作者: sureme     时间: 2006-12-27 08:28    标题: 急救,DOS获取文件大小

需求:现有两个文件,D:\35.RMVB,D:\35OK.RMVB,判断这两个文件大小是否一致,如果大小一致则删除D:\35.RMVB.
请给予帮助,小弟万分感谢。
第一次发贴,不足之处海涵。

[ Last edited by sureme on 2006-12-26 at 07:34 PM ]
作者: namejm     时间: 2006-12-27 08:47
  以下为演示代码,如果可行,则把 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 ]
作者: applecy     时间: 2006-12-27 10:33
还是有点不太清楚```

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

这里是什么意思``?本人菜鸟一只``不好意思``
作者: namejm     时间: 2006-12-27 11:07


  Quote:
Originally posted by applecy at 2006-12-26 21:33:
还是有点不太清楚```

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

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

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

  这句话的意思是获取那两个文件的字节大小,赋给 var 。
作者: sureme     时间: 2006-12-27 12:39
@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。
不知道版主测试过没有?
作者: sureme     时间: 2006-12-27 12:41
建议版主翻译一下代码,本人初学者感谢先
作者: sureme     时间: 2006-12-27 12:44
是我弄错了,测试成功