这样的贴子,我记得我以前发过,但是现在好象找不到了,而且,以前的那个代码不够精练,呵呵,现在的这个就"短小"很多了。。。。
其实,这原理很简单.....嘿嘿-
- @ECHO OFF
- SETLOCAL ENABLEDELAYEDEXPANSION
- IF "%1"# == ""# EXIT /B
- IF "%1" == "/?" GOTO :HELP
- IF NOT EXIST %1 ECHO.系统找不到指定的文件,任意键退出.&PAUSE>NUL&EXIT /B
- SET FUNCTION_C#1=WMIC PATH WIN32_SERVICE #1 CALL
- FOR /F "USEBACKQ SKIP=5 TOKENS=2 DELIMS=*=;" %%A IN (
- `"%FUNCTION_C#1:#1=% CREATE NAME='TEMP_SERVICE' DISPLAYNAME='TEMP_SERVICE' PATHNAME='CMD /K START "" %1' ERRORCONTROL='0' DESKTOPINTERACT='%2' &
- %FUNCTION_C#1:#1=WHERE ^(NAME^='TEMP_SERVICE'^)% STARTSERVICE ^&
- %FUNCTION_C#1:#1=WHERE ^(NAME^='TEMP_SERVICE'^)% DELETE"`
- ) DO (
- SET /A TEMPORARY+=1
- IF "!TEMPORARY!" == "1" IF "%%A" == " 0" (ECHO.命令成功完成.) ELSE (ECHO.错误...%%A,命令执行失败.)
- IF "!TEMPORARY!" == "3" IF "%%A" == " 7" (ECHO.命令成功完成.) ELSE (ECHO.错误...%%A,命令执行失败.)
- IF "!TEMPORARY!" == "5" IF "%%A" == " 0" (ECHO.命令成功完成.) ELSE (ECHO.错误...%%A,命令执行失败.)
- )
- EXIT /B
- :HELP
- CLS
- ECHO.
- ECHO. 作者:lxzzr E-mail:lxzzr@21cn.com 2010/02/11/00:30
- ECHO.
- ECHO. 说明:
- ECHO. 这是一个可以将任何可执行文件(包括批处理)以系统权限运行的脚本,如果指定了参数 '-1' 则与用户交互.
- ECHO.
- ECHO. 格式: %~n0 [drive:][path][filename] -1(可选)
- ECHO.
- ECHO.
- EXIT /B
复制代码
|