我试过写了一个vbs然后打开一个bat,但它说有另一个进程正在使用他,代码是这样:
dim a,b
set a=createobject("scripting.filesystemobject")
set b=a.createtextfile ("c:/off.bat")
b.writeline "shutdown -s -t 1000"
set c=createobject("wscript.shell")
c.run "c:/off.bat",o,true
然后运行这个vbs之后,它就报有另一个进程正在使用它,前面的的指令都运行到了,创建了一个bat,但后面的运行指令就动不了
怎么用vbs写一个bat并打开?反复试都不行
答案:2 悬赏:20 手机版
解决时间 2021-02-01 20:17
- 提问者网友:精神病院里
- 2021-02-01 01:58
最佳答案
- 五星知识达人网友:山君与见山
- 2021-02-01 02:50
BatFile = "C:\off.bat"
set ws = CreateObject("Wscript.Shell")
set fso = createobject("scripting.filesystemobject")
set wrt = fso.opentextfile(BatFile,8,true) '创建bat文件
wrt.writeline "shutdown -s -t 1000" '写入bat文件的内容。你自己更改你需要的bat命令
wrt.close
ws.run BatFile,1,true
'运行上面创建的bat文件。其中参数1表示显示bat运行的黑框,改成0则不显示;参数true表示等待该bat文件执行完成后才执行脚本后面的代码,如果不需要等待,则可以将 逗号跟true都删掉。
fso.deletefile BatFile '删除创建的bat文件,如果不需要,可以把本条命令删除
以上代码本机测试通过,你贴出来的代码错误在于:没有将打开的bat文件关闭,你的代码需要在run之前加一条 b.close 就行了。
set ws = CreateObject("Wscript.Shell")
set fso = createobject("scripting.filesystemobject")
set wrt = fso.opentextfile(BatFile,8,true) '创建bat文件
wrt.writeline "shutdown -s -t 1000" '写入bat文件的内容。你自己更改你需要的bat命令
wrt.close
ws.run BatFile,1,true
'运行上面创建的bat文件。其中参数1表示显示bat运行的黑框,改成0则不显示;参数true表示等待该bat文件执行完成后才执行脚本后面的代码,如果不需要等待,则可以将 逗号跟true都删掉。
fso.deletefile BatFile '删除创建的bat文件,如果不需要,可以把本条命令删除
以上代码本机测试通过,你贴出来的代码错误在于:没有将打开的bat文件关闭,你的代码需要在run之前加一条 b.close 就行了。
全部回答
- 1楼网友:低音帝王
- 2021-02-01 03:42
期待看到有用的回答!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯