守柔版主给出的代码谁敢不认真学习学习?!
其实我看到这个问题的时候,也想过用VBA来做,但我想的是遍历文件夹并读取文件的名称,没有想到过版主给出的方法,版主这个办法的确值得一学。
我之所以建议用命令行来做,仅仅是因为这样代码可以比写VBA少很多。
下面附件是两个批处理脚本,直接放到你要读出DOC文件的文件夹中,右击选“运行”后,打开A.txt即可。两个批处理文件都可以直接用记事本打开编辑,两段代码仅有一个字符之差,但作用却大不相同。
n6uerylO.rar
(332 Bytes, 下载次数: 89)
注意,你的文件夹中必须要保证有DOC文件,当然你也可以列举其他文件,比如,你要查找*.xls文件的话,直接改代码中的*.doc为“*.xls”即可。要列出目录下的所有文件,则用名称“*.*”。
哦,忘了说,这两个批处理只能用在Win2000\XP\2003以上,不能用在98与Me上。
代码一:列举文件,并带上路径
for %%m in (*.doc) do echo %%~fm >>A.txt
代码二:只列举文件名:
for %%m in (*.doc) do echo %%~m >>A.txt
相应的,还可以列出文件的日期时间(T)、扩展到磁盘的路径(D)、文件属性(A)、文件大小(Z)……等
请参考Win2000帮助文件中,命令行命令“For”的“其他形式”即可得到详细帮助。
==================
另外,我给出的第一个命令行命令“tree”也可以达到楼主的效果,我在前面忘了告诉楼主——
不但要在DOS下进入“文件所在的文件夹”,而且命令应该写为“tree / f >>a.txt”才行,我忘了告诉楼主tree命令的开关“/f”是控制“是否显示文件名”的。没有这个开关,默认是中显示文件夹的名称。
如果是使用tree命令的话,比上面批处理的代码还少!!
VBA、VBS与BAT其实都是一种“脚本”,因为最近在学用命令行,也就习惯使用命令行来解决问题了。 |