怎么用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 展开
运行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 展开
1个回答
展开全部
vbs本身就可以修改文件属性,用的着那么麻烦么?
更多追问追答
追问
谢谢你的回答,但是请注意看标题,我的问题不是在问"怎么用vbs修改某文件的属性"
我只是拿改属性举例而已,
实际我要处理的不仅仅是属性,
要处理的文件不能称为真正意义上的文件,
要处理的路径也不是你想象的路径.
追答
我看你只是想在你要运行的程序上加参数,对吧?
CreateObject("WScript.shell").run("ddaa name=“&NAME&” path=“&PATH&” attr=&“ATTR),0
你把你的变量写成字符串了。
你再试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询