遍历各盘符,搜索是否安装某软件exe(某文件是否存在)

1 篇文章 0 订阅
1 篇文章 0 订阅

遍历各盘符,搜索时候安装某软件exe(某文件是否存在)

bat遍历各盘符,搜索是否安装某软件exe

eg.查找unity.exe的安装目录

知识点:

  1. %ProgramFiles%,默认环境变量,默认c盘的安装目录,值C:\Program Files(由于c判断文件目录过多,只搜索默认安装目录)
  2. 借助dir罗列所有的文件
  3. 借助Wmic Logicaldisk Where “DriveType=3” Get Name获取各个盘符,跳过前两行(第一行为默认信息,第二行为c盘)
  4. 补充:由于存在32位机器情况,在将脚本打包到exe时,或某些情况,可能会将%ProgramFiles%识别为C:\Program Files (x86),所以还是建议直接写死目录
set exe_name=unity.exe

rem 搜索c盘的安装目录
echo 在%ProgramFiles%中搜索%exe_name%
for /f "tokens=*" %%i in ('dir /a/b/s/on "%ProgramFiles%\*%exe_name%"') do (
   echo 搜索结果 "%%i"
   SET unity_path=%%i
)

rem 直接写死c盘的两个路径
@REM echo 在C:\Program Files (x86)中搜索%exe_name%
@REM for /f "tokens=*" %%i in ('dir /a/b/s/on "C:\Program Files (x86)\*%exe_name%"') do (
@REM    echo 搜索结果 "%%i"
@REM    SET unity_path=%%i
@REM    goto :eof
@REM )
@REM 
@REM echo 在C:\Program Files中搜索%exe_name%
@REM for /f "tokens=*" %%i in ('dir /a/b/s/on "C:\Program Files\*%exe_name%"') do (
@REM    echo 搜索结果 "%%i"
@REM    SET unity_path=%%i
@REM    goto :eof
@REM )


rem 搜索其他盘
for /F "Skip=2" %%d in ('Wmic Logicaldisk Where "DriveType=3" Get Name') do (
   echo 在%%d中搜索%exe_name%

   for /f "tokens=*" %%i in ('dir /a/b/s/on "%%d\*%exe_name%"') do (
      echo 搜索结果 "%%i"
      SET unity_path=%%i
   )
)

echo %unity_path%
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜会美丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值