中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 06:45
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在批处理调用有参数的vbs 查看 1,892 回复 16
楼 主 如何在批处理调用有参数的vbs 发表于 2007-04-17 05:28 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
如何在批处理调用有参数的vbs,
例如:我想用bat 调用这样一个vbs.
function s( str)
msgbox(str)
end function
2 发表于 2007-04-17 05:34 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
各位大侠出手亚,很急的。谢谢le
3 发表于 2007-04-17 05:59 ·  中国 新疆 乌鲁木齐 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
不懂,你把代码写进。VBS不就好了吗?再在BAT中直接调用这个VBS文件
4 发表于 2007-04-17 06:07 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
wscript.arguments(0)=%1
wscript.arguments(1)=%2
wscript.arguments(2)=%3
5 发表于 2007-04-17 06:22 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
哦,对不起我没有标到清楚。我得像法是这样:
@echo off
echo function s( str) >1.vbs
echo msgbox(str) >>1.vbs
echo end function >>1.vbs
在批处理中有个字符,用批处理调用1.vbs显示一个对话框显示字符。
6 发表于 2007-04-17 06:36 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
Originally posted by zhoushijay at 2007-4-17 05:59:
不懂,你把代码写进。VBS不就好了吗?再在BAT中直接调用这个VBS文件

谢谢你的回答,可是这个vbs有参数亚。我的问题就是怎么调用。能帮忙吗?谢谢!
7 发表于 2007-04-17 06:47 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
@echo off
set str=变量
echo msgbox("%str%") >1.vbs
1.vbs


要显示字符,vbs里面必须用""引用
8 发表于 2007-04-17 06:56 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
Originally posted by zh159 at 2007-4-17 06:47:
@echo off
set str=变量
echo msgbox("%str%") >1.vbs
1.vbs


要显示字符,vbs里面必须用""引用

哦,太好了。谢谢谢谢!!终于等到高手了。
9 发表于 2007-04-17 07:41 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
zh159你好,还在吗?为什么我不能运行成功呢。麻烦你再帮我看看,多谢了!
for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do @(
if exist %%a:\nul (
set str= %%a:
echo msgbox("%str%") >1.vbs
1.vbs
)
)
10 发表于 2007-04-17 08:20 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线

@echo off
for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul echo msgbox("%%a:")>1.vbs
1.vbs
)
11 发表于 2007-04-17 08:27 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
Originally posted by zh159 at 2007-4-17 08:20:

@echo off
for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul echo msgbox("%%a:")>1.vbs
1.vbs
)

为什么不行呢?
12 发表于 2007-04-17 08:47 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
在批处理中调用带参数的vbs

cscript test.vbs 参数
13 发表于 2007-04-17 08:57 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
@echo off
for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul (
>1.vbs echo msgbox^("%%a:"^)
1.vbs
)
)
del 1.vbs
exit
14 发表于 2007-04-17 09:06 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
谢谢二位,谢谢!刚才我都要疯了,谢谢!
15 发表于 2007-04-17 09:11 ·  中国 北京 联通
初级用户
积分 88
发帖 41
注册 2006-03-08 17:38
20年会员
UID 51603
状态 离线
Originally posted by zh159 at 2007-4-17 08:57:
@echo off
for %%a in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%a:\nul (
>1.vbs echo msgbox^("%%a:"^)
1.vbs
)
)
del 1.vbs
exit

谢谢你帮助我,谢谢。
>1.vbs echo msgbox^("%%a:"^)与echo msgbox("%%a:")>1.vbs
有什么区别呢,可以告诉我吗?
论坛跳转: