批处理 搜索目录并且保存为变量

通过搜索特定的文件名找到Office的安装路径,并且保存为变量,对路径再进行字符截取操作,得到想要的路径地址,这种方式适合用来制作自动激活等处理

@echo off
REM 声明采用 936 简体中文编码GBK
chcp 936>nul
title=查看Office安装路径

rem 设置搜索文件为:OSPP.VBS
set "FileName=OSPP.VBS"

echo. 正在搜索,请稍候...
echo.
echo.
rem 搜索的盘符为三个盘:in (C D E)
for %%a in (C D E) do (
  if exist %%a:\ (
    for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
      if /i "%%~nxb" equ "%FileName%" (
           echo 文件完整路径为 %%b
        set FilePath=%%b
      )
    )
  )
)

echo.
echo.
rem :~0,-8 表示截取第一个到倒数第8个字符,就是去掉路径最后面的 OSPP.VBS
echo 相对路径为:%FilePath:~0,-8%

rem :~0,-8 表示截取第一个到倒数第9个字符,就是去掉路径最后面的 \OSPP.VBS
SET OfficePath=%FilePath:~0,-9%
echo Office安装路径为:%OfficePath%

echo.
echo.
pause

猜你喜欢

转载自blog.csdn.net/edsoki/article/details/128742125