bat 脚本片段收藏
编辑
55
2024-01-29
此文章记录下经常用到的 bat 脚本片段,以备不时之需
隐藏CMD窗口运行脚本
将此片段加入bat脚本头部,cmd会在启动时闪烁一下随即隐藏运行
:: 隐藏当前窗口
if "%1"=="hide" goto CmdBegin
start mshta vbscript:createobject("wscript.shell").run("""%~0"" hide",0)(window.close)&&exit
:CmdBegin
自动申请管理员权限
一下片段会自动检测当前窗口是否有管理员权限,有则直接跳转至 run 部分继续执行,没有则主动申请管理员权限并重新运行当前脚本
@echo off
setlocal
:: 检查权限
net session >nul 2>&1
if %errorLevel% == 0 (
goto :run
)
:: 尝试以管理员权限重启脚本
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:run
:: 获取到管理员权限后运行此处代码
启动当前目录下的exe程序并携带参数
这里主要记录是 start 命令启动程序时,程序参数必须使用双引号
start /b "自定义命令标题" "%~dp0\xxx.exe" "参数1" "参数1" "参数n" >%~dp0\xxx.log
setlocal 是什么
setlocal
命令用于开始批处理文件的局部化操作。它允许您在该命令之后的批处理脚本中设置环境变量,而不会影响调用该批处理脚本的外部环境。当批处理脚本执行到endlocal
命令时,任何在该脚本中设置的环境变量都会被还原,从而保持原始环境不变。
- 0
- 0
-
赞助
支付宝微信 -
分享