[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
未测试:
  1. @echo off
  2. set FFName="福昕PDF转WORD软件[^\\]*"
  3. set DriveLetters=d e f g h i j k l m n o p q r s t u v w x y z
  4. for %%i in (%DriveLetters%) do (
  5.     if exist "%%i:" (
  6.         pushd "%%i:"
  7.         dir /b /s | findstr /e %FFName%
  8.         popd
  9.     )
  10. )
  11. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2021-10-20 15:14 编辑

回复 8# swanseabrian
非通配符。
批处理findstr中的一般表达式姑且叫做蹩脚的正则表达式,和正常的正则相比功能上少了很多。
[^\\]表示非反斜杠字符,[^\\]*表示非反斜杠字符可出现0到若干次,结合/e表示要筛选最后面的字符是“福昕PDF转WORD软件+若干非反斜杠字符”的字符串。
在这里加不加/r均可表示使用一般表达式,最好养成加上/r的习惯。
1

评分人数

TOP

12楼的解法效率更高,按照12楼思路代码修改如下:
  1. @echo off
  2. set FFName="*福昕PDF转WORD软件*"
  3. set DriveLetters=d e f g h i j k l m n o p q r s t u v w x y z
  4. for %%i in (%DriveLetters%) do (
  5.     if exist "%%i:" (
  6.         pushd "%%i:"
  7.         dir /b /s %FFName%
  8.         popd
  9.     )
  10. )
  11. pause
复制代码

TOP

返回列表