刚学批处理,今天在论坛上看到一个贴子,有两句没看懂,求大神讲解下 %%~和dir /a-d /s /b "%%a:\*%FileName%" 2^>nul 不是很明白
其一%%b不是就可以直接引用参数b了,为什么还要加上~nx
其二 dir /a-d 这个参数是什么意思。 dir /?中没看到 后面接 %%a:\*%FileName%" 2 这个 * 和后面2 是什么意思。 整句有点不明白。
原帖子内容如下:- @echo off
- rem 指定待搜索的文件
- set "FileName=log.txt"
- echo 正在搜索,请稍候...
- for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- if exist %%a:\nul (
- for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
- if /i "%%~nxb" equ "%FileName%" (
- echo.%%b
- )
- )
- )
- )
- pause
复制代码
|