常用批处理代码段

常用批处理代码段

监测程序是否运行并自动启动

@echo off

set APPName=unity.exe
set APPPath=C:\Progra~1\Unity5.6.4p3\Editor\

:startapp
    tasklist|findstr /i %APPName% > nul

    if %errorlevel% == 0 (
        echo ^>%date:~0,10% %time:~0,8% "程序正在运行中..."
    ) else (
        echo ^>%date:~0,10% %time:~0,8% "程序未运行..."
        start %APPPath%%AppName% 2>nul && echo ^>%date:~0,10% %time:~0,8% "程序启动成功..."
    )
    rem 等待5秒
    for /l %%i in (1,1,5) do (
        ping -n 1 -w 1000 125.0.0.1>nul
    )
    goto startapp

打开资源管理器并选中某个文件

@echo off

set dir=D:\Test
if not exist %dir%\%1.xlsx (
    echo No Such File
    pause
    exit
)
svn revert %dir%\%1.xlsx
svn up %dir%\%1.xlsx
rem important!
explorer /select,%dir%\%1.xlsx

自动获取管理员权限

>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" )

查找应该安装路径

@echo off
set /p dn=请输入安装程序名称关键字(例如:QQ):

set rp=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
for /f "tokens=*" %%a in ('reg query "%rp%"') do (
     for /f "tokens=*" %%l in ('reg query "%rp%\%%~na" /v "DisplayName" ^|findstr /i "%dn%"') do (
          call :show %%~na
     )
)

:show
cls
for /f "tokens=1,2 delims=:" %%b in ('reg query "%rp%\%1" /v "InstallLocation" ^|findstr /i "InstallLocation"') do (
    echo %%b
    echo %%c
)

pause

获取用户名

echo %username%

常见cpl文件

当您启动控制面板时,将自动加载 Windows\System32 文件夹中的 .cpl 文件

文件名 用途
Access.cpl “辅助功能”属性
Appwiz.cpl “添加/删除程序”属性
Desk.cpl “显示”属性
Hdwwiz.cpl “添加硬件”属性
Inetcpl.cpl Internet 属性
Intl.cpl “区域设置”属性
Irprops.cpl “红外端口”属性
Joy.cpl “游戏杆”属性
Main.cpl “鼠标”属性
Mmsys.cpl “多媒体”属性
Ncpa.cpl “网络连接”属性
Nusrmgr.cpl “用户帐户”属性
Nwc.cpl Gateway Services for NetWare 属性
Odbccp32.cpl “开放式数据库连接 (ODBC) 数据源管理器”属性
Powercfg.cpl “电源选项”属性
Sapi.cpl “语音”属性
Sysdm.cpl “系统”属性
Telephon.cpl “电话和调制解调器选项”属性
Timedate.cpl “时间和日期”属性

路径扩展

@echo off
rem 1.获取批处理自身的完整路径
echo %0
rem 2.获取批处理自身的完整路径,并去掉首尾的引号
echo %~0
rem 3.获取批处理自身的文件名和后缀名
echo %~nx0
rem 4.获取批处理自身的文件名
echo %~n0
rem 5.获取批处理自身的后缀名
echo %~x0
rem 6.获取批处理自身的完整路径,不含文件名
echo %~dp0
rem 7.获取批处理自身的盘符
echo %~d0
rem 8.获取批处理自身的大小
echo %~z0
rem 9.获取批处理自身的修改时间
echo %~t0
pause
Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022 Mr.Yao
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信