Board logo

标题: [文件操作] 批处理如何定位包含特殊字符的文件夹内的文件 [打印本页]

作者: 5i365    时间: 2021-10-28 08:44     标题: 批处理如何定位包含特殊字符的文件夹内的文件

我需要在 C:\ProgramData 文件夹及其子文件夹下搜索一个名为 Automa.exe 的文件

使用代码 dir /b /s "C:\ProgramData\"|findstr /i "Automa.exe"
可以得到最下面的两个结果, 但是我只需要{9BC913EF-D564-4B5C-B234-C4F218671CFE}文件夹下的那个文件, 且文件夹名的花括号内的值也是不固定的


使用下面的代码, 却只回显了第二个文件的名字, 请高手支招一下, 这个带有{}的文件夹, 应该怎样定位, 非常感谢


for /f "delims=" %%i in ('dir /b /s C:\ProgramData^|findstr /i "Automa.exe"') do (set "waexe=%%~fi")
echo %waexe%

最后期待的结果是, 回显 C:\ProgramData\{9BC913EF-D564-4B5C-B234-C4F218671CFE}\Automa.exe

------------------------------------------
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>dir /b /s "C:\ProgramData\"|findstr /i "Automa.exe"
C:\ProgramData\{9BC913EF-D564-4B5C-B234-C4F218671CFE}\Automa.exe
C:\ProgramData\~0\Automa.exe
-----------------------------------------
作者: qixiaobin0715    时间: 2021-10-28 09:00

  1. cd /d "C:\ProgramData"
  2. dir /b /s /a-d|findstr /ei "{.*}\\Automa.exe"
复制代码

作者: 5i365    时间: 2021-10-28 09:19

本帖最后由 5i365 于 2021-10-28 09:20 编辑

回复 2# qixiaobin0715


    感谢帮忙, 药到病除!
能解释一下, /ei 参数什么意思吗? 没查到
作者: qixiaobin0715    时间: 2021-10-28 09:23

findstr /i /e




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2