我正在尝试利用if exist控制语句来搜索整个文件系统以查找文件。
@echo off
echo Enter a file name......
set /P file=
set searchPath=C:\
set findit=%searchPath% and %file%
IF EXIST C:\*%%findit%% (
echo file exist
)else (
echo file does not exist
)
但是,如果我搜索确实存在的文件,我仍然会得到不存在该文件的相同搜索结果。
我在做什么错了?
答案 0 :(得分:0)
您可以使用Where /R "[dir]" /Q "Pattern"
这使您可以搜索目录路径并返回所有匹配的文件。
IF Exist
检查无法检查文件全局
但是您还需要解决的是,此行findit=%searchPath% and %file%
的设置%Findit%
等于字符串"findit=C:\ and %file%"
这里是一个清理后的版本,似乎正是您想要的版本:
@echo off
echo
set /P "_File=Enter a file name......"
set "_SearchPath=C:\"
(
Where /R "%_SearchPath%" /Q "%_File%" && (
ECHO.File %_File% Exists!
)
) || (
ECHO.File %_File% Does Not Exist!
)