标题: 麻烦写个VBS(要求内详)
[打印本页]
作者: jingyu57
时间: 2008-6-22 01:10
标题: 麻烦写个VBS(要求内详)
哪位热心的朋友帮忙写个VBS,要求如下:
在完成VBS之前我已建立好配置文件myext.txt,内容如下:
-------------------------------------------------
txt.lst .txt .reg .nfo .bat .cmd
image.lst .jpg .png .gif .bmp
exe.lst .exe .dll
.......
依此类推
.......
-------------------------------------------------
现在我想达到的目标是,针对当前文件扩展名(或当前文件夹),判断:
如果当前文件扩展名在已经定义好的myext.txt文件里,则取得该扩展名所在行的第一个字符串,即txt.lst或image.lst或exe.lst(这些.lst文件另有自定义内容),然后运行一个名叫popsel的程序,txt.lst或image.txt为其运行参数,即popsel txt.lst,
上面这个经过请教一些热心的朋友,我已经用批处理解决了。
findstr /i /c:"%~x1" c:\test\Myext.txt > c:\test\selpop.txt
for /f "tokens=1" %%i in (c:\test\selpop.txt) do "c:\test\popsel.exe" c:\test\%%i %1
现在有个问题就是,如果当前文件扩展名不在前面定义的配置文件里(事实上也不可能预先定义完),或者当前选择为文件夹或目录,则要求运行另外一个定义好的special.lst,用批处理弄了好长时间都出错,估计再弄下去也不会有结果了。
(批处理如何判断当前选择的是文件夹?)
当然,上面的myext.txt等文件是之前为批处理服务的,写出来是希望对理解和完成这个任务有帮助。相信如果用VBS的话可能都不需要这些预定义文件。
保守估计这个问题用VBS可能会好解决一些,所以特来请教熟悉VBS的朋友。希望有能力的朋友能帮忙完成这个VBS,谢谢!
作者: HAT
时间: 2008-6-22 02:14
你是不是想在文件或者文件夹的右键菜单里面添加bat或者vbs啊?
作者: jingyu57
时间: 2008-6-22 17:35
和在右键差不多。但是我用Hoekey获取当前文件的路径,所以这个VBS或者BAT应该和右键是一样的。
作者: jingyu57
时间: 2008-6-23 11:47
自己居然用批处理解决了,小小庆祝一下<img src="images/smilies/face-raspberry.png" align="absmiddle" border="0">。顺便拉出来遛一遛,也许有人日后会用到。
findstr /i /c:"%~x1" c:\test\Myext.txt > c:\test\selpop.txt && goto ok
if "%~x1"=="" goto folder
start "" "c:\test\popsel.exe" "c:\test\special.lst" %1
exit
<img src="images/smilies/face-surprise.png" align="absmiddle" border="0">k
for /f "tokens=1" %%i in (c:\test\selpop.txt) do "c:\test\popsel.exe" c:\test\%%i %1
exit
:folder
start "" "c:\test\popsel.exe" "c:\test\folder.lst" %1
Last edited by jingyu57 on 2008-6-23 at 12:22 PM ]
作者: chishingchan
时间: 2008-6-23 12:30
原来这里也研究VBS的?我看到的多是批处理。