我写了这样一段代码,用来全盘扫描Yua.exe这个文件,如果找到了那么显示它的具体路径,如果没找到那么显示aaa三个字,但是现在发现无论如何都无法显示aaa,明明没有找到这个文件。代码如下,我试过两种方案,都不行。分别是- @echo off
- rem 指定待搜索的文件
- set "FileName=Yua.exe"
- 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:\ (
- for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
- if /i "%%~nxb" equ "%FileName%" (
- echo %%b
- set a=%%b
- if "%a%" equ "" echo aaa
- )
- )
- )
- )
- pause
复制代码 和- @echo off
- rem 指定待搜索的文件
- set "FileName=Yua.exe"
- 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:\ (
- for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
- if /i "%%~nxb" equ "%FileName%" (
- echo %%b
- set a=%%b
- if not defined %a% echo aaa
- )
- )
- )
- )
- pause
复制代码 就算直接判断%%b是否为空,也不行。怎么办? |