【问题标题】:how to debug vbscript ShellExecute如何调试 vbscript ShellExecute
【发布时间】:2013-01-15 17:11:12
【问题描述】:

我有一个小的 vbs 脚本:

Set UAC = CreateObject("Shell.Application")
UAC.ShellExecute "C:\bin\addtopath.bat",  chr(34) & "C:\bin" & chr(34), "", "runas", 1

C:\bin\addtopath.bat 存在,我从this question 获得了一些想法。这里发生的是cmd 打开并立即关闭,我无法识别它所说的内容。我怎么知道出了什么问题?

C:\bin\addtopath.bat:

pause
echo %1
pause
:: BatchGotAdmin
:-------------------------------------
REM  --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"

REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
    echo Requesting administrative privileges...
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0",  chr(34) ^& %1 ^& chr(34), "", "runas", 1 >> "%temp%\getadmin.vbs"
    pause
    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"
:--------------------------------------
echo %1
pause
setenv -a PATH %1

pause

【问题讨论】:

    标签: windows vbscript runas


    【解决方案1】:

    你在调用什么批处理文件?为什么不直接在 VBSCRIPT 中做所有事情?

    可以使用调试器通过使用 /D /X 参数来调试您的 vbscript

        cscript /d /x file.vbs
        wscript /d /x file.vbs
    

    调试批处理文件是一场噩梦。以下是调试批处理文件的一些帮助: http://www.robvanderwoude.com/battech_debugging.php

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多