标题: 如何在批处理调用有参数的vbs
[打印本页]
作者: benteng302
时间: 2007-4-17 05:28
标题: 如何在批处理调用有参数的vbs
如何在批处理调用有参数的vbs,
例如:我想用bat 调用这样一个vbs.
function s( str)
msgbox(str)
end function
作者: benteng302
时间: 2007-4-17 05:34
各位大侠出手亚,很急的。谢谢le
作者: zhoushijay
时间: 2007-4-17 05:59
不懂,你把代码写进。VBS不就好了吗?再在BAT中直接调用这个VBS文件
作者: zh159
时间: 2007-4-17 06:07
wscript.arguments(0)=%1
wscript.arguments(1)=%2
wscript.arguments(2)=%3
作者: benteng302
时间: 2007-4-17 06:22
哦,对不起我没有标到清楚。我得像法是这样:
@echo off
echo function s( str) >1.vbs
echo msgbox(str) >>1.vbs
echo end function >>1.vbs
在批处理中有个字符,用批处理调用1.vbs显示一个对话框显示字符。
作者: benteng302
时间: 2007-4-17 06:36
Quote: |
Originally posted by zhoushijay at 2007-4-17 05:59:
不懂,你把代码写进。VBS不就好了吗?再在BAT中直接调用这个VBS文件 |
|
谢谢你的回答,可是这个vbs有参数亚。我的问题就是怎么调用。能帮忙吗?谢谢!
作者: zh159
时间: 2007-4-17 06:47
@echo off
set str=变量
echo msgbox("%str%") >1.vbs
1.vbs
要显示字符,vbs里面必须用""引用
作者: benteng302
时间: 2007-4-17 06:56
Quote: |
Originally posted by zh159 at 2007-4-17 06:47:
@echo off
set str=变量
echo msgbox("%str%") >1.vbs
1.vbs 要显示字符,vbs里面必须用""引用 |
|
哦,太好了。谢谢谢谢!!终于等到高手了。
作者: benteng302
时间: 2007-4-17 07:41
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
)
)
作者: zh159
时间: 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
)
作者: benteng302
时间: 2007-4-17 08:27
Quote: |
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
) |
|
为什么不行呢?
作者: bjsh
时间: 2007-4-17 08:47
在批处理中调用带参数的vbs
cscript test.vbs 参数
作者: zh159
时间: 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
作者: benteng302
时间: 2007-4-17 09:06
谢谢二位,谢谢!刚才我都要疯了,谢谢!
作者: benteng302
时间: 2007-4-17 09:11
Quote: |
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
有什么区别呢,可以告诉我吗?
作者: flyinspace
时间: 2007-4-17 09:17
CScript scriptname.extension [option...] [arguments...]
选项:
//B 批模式:不显示脚本错误及提示信息
//D 启用 Active Debugging
//E:engine 使用执行脚本的引擎
//H:CScript 将默认的脚本宿主改为 CScript.exe
//H:WScript 将默认的脚本宿主改为 WScript.exe (默认)
//I 交互模式(默认,与 //B 相对)
//Job:xxxx 执行一个 WSF 工作
//Logo 显示徽标(默认)
//Nologo 不显示徽标:执行时不显示标志
//S 为该用户保存当前命令行选项
//T:nn 超时设定秒:允许脚本运行的最长时间
//X 在调试器中执行脚本
//U 用 Unicode 表示来自控制台的重定向 I/O
这个是帮助信息。。。。
批处理也就是如此调用参数的。。。
cscript /nologo 参数一 参数二
如此就好了。
作者: zh159
时间: 2007-4-17 09:23
一样的
空光驱不会出错:
@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 (
dir %%a:>nul 2>nul&&if exist %%a:\nul (
>1.vbs echo msgbox^("%%a:"^)
1.vbs
)
)
del 1.vbs
exit