bat怎么把参数传给vbs,vbs怎么调用vbs

我现在有a.batb.vbsc.vbs三个文件a.bat内容是@echooffd:\b.vbspauseb.vbs和c.vbs内容相同,作用是排序:dimi(99)for... 我现在有a.bat b.vbs c.vbs 三个文件
a.bat内容是
@echo off
d:\b.vbs
pause

b.vbs和c.vbs 内容相同,作用是排序:
dim i(99)
for y=0 to 99
i(y)=y
next

for j=0 to 99
k=j+1

do while k<100
if i(j) < i(k) then
m=i(k)
i(k)=i(j)
i(j)=m
end if
k=k+1
loop
next
do while z<100
str=str & i(z) & " " & " " & i(z+1) & " " & " " & i(z+2) & " " & " " & i(z+3) & " " & " " & i(z+4)
str=str & vbCrlf
z=z+5
loop
msgbox(str)

我想在用bat调用b.vbs的时候直接给y赋值,比如50,然后b.vbs运行到最后的时候调用c.vbs,同时一赋值200,代码该怎么改进,求大神指教~!!
展开
 我来答
王者77257
2014-08-26 · 超过69用户采纳过TA的回答
知道答主
回答量:193
采纳率:0%
帮助的人:66.5万
展开全部
vbs脚本中wscript对象里面有个叫Arguments的属性,可以返回参数数组
比如说你的bat文件调用vbs时是这样运行vbs的:"c:\123.vbs hello world"
那脚本应该这样写:
set argus=wscript.arguments
msgbox "此脚本一共有" & argus.count & "个参数"
if argus.count=0 then
wscript.quit '假如调用时只有路径,后面没跟着参数就退出
else
for i=0 to argus.count-1
msgbox argus(i) '把每个空格后面的参数读出来
next
end if

你试一下就懂了。。。。不懂再追问吧
追问
bat主要的一句是:
C:\SecureCRT /script c:\a.vbs /log c:\b.log /ssh2 /L monitor /P 22 /PASSWORD monitor 192.168.130.11
想把参数传到a.vbs里,在c:\a.vbs 后加 50000这个参数报错应该怎么处理
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sudoku52
推荐于2016-03-13 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:4866万
展开全部
bat增加几句话
echo a.vbs的第1句>a.vbs
echo a.vbs的第2句>>a.vbs
echo a.vbs的第3句>>a.vbs
echo a.vbs的第4句>>a.vbs
echo set y=5000>>a.vbs
echo a,vbs的第x句>>a.vbs
echo a,vbs的最后一句>>a.vbs
C:\SecureCRT /script c:\a.vbs /log c:\b.log /ssh2 /L monitor /P 22 /PASSWORD monitor 192.168.130.11

如果a.vbs的内容较多,可以用其他方法生成a.vbs
更多追问追答
追问
但是如果我的一句话很长,头尾不加双引号就报错,加了就连双引号一起到了vbs,这样vbs执行报错,该怎么办
追答
把这句话贴上来看看
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式