Board logo

标题: 新手问个小白问题 [打印本页]

作者: jqh2004     时间: 2010-12-2 09:27    标题: 新手问个小白问题

代码的作用是找到各个d盘及其子文件夹中的所有的mp3文件。


Dim WshShell
set WshShell = CreateObject("wscript.Shell")
WshShell.Run "d:\findfile.bat"

findfile.bat里面的代码如下::
@echo off
dir *.mp3 /a-d /b /s>>result.txt
pause


这是我写的用vbs运行一个bat代码,但是总是提示我找不到文件。郁闷。不知道什么原因。输出结果页不行。为什么??
作者: Hanyeguxing     时间: 2010-12-2 11:26
把*.mp3写成d:\*.mp3
作者: jqh2004     时间: 2010-12-2 14:35    标题: 不好意思,我的问题没说明白。

Set fso = CreateObject("scripting.filesystemobject")
Set Shell = CreateObject("Shell.application")
Set aa = Shell.BrowseForFolder(0, "请选择文件夹:", 0)
p=aa.Self.Path
fso.CopyFile "d:\findfile.bat",p

我是想先选择文件夹(运用vbs方法),然后把可以读取子文件夹及其下面所有的文件夹中的mp3文件读取出来,所有我想了这个方法::
吧读取mp3文件的bat文件复制到所选择的文件夹中,然后执行它,因为我不知道怎么向bat中传递vbs的路径返回值,所以只能将bat复制到相应的文件夹中,然后run。

但是貌似run的话,bat中执行的路径就是vbs文件所在的文件夹了。返回的值就不对了。显示找不到文件。不知道我说明白了没有。

因为我主要是想利用vbs的选择文件的对话框功能。bat用的不太好。变量延迟还没学会。