如果 vbs 脚本崩溃,请重新启动它

2024-04-24

我正在尝试制作一个 vb 脚本,如果它崩溃,它将重新启动另一个 vb 脚本。 我搜索了又搜索,但我得到的只是如何重新启动程序,并且由于 vb 脚本是后台进程,因此当您在 Win32_Process 中搜索时它不起作用。

这是我的代码

set Service = GetObject ("winmgmts:")
set Shell = WScript.CreateObject("WScript.Shell")

sEXEName = "Test_To_Block.vbs"

while true
 bRunning = false

 for each Process in Service.InstancesOf ("Win32_Process")
  if Process.Name = sEXEName then
   bRunning=true
   msgbox("I am active")
  End If
 next


if bRunning=False then
 msgbox("I am not active.")
 Shell.Run sEXEName
end if


WScript.Sleep(100)

wend

问题是它从来没有看到文件正在运行,只是打开了数百个“Test_To_Stop.vbs”,这解决了我必须重新启动计算机的问题。

在我看来,应该改变的是代码正在寻找的地方。

for each Process in Service.InstancesOf ("Win32_Process")

您不需要查看“Win32_Process”,而是需要查看后台进程运行的位置。

我是编码新手,如果这是一个简单的问题,我很抱歉。

先感谢您。

Regards,

A Viper


下面的代码通过以下方式自行重新启动WshShell.Exec()正在运行的脚本的方法和跟踪状态通过.Status返回对象的属性:

If Not WScript.Arguments.Named.Exists("task") Then
    Do
        With CreateObject("WScript.Shell").Exec("""" & WScript.FullName & """ """ & WScript.ScriptFullName & """ ""/task""")
            Do While .Status = 0
                WScript.Sleep 1
            Loop
        End With
    Loop
End If

MsgBox "This script will be restarted immediately after termination"

另一种方法是使用.Run()第三个参数设置为的方法True等待启动的进程终止:

If Not WScript.Arguments.Named.Exists("task") Then
    Do
        CreateObject("WScript.Shell").Run """" & WScript.FullName & """ """ & WScript.ScriptFullName & """ ""/task""", 1, True
    Loop
End If

MsgBox "This script will be restarted immediately after termination"

或者更简单:

If Not WScript.Arguments.Named.Exists("task") Then
    Do
        CreateObject("WScript.Shell").Run """" & WScript.ScriptFullName & """ ""/task""", 1, True
    Loop
End If

MsgBox "This script will be restarted immediately after termination"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 vbs 脚本崩溃,请重新启动它 的相关文章

  • 从ini文件中读取数据

    我有一个需要输入文件名的 vbscript 代码是 Dim tsout Set tsout gofs CreateTextFile C csv Dim tsin Set tsin gofs OpenTextFile C csv 我该如何配置
  • 所有应用程序在断开连接时崩溃[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 突然之间 当我断开连接 iMac 和 iPhone 的电线时 我构建并发送到手机的任何应用程序都会立即崩溃 并且也没有任
  • 在wix中,使用vbscript,如何写入日志文件?

    我正在自定义操作中尝试以下操作 Session Log GetOfficeBitness Session Property OfficeBitness 我收到错误 错误 1720 此 Windows Installer 程序包有问题 A 无
  • VBScript 运行时错误“800a000d”

    在我们的业务中 我们使用安全向导来控制和管理活动目录安全性 并对所做的更改进行审计跟踪 这是一个带有 ASP 前端的 SQL 数据库 它还可以与我们的 Active Directory 进行通信 编写该向导的人已经在我们的网站上为公司的另一
  • 添加 UIFont 并查找字体系列会因 EXC_BAD_ACCESS 崩溃

    我的问题是 当我添加描述的字体时here https stackoverflow com questions 3350131 how to add new font to xcode 3 2当我想检索字体系列名称时 UIFont famil
  • 暗淡和公共有什么区别?

    今天提出了一个关于范围的问题 这引起了我的思考 我一直了解 VBScript 范围以及如何声明全局和本地 我突然想到我从来没有使用过Public变量但倾向于使用Dim相反 在全局声明时 据我了解Dim是相同的Public 但如果是这样的话
  • 当我从本机代码将非 nullptr 传递给 `alBufferData()` 时,OpenAL 应用程序崩溃/挂起

    我正在尝试使用 OpenAL 和 C C 在 Android 上播放一些声音 我正在使用 SDL 框架 我不断遇到神秘的崩溃alBufferData 即使我的代码很简单 ALuint buf src alGenBuffers 1 buf a
  • 窗口中的图标属性导致 Windows XP SP2 中的应用程序崩溃

    假设我有这个
  • Apache 服务器(xampp)在使用 openssl 函数时崩溃

    我正在尝试使用 php ini 生成私钥 公钥对 服务器 Apache 2 4 3 Win32 OpenSSL 1 0 1c PHP 5 4 7 操作系统是 Windows XP SP3 安装了所有 Windows 更新 我正在尝试执行以下
  • VBS 脚本 getElementbyID 错误(自动登录脚本)

    我正在编写适用于不同站点的 vbs 脚本文件 但我正在为我的大学网页编写用于互联网页面登录的自动登录脚本 所以我一直在工作直到填写用户名和密码 但我无法让它点击登录 这是大学登录的链接 我不确定您是否可以从网络外访问它 请注意编辑请不要将其
  • 我可以直接从命令行运行 vbscript 命令(即没有 vbs 文件)吗?

    在Python中你没有义务使用文件 你可以指定 c 并通过命令行上的字符串将 Python 命令提供给 Python 解释器 我可以用 vbscript 达到相同的结果吗 我见过需要您使用批处理脚本的解决方案 但是如果我所在的系统具有零写入
  • 使用VBS脚本检查字符串是否包含特定字符

    我的脚本正在做以下几点 检索所有我选择的文件夹文件 按日期对它们进行分类 从最近的到较早的 在窗口中显示它们 这是我的 VBS 脚本 我检索它here http codes sources commentcamarche net sourc
  • Eclipse 总是突然关闭

    最近我的 Eclipse 遇到了很多问题 它不断崩溃 突然关闭 根本无法正常工作 这种情况发生的次数太多了 比如每 10 15 分钟一次 发生这种情况时 CPU 和 RAM 可用 50 这是eclipse ini file startup
  • adArray 的 VBScript / ADODB 语法问题?

    我希望有人能给我一些关于我的 vb 脚本的新视角 该脚本的主要目的是使用一些参数执行存储过程 我得到的错误是 预计声明结束 我没有做过太多的 VB 脚本编写 但从目前为止我发现的情况来看 这个错误是由于某种语法问题造成的 我已经查看这个脚本
  • WScript.Shell.Exec - 从 stdout 读取输出

    我的 VBScript 不显示我执行的任何命令的结果 我知道命令被执行 但我想捕获结果 我已经测试了多种方法来执行此操作 例如以下方法 Const WshFinished 1 Const WshFailed 2 strCommand pin
  • 在 VBScript 中导航 XML 节点(对于 Dummy)

    我正在尝试编写一个脚本来为我操作 xml 文件中的一些数据 我对 VBScript 还很陌生 但有 VB NET 和 VBA 背景 所以我觉得我知道自己在做什么 我认为可能有更好的方法来导航文件 而不是对每一行进行大量调用 InStr 或类
  • Subversion 中的忽略文件会从 svn:ignore 属性中删除旧值

    我有一个 Subversion 工作副本G csmdepot 构建其中有不同的文件 有些被忽略 有些则没有 我忽略了 Tortoise 的文件 Build 1 wimignored Build 2 wimignored WimID xml
  • 是否不可能使 C++ 应用程序“防崩溃”?

    假设我们有一个 C 语言的 SDK 它接受一些二进制数据 如图片 并执行某些操作 难道这个SDK就不能做到 防崩溃 吗 我所说的崩溃主要是指由于用户传递的无效输入 例如异常短的垃圾数据 而导致内存访问冲突时操作系统强制终止 我没有使用 C
  • CreateObject() vbs 的对象列表

    我喜欢脚本 我不喜欢重新发明轮子 所以我喜欢 CreateObject您能给我指出一个可在 VBScript 上使用的广泛且有用的对象列表并附上简短说明吗 确实 我还没有找到超过 50 个的网站 提前致谢 我自己并不知道有这样的列表 但我知
  • VBscript 以提升的权限运行 bat 文件

    这是我的bat文件 REG DELETE HKLM Software Microsoft Windows CurrentVersion WindowsUpdate v SusClientId f REG DELETE HKLM Softwa

随机推荐

  • 如何在PowerShell中从外部命令输出获取原始二进制数据?

    我在这里读到 当您在 powershell 中运行外部命令时 它们的输出始终被解释为字符串或字符串数 组 https stackoverflow com a 35980675 983442 https stackoverflow com a
  • 弹出窗口,如何在IE8中隐藏地址栏

    当我打开弹出窗口并设置 location 0 或 location no 时 网址栏仍显示在 IE8 中且为只读 怎么能隐藏呢 Thanks 这是不可能的 现代浏览器不允许这样做 这将是一个主要的安全缺陷 也可以看看这个答案 无耻地抄袭了大
  • 将计算出的日期与输入的日期进行比较

    我在单元格 p4 中有日期 2014 01 01 通过公式 O5 1000 60 60 24 DATE 1970 1 1 我在单元格 b5 中有日期 2014 01 01 输入 p4 b5 给出错误 p4 gt b5 给出错误 如何在 Ex
  • 将重叠的日期时间间隔拆分为标识符值内的非重叠间隔

    我对这个问题有一个确切的问题在标识符的值内将重叠间隔拆分为非重叠间隔 https stackoverflow com questions 55836442 split overlapping intervals into non overl
  • 如何将php cURL升级到7.36.0版本?

    我的 CentOS 服务器上有 php curl 7 19 7 但我需要升级到 7 36 0 I tried yum update php curl 但我得到了 Loaded plugins downloadonly fastestmirr
  • OpenCV Java:如何访问 findNonZero() 返回的坐标?

    在我的 Android 应用程序中 我正在使用findNonZero 查找并访问二值图像中的白点 我得到了图像 binMat大小 595 800 作为方法的输入 然后我有 Mat wLocMat Mat zeros binMat size
  • 推送时出现 git 错误 来自服务器的空回复

    我一直在尝试对现有存储库进行新的更改 但是 我不断收到以下错误 MacBook Pro spa git push origin master XX 的用户名 致命密码 无法访问 https github com XXXX https git
  • 如何从python字典中的给定名称获取键

    我有一个变量叫做 anime dict which contains a dictionary of lists of objects as shown below JI2212 Inu Yasha year 1992 rating 3 E
  • JavaScript Blob 对象何时被垃圾回收?

    在现代浏览器中 可以将大对象分配为Blob 然后通过 URL 请求访问它 此 URL 将在浏览器的其他位置提供存储的对象 例如图像的数据 浏览器如何知道何时不再需要这个 URL 以及相应的Blob数据可以免费被垃圾收集吗 浏览器最终将清除该
  • 如何在每次读取时更新配置?

    所以我有这样的课程 import yaml class Config def init self filename self config filename filename def read config file self with o
  • A-Frame:如何在 _blank 页面中打开动态创建的 a-link

    这是 A 型框架特有的 我正在从 javascript 代码创建一个 a link var alinkEl document createElement a link alinkEl setAttribute href http www f
  • PHP GD - 水平居中对齐文本并减小字体大小以将其保留在图像内

    希望你过得很好 我仍然是 php 的新手 所以在阅读了一些内容并检查了一些帖子之后 我能够使用 PHP GD 使用 imagecreatefrompng 函数在图像上放置一些文本 用户将进入一个表单 他们将能够输入他们的名字 并且名字将写在
  • Redux 调度导致组件本地状态重置

    我将 Redux 与 React 结合使用 我在用着this state 组件本地状态 保存组件特定变量 问题是 每当我调度操作 获取操作 和存储更新 安装 时 我的组件状态都会重置为初始状态 这对我的组件来说是正确的行为吗 第二次安装 重
  • Visual Studio 2012 中用户定义的 natvis 文件

    我正在尝试在我的项目中使用新的调试可视化工具 但 Visual Studio 发生了一些问题 它不再获取我的 natvis 文件 我尝试将它们复制到 USERPROFILE My Documents Visual Studio 2012 V
  • 错误请求 - 无效主机名 IIS7

    当我尝试在端口 8080 上访问我的网络应用程序时 出现以下错误 错误请求 无效主机名HTTP 错误 400 请求主机名无效 我什至不知道从哪里开始诊断这个问题 你检查一下绑定的是IIS吗 inetmgr exe 可能无法注册以接受 808
  • 在backbone.js 中缓存集合?

    确保我的集合保持缓存并仅获取一次的最佳方法是什么 我应该实现某种缓存层吗 我应该分享Collection变量到需要的地方 我可以信任 jQuery 的 AJAX 设置吗 ajaxSetup cache true 现在看起来的基本集合 the
  • 剪贴板大小限制

    复制到剪贴板的数据大小是否有限制 我正在使用 VB6 需要将数据块复制到剪贴板 应用程序调用GlobalAlloc GMEM MOVEABLE or GMEM DDESHARE 为要存储在剪贴板上的数据分配内存并使其可供其他应用程序使用 对
  • 如何在 R 中使用 dplyr “在事件之前”创建条件虚拟对象?

    我正在尝试使用规则创建条件虚拟 X 如果 NA 之前的最后两年 Y 1 则设置 X 1 仅计算一次 举个例子 这是我的数据中的一个样本 year country Y 1990 Bahamas 1 1991 Bahamas NA 1992 B
  • 如何在 WPF 中为用户控件创建用户定义(新)事件?一个小例子

    我有一个UserControl我正在其中使用Canvas 并在该画布中创建一个矩形 我想为该用户控件 画布和矩形 创建一个单击事件 然后我想在主窗口中使用它 问题是 我想为UserControl 怎么做 请展示一些例子或代码 A brief
  • 如果 vbs 脚本崩溃,请重新启动它

    我正在尝试制作一个 vb 脚本 如果它崩溃 它将重新启动另一个 vb 脚本 我搜索了又搜索 但我得到的只是如何重新启动程序 并且由于 vb 脚本是后台进程 因此当您在 Win32 Process 中搜索时它不起作用 这是我的代码 set S