[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 求个批处理,如何比较某个文件大小之后选择文件执行?

这样的批处理怎么实现呢?
在同一个文件夹下面,有3个文件,a.doc,b.mp3,c.mp3,启动批处理之后,如果a.doc的大小小于2M的话,就运行b.mp3,如果a.doc的大小大于2M的话,批处理命令就运行c.mp3文件。谢谢哪位大侠的帮助,感激涕零!!

你的问题大致可以分解成以下几个小模块:
1、获取某个文件的大小
2、选择执行
请问具体哪个模块你不会?或者全部不会,只能等待别人给出完整代码?
发帖求助时,建议在帖子中描述清楚以下几点(有则改之无则加勉):

1、你的具体系统环境、应用程序环境是什么?你需要处理的数据长啥模样?

2、你为了解决自己的问题做出了哪些尝试?在google/baidu搜索了没?在本论坛搜索了没?阅读批处理基础教程了没?查阅系统自带的命令行帮助了没?

3、如果你曾经自己尝试着写过代码,但没能解决问题,请把你的完整代码贴出来,也许别人能够给你指出是什么地方出了问题,这样才更加有利于自己的进步。

Q: 如何使用论坛搜索功能来解决自己的问题?
A: 参考:http://bbs.bathome.net/thread-3473-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. for /f "tokens=3" %%a in ('dir /a a.doc^|findstr "a.doc"') do (
  3.            setlocal enabledelayedexpansion
  4.            set x=%%a
  5.            set size=!x:,=!
  6.            if !size! lss 2048 (start b.mp3) else (start c.mp3)
  7.            endlocal  
  8. )
  9. pause
复制代码

如果你在桌面右下角时间显示那里前面加了自己的名字或者其他的字符串的话,tokens后面的3改成4就好。

[ 本帖最后由 Lumiere 于 2009-4-7 15:23 编辑 ]
Still with wax

TOP

  1. @echo off
  2. for %%a in (a.doc) do (
  3.   if %%~za lss 2048 (start b.mp3) else start c.mp3
  4. )
  5. pause
复制代码
技术问题请到论坛发帖求助!

TOP

呵呵,超级版主太帅了,简直和nicolas cage 本人一样帅!哎,功夫还不到家啊,对for的命令还不是完全熟悉,走了弯路,哎,继续学习……
Still with wax

TOP

返回列表