PB中如何调用一个 VBS脚本文件 或者 批处理文件呢?
比如 要调用一个批处理文件
run("d:\data\script\Oracle_bakup.bat")
这样无法调用,但是尽情 CMD.EXE 然后输入这个命令就可以执行了!
我该如何才能调用呢?
THX
问题点数:50、回复次数:15Top
1 楼lzheng2001(1加1)回复于 2005-04-17 23:33:17 得分 35
运行vbs文件用wscript.exe 命令
例如 run("wscrpit.exe c:\1.vbs")
Top
2 楼zhongat(风过无痕)回复于 2005-04-18 10:12:00 得分 0
lzheng2001兄,我按照你说的那样!还是不可以。。。闪了一些就没有
SIGH 着急死了!
在 CMD.EXE里直接输入就可以。。
我这个脚本文件是进行ORACLE EXP导出的
Top
3 楼lzheng2001(1加1)回复于 2005-04-18 10:37:47 得分 0
我试了这样是可以的,上面wscrpit应改为wscript
运行vbs文件:
run("wscript.exe c:\a.vbs")
运行bat文件:
run("c:\1.bat",Minimized!)
结贴
Top
4 楼zhongat(风过无痕)回复于 2005-04-18 10:49:11 得分 0
很奇怪!为何我这还是不可以?
能给个QQ号码?我将我的VBS文件发给你,看看在你那边这个VBS文件是否能执行呢?
THXTop
5 楼lzheng2001(1加1)回复于 2005-04-18 10:59:13 得分 0
直接把vbs文件贴出来就可以啦!
你搜索一下wscript.exe 这个文件是否在system目录下? win2k以上的系统会有,不知win98有没有Top
6 楼lzheng2001(1加1)回复于 2005-04-18 11:01:15 得分 0
应该在system32目录下Top
7 楼zhongat(风过无痕)回复于 2005-04-18 11:05:42 得分 0
下面就是VBS文件 还要用到其他的文件的
我用的是WINDOWS 2003SERVER
居然没有找到 wscript.exe 这个文件?
需要去拷贝一分麻?
Option Explicit
On Error Resume Next
Dim fname, cmd
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
fname = Date
cmd = "exp log=../backup/" & fname & "_Oracle_bak.log file=../backup/" & fname & "_Oracle_bak.dmp parfile=exp.txt"
WshShell.run cmd
Set WshShell = Nothing
'WScript.Echo cmdTop
8 楼zhongat(风过无痕)回复于 2005-04-18 11:16:27 得分 0
在SYSTEM32文件夹下找到了wscript.exe。。
但是依然是没有反映 艾
run("wscript.exe D:\data\script\Oracle_bakup.vbs")
我这样写应该是没有问题巴?
Top
9 楼lzheng2001(1加1)回复于 2005-04-18 11:16:46 得分 0
1.wscript.exe 是否在其它系统目录,正常情况应该会有的,你搜索c盘吧
2.wscript.exe 是用来执行vbs或js文件的,没有这个你不能执行,再找一个,如果没有,给我邮箱,我发一个给你.Top
10 楼lzheng2001(1加1)回复于 2005-04-18 11:24:23 得分 0
'加些语句 调试一下
Option Explicit
On Error Resume Next
Dim fname, cmd
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
fname = Date
cmd = "exp log=../backup/" & fname & "_Oracle_bak.log file=../backup/" & fname & "_Oracle_bak.dmp parfile=exp.txt"
'这句我加
wscript.echo "你好! 测试一下 " & cmd
WshShell.run cmd
Set WshShell = Nothing
'WScript.Echo cmd
Top
11 楼wu_07(一只狗不孤单,想一只狗才孤单)回复于 2005-04-18 11:26:06 得分 10
oleobject WshShell
WshShell = create oleobject
WshShell.connecttonewobject( "WScript.Shell")
integer li_Return
li_Return = WshShell.Run("cscript E:\root\WebRoot\chmis\validate.js", 1, true)
messagebox("",li_return)
WshShell.DisconnectObject ( )
destroy WshShellTop
12 楼lzheng2001(1加1)回复于 2005-04-18 11:26:36 得分 0
可以正常弹出信息,证明vbs文件已经运行了,至于WshShell.run cmd这句是否成功,你要自己判断!Top
13 楼wu_07(一只狗不孤单,想一只狗才孤单)回复于 2005-04-18 11:26:54 得分 0
oleobject WshShell
WshShell = create oleobject
WshShell.connecttonewobject( "WScript.Shell")
integer li_Return
li_Return = WshShell.Run("cscript E:\root\WebRoot\chmis\validate.js", 1, true)
messagebox("",li_return)
WshShell.DisconnectObject ( )
destroy WshShellTop
14 楼tmxkdldw(tmxkdldw)回复于 2005-04-18 11:32:11 得分 5
run("d:\data\script\Oracle_bakup.bat") 应该可以直接运行Top
15 楼zhongat(风过无痕)回复于 2005-04-18 12:17:30 得分 0
可以弹出信息,看来是后面WshShell.run cmd 这个有问题了 SIGHTop




