Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 修复vbs以启动隐藏系统文件检查器_Windows_Vbscript_Cmd - Fatal编程技术网

Windows 修复vbs以启动隐藏系统文件检查器

Windows 修复vbs以启动隐藏系统文件检查器,windows,vbscript,cmd,Windows,Vbscript,Cmd,我有这个vbs(脚本的一部分是由提供的)来启动sfc.exe来修复系统文件,但是我需要添加一些功能,例如消息,我需要在运行sfc.exe时,显示一条消息“wait”(隐藏sfc.exe窗口),并在程序结束时,退出最后一条消息,但脚本工作不正常(sfc.exe无法隐藏窗口并在结束前显示最终消息) 注意:运行隐藏的sfc.exe时缺少“等待”部分 谢谢要隐藏控制台,您应该这样写: 将False更改为True以等待过程完成,将值1更改为0以隐藏控制台 Execution = ws.run(MyComm

我有这个vbs(脚本的一部分是由提供的)来启动sfc.exe来修复系统文件,但是我需要添加一些功能,例如消息,我需要在运行sfc.exe时,显示一条消息“wait”(隐藏sfc.exe窗口),并在程序结束时,退出最后一条消息,但脚本工作不正常(sfc.exe无法隐藏窗口并在结束前显示最终消息)

注意:运行隐藏的sfc.exe时缺少“等待”部分


谢谢

要隐藏控制台,您应该这样写:

False
更改为
True
以等待过程完成,将值
1
更改为
0
以隐藏控制台

Execution = ws.run(MyCommand,0,True)
您的代码应该如下所示:

Option Explicit
' Run as Admin
If Not WScript.Arguments.Named.Exists("elevate") Then
    CreateObject("Shell.Application").ShellExecute WScript.FullName _
    , WScript.ScriptFullName & " /elevate", "", "runas", 1
    WScript.Quit
End If
Dim ws,MyCommand,Execution,Question
Question = MSGBOX ("Did you want to start the System File Checker ?", vbOKCancel+vbQuestion, "System File Checker")
If Question = vbOK Then
    Set ws = createobject("wscript.shell")
    MyCommand = "%windir%\system32\SFC.exe /SCANNOW"
    Execution = ws.run(MyCommand,0,True)
    If Execution = 0 Then
        Call MSGBOX ("System File Checker has finished", VBOKONLY, "System File Checker")
    Else
        Call MSGBOX ("System File Checker has been canceled", VBOKONLY, "System File Checker")
        Wscript.quit(1)
    End If
Else 
    Call MSGBOX ("System File Checker has been canceled", VBOKONLY, "System File Checker")
    Wscript.quit(1)
End If

如果有疑问,请阅读.you试图用这一行做什么
objshell.run NewPath,vbhide
没有对objshell或NewPath的引用,并且这
Execution=ws.run(MyCommand,1,False)
没有等待返回-因此它完全按照您的要求执行。非常好的hackoo,但缺少“等待…”部分在运行隐藏的sfc时
Option Explicit
' Run as Admin
If Not WScript.Arguments.Named.Exists("elevate") Then
    CreateObject("Shell.Application").ShellExecute WScript.FullName _
    , WScript.ScriptFullName & " /elevate", "", "runas", 1
    WScript.Quit
End If
Dim ws,MyCommand,Execution,Question
Question = MSGBOX ("Did you want to start the System File Checker ?", vbOKCancel+vbQuestion, "System File Checker")
If Question = vbOK Then
    Set ws = createobject("wscript.shell")
    MyCommand = "%windir%\system32\SFC.exe /SCANNOW"
    Execution = ws.run(MyCommand,0,True)
    If Execution = 0 Then
        Call MSGBOX ("System File Checker has finished", VBOKONLY, "System File Checker")
    Else
        Call MSGBOX ("System File Checker has been canceled", VBOKONLY, "System File Checker")
        Wscript.quit(1)
    End If
Else 
    Call MSGBOX ("System File Checker has been canceled", VBOKONLY, "System File Checker")
    Wscript.quit(1)
End If