怎么用vbs脚本运行含有多个可变参数的程序(可在CMD中运行). 详细如下

假设ddaa.exe是用于修改一个用于修改文件的各项属性的命令提示程序.运行ddaa时,需要指定文件名称name,文件路径path,文件属性attr等参数,name和pa... 假设ddaa.exe是用于修改一个用于修改文件的各项属性的命令提示程序.
运行ddaa时,需要指定文件名称name,文件路径path,文件属性attr等参数,
name和path是任意的,
attr可以取RO(只读),RW(可读可写)
例如:要将D:\abc\1234.txt 设置为只读属性(RO)
可以在cmd窗口内输入ddaa name=1234.txt path=d:\abc attr=ro 然后回车就好.
(注,与实际情形不完全一致) 我已经可以用DOS批处理来完成这项任务了.
最近刚接触了vbs脚本,我想用VBS脚本来实现这一功能
以下是我写的代码,没有成功.请指教,谢谢了
'变量声明
Dim NAME,ATTR,PATH
'获取文件名称
call in1()
'根据输入确定属性,输入0代表可读可写,输入1代表只读
call in2()
if ATTR="0" then
ATTR="RW"
end if
if ATTR="1" then
ATTR="RO"
end if
'获取文件路径
call in3()
'调用cmd运行ddaa达到目的,关键问题就出在这里了
CreateObject("WScript.shell").run("cmd /c ddaa name=&NAME path=&PATH attr=&ATTR"),0 '运行时不跳出窗口

'获取文件名称的子程序
sub in1()
do while NAME=""
NAME=Inputbox("请输入文件名称"&Chr(10)&Chr(10)&"注意:输入不能为空!","文件名称")
if NAME="" then
MsgBox"文件名称不能为空!",, "警告"
end if
loop
end sub

'获取属性选择的子程序
sub in2()
do until ATTR="0"or attr="1"
ATTR=Inputbox("请选择属性"&Chr(10)&Chr(10)&"0=可读可写"&Chr(10)&Chr(10)&"1=只读","属性")
if ATTR<>"0" and ATTR<>"1" then
MsgBox"只能输入0或1 !"&Chr(10)&Chr(10)&"0=可读可写"&Chr(10)&Chr(10)&"1=只读",, "警告"
end if
loop
end sub

'获取文件路径的子程序
sub in3()
do while PATH=""
PATH=Inputbox("请输入路径"&Chr(10)&Chr(10)&"注意:输入不能为空!","路径")
if PATH="" then
MsgBox"路径不能为空!",, "警告"
end if
loop
end sub
展开
 我来答
邪恶圣使
2012-10-08 · TA获得超过235个赞
知道小有建树答主
回答量:682
采纳率:32%
帮助的人:104万
展开全部
vbs本身就可以修改文件属性,用的着那么麻烦么?
更多追问追答
追问
谢谢你的回答,但是请注意看标题,我的问题不是在问"怎么用vbs修改某文件的属性"
我只是拿改属性举例而已,
实际我要处理的不仅仅是属性,
要处理的文件不能称为真正意义上的文件,
要处理的路径也不是你想象的路径.
追答
我看你只是想在你要运行的程序上加参数,对吧?

CreateObject("WScript.shell").run("ddaa name=“&NAME&” path=“&PATH&” attr=&“ATTR),0

你把你的变量写成字符串了。

你再试试。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式