0
点赞
收藏
分享

微信扫一扫

批处理相关案例总结


1 工具类

1.1 获取管理员权限

放到文件开头即可。

1、方法一

@ echo off

rem ======获取管理员权限========
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
rem ======获取管理员权限 over========

echo 666

pause

2、方法二

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

方法三

%1 mshta vbscript:CreateObject(“Shell.Application”).ShellExecute(“cmd.exe”,"/c %~s0 ::","",“runas”,1)(window.close)&&exit

方法四

@ echo off

rem ======获取管理员权限========
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )

rem ======获取管理员权限 over========

echo 666
echo 当前运行路径是:%CD%
echo 已获取管理员权限

pause

五、命令行CMD批处理自动以管理员身份运行的正确方法(修正了路径有空格时的问题)

无参数:

%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

一个参数

%2 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" "^&chr(34)^&"%~1"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit

2 案例类

2.1 读取txt

name,age,score
tom,28,95
charles,32,99

逐行读取txt文本内容,并且用​​,​​分割,然后放到变量中

@echo off

setlocal
for /f "tokens=1-3 delims=," %%i in (test.txt) do (
%%i
rem set age=%%j
rem set score=%%k
rem echo 姓名=%name% 年龄=%age% 分数=%score%
echo 姓名=%%i,%%j,%%k
)
pause


举报

相关推荐

0 条评论