windows批处理向vbs传参数

leoLQ9239339 2012-02-15 07:33:36
现在有一个windows批处理文件需要向vbs脚本里面传入参数,如下:
a.bat文件

set fi="aaabbb.ini"
start a.vbs fi
@pause

a.vbs文件

Dim fpath
fpath=arguments(0)
Dim fso=CreateObject("Scripting.FileSystemObject")
'set forread=fso.opentextfile("aaabbb.ini",1) ’1
set forread=fso.opentextfile(fpath,1) ‘2

采用这两种方式调用,1方式可以正常调用,而2方式不行,为什么?
怎么样写才能从bat文件传入一个文件名然后在vbs中打开呢?
...全文
2170 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
daols 2012-02-16
  • 打赏
  • 举报
回复
具体可以 cmd.exe /k start /? 查看用法...start的一般用法就是:
start "title" xxx.exe "参数1" "参数..."
还有就是批处理中用set设置环境变量后, 后面调用的时候要用两个%引起来才被识别为环境变量, 你这个应该写成%fi%.
最后就是vbs里fso要用set...声明变量用dim...赋值给变量用set...这个要分清...
daols 2012-02-16
  • 打赏
  • 举报
回复
有一些语法和拼写错误:

@echo off
set fi="aaabbb.ini"
start "此处为批处理 start 调用程序默认 title 参数, 为了防止start命令发生诡异的不可预见错误, 这个参数不能省的, 哪怕是个.也好" wscript.exe a.vbs %fi%
pause


a.vbs文件

Dim fpath
fpath=wscript.arguments(0)
set fso=CreateObject("Scripting.FileSystemObject")
'set forread=fso.opentextfile("aaabbb.ini",1) ’1
'set forread=fso.opentextfile(fpath,1) ‘2
msgbox fpath
Microogle 2012-02-16
  • 打赏
  • 举报
回复
bat中:
cscript.exe a.vbs "%cd%\%fi%"

4,009

社区成员

发帖
与我相关
我的任务
社区描述
它是一种微软环境下的轻量级的解释型语言,它使用COM组件、WMI、WSH、ADSI访问系统中的元素,对系统进行管理。
社区管理员
  • vbScript社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧