注册 登录
编程论坛 程序供求

[请教]用VBS做一个逐一检查文件名的小程序???

士兵突击 发布于 2012-05-30 10:46, 691 次点击
各位大侠:
  公司一电脑的硬盘分区F:\Files\里有大约3000个文件,是同事共用的dxf格式的文件,
文件的命名方式为:1001、1002、1003、1004......2005、2006......2996、2997、2998、2999等等,
即按数字升序来命名的,每个月都会增加,我每个月结束后必须从第1个文件逐一检查到最后一个文件,
看看中间是否有漏号的情况存在,三千多个文件名一个一个看,很辛苦,于是我想能不能用VBS编写一个
程序,对F:\Files\文件夹里的文件逐一进行检查,再输出检查的结果,具体要求为:

1、程序先弹出一个对话框,要求输入开始号码,以及输入结束号码。
2、程序对F:\Files\文件夹里的文件按照指定的“开始号码”到“结束号码”逐一进行检查,
  请注意,文件的后辍为dxf格式。
3、输出检查结果,将在指定范围内没有查找到的文件名(号)弹出显示;可以消息框方式或列表框方式。

我本人没搞过编程,从头学习可能不大现实,能否麻烦各位大侠帮忙写一段代码,帮小弟解决这一问题?
先谢谢了!
4 回复
#2
wube2012-05-30 12:38
这用VB6感觉是很简单的编程~不过VBS我不会~
1个Form + 2个TextBox(或2次InputBox) + 1个CommandBox
For Each + 排序法~或For Each + IF...EndIF~
应该用不到50行代码吧~写得精致点也顶多百来行~
F盘也许是网盘也得事先检查确认~
问题在于要检查文件的什么?
#3
风吹过b2012-05-30 17:02
VBS 不会, DOS 方法我试了一个下午

命令行:
for /l %f in (1001,1,3000)  do  if not exist "%f.dxf"    echo %f.dxf    >>b2.txt
原理是:  产生 1001 到 3000 的序列,然后 把这个序列 组合成 文件名
判定文件是否存在的。

使用方法:
提示:本行命令不得保存为 BAT 或 CMD 文件,保存后执行就出错。我也不知道为什么,别问我。

1、开始->所有程序->附件->命令提示符
2、出现一个黑框,开始输入:
   1、你文件所在的盘符:  如 f:  ,按回车  
   2、进入文件所在的目录:如  cd 目录名 ,按回车
      目录名是从根目录开始的 整个目录。  如    f:\我的文件\记录文件\共用\5月\
      可以先输入 cd + 空格,然后再将 文件名从 资源管理器 的 地址栏 中复制过去,在黑框中 点右键 选择粘贴。粘贴在光标处,与鼠标位置无关。
  3、输入上面那行命令。
     for /l %f in (1001,1,3000)  do  if not exist "%f.dxf"    echo %f.dxf    >>b2.txt
  4、执行完成后,打开 b2.txt 文件,里面有的文件名即是不存在的文件。
  5、看完后b2.txt 后,请随手删除 b2.txt 。

命令行 中 第一个是 起始序号,如 里面的 1001 ,第三个 是结束序号,如里面的 3000

[ 本帖最后由 风吹过b 于 2012-5-30 17:04 编辑 ]
#4
bczgvip2012-05-30 19:51
for /l %%f in (1001,1,3000)  do  if not exist "%%f.dxf"    echo %f.dxf    >>b2.txt
这样就能保存为bat文件后执行了。呃,很久以前的记忆了,错了勿怪。
#5
yy4762544342013-09-24 17:40
至诚国际 http://www.
鑫瓷五金饰品http://www.
1