bat重复执行会报错,脚本请见正文

c9cad 2018-12-18 08:01:52
@echo off
taskkill /f /im wscript.exe /t
rem CreateObject("WScript.Shell").Run "taskkill /f /im wscript.exe", 0
start d:\data\VBSSynchro.vbs
start d:\data\cpu3.vbs
start d:\data\CopyCPUFile.vbs

***************************************************************************

...全文
417 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
c9cad 2018-12-18
  • 打赏
  • 举报
回复
bat第一步不是已经将所有的vbs都结束了吗?
参见:taskkill /f /im wscript.exe /t
zara 2018-12-18
  • 打赏
  • 举报
回复
可能是你写入文件时的冲突,而不是 vbs脚本文件自身吧。多个运行都写入到同一个文件,难免有前个打开了在写着,后面个要求打开,这就访问冲突了。
c9cad 2018-12-18
  • 打赏
  • 举报
回复
没有呀,第一次执行是可以的,多执行几次,后面就有问题了,不知道咋回事。后附cpu3.vbs脚本。
*****************************************************************************************************************
On Error Resume Next
strComputer = "."
i=0
t1=FormatdateTime(now(),0)
Dim sum
Set fso = CreateObject("Scripting.FileSystemObject")
Set wshshell = CreateObject("wscript.network")
hostname=wshshell.ComputerName

do while i<400000
wscript.sleep 1000*60 '30秒
t2=FormatdateTime(now(),0)
t2=Left(t2,Len(t2)-3)
sum=0
Set wmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
'Set items=wmi.ExecQuery("Select * from Win32_Processor",48)
Set objProc = GetObject("winmgmts:\\.\root\cimv2:win32_processor='cpu0'")'获取第一个CPU对象
sum=objProc.LoadPercentage'获取CPU使用率
'For Each j In items
'sum=sum+j.LoadPercentage
'Next
set f2=fso.opentextfile("d:\data\"& hostname &".txt",8,true) '参数8就是一行一行写入.使用循环可以写若干行.
'f2.writeline(t2)
f2.writeline((i+1)&" - "&t2 & " - " & sum)
f2.close
t1=t2
i=i+1
'i=999
loop
wscript.quit


zara 2018-12-18
  • 打赏
  • 举报
回复
vbs不能共享使用?用过 slmgr.vbs,好像是可以的吗?还是你这 vbs 有什么针对自己的锁定操作?
zara 2018-12-18
  • 打赏
  • 举报
回复
强行终止程序并不能让其打开的文件正常关闭。
不过,你的脚本开头有 On Error Resume Next 语句,按理应该会忽略错误最多不生成当时的记录。

18,124

社区成员

发帖
与我相关
我的任务
社区描述
Windows客户端使用相关问题交流社区
社区管理员
  • Windows客户端使用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧