就像标题所说,我想知道如何在Windows批处理脚本中使用for
循环在指定目录中搜索指定文件。我无法使用任何第三方软件。
这是我现在所拥有的:
for /R "%loc%" %%f in ("%searchterm%") do (
echo %%f
echo %%f>> "%genloc%wefound.txt"
)
%loc%
是应该搜索的位置。
%searchterm%
是脚本搜索的文件(例如" hello.txt")。
它必须在屏幕上输出找到的任何文件(包括它们的完整路径)并进入wefound.txt。
如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:1)
for /f "delims=" %%f in ('dir /s /b /a-d "%loc%\%searchterm%"') do (
echo %%f
echo %%f>> "%genloc%wefound.txt"
)
要使for /r
命令以递归方式枚举起始点下的文件,文件集必须包含一些通配符(*
或?
)。如您所知,确切的文件名,让dir
命令执行搜索文件的工作。
答案 1 :(得分:0)
for /R "%loc%" %%f in ("%searchterm%") do (
echo %%~Ff
echo %%~Ff>> "%genloc%wefound.txt"
)
有关详细信息,请键入:FOR /?
答案 2 :(得分:0)
为什么用FOR复杂化?您只需要DIR命令:
dir /s /b /a-d "%loc%\%searchterm%>"%genloc%wefound.txt"&type "%genloc%wefound.txt"
如果您可以使用tee命令的Windows端口(有许多免费版本可用),解决方案会更好。你可以使用我的混合JScript/batch implementation of tee
dir /s /b /a-d "%loc%\%searchterm%"|tee "%genloc%wefound.txt"