有勇气的牛排博客

批处理相关案例总结

有勇气的牛排 383 Windows 2023-05-17 23:10:29

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

留言

专栏
文章
加入群聊