Windows 如何制作一个批处理脚本,在c中递归地查找文件.bat?
我是批处理脚本的新手,我正在尝试学习如何创建一个可以递归地遍历文件夹的脚本,如果创建了脚本,请给出路径,如果不回显简单的消息。 我从这里开始:Windows 如何制作一个批处理脚本,在c中递归地查找文件.bat?,windows,batch-file,Windows,Batch File,我是批处理脚本的新手,我正在尝试学习如何创建一个可以递归地遍历文件夹的脚本,如果创建了脚本,请给出路径,如果不回显简单的消息。 我从这里开始: @echo关闭 对于/f%%f in('dir bucle.bat/s/b'),执行@echo%f%~tf 暂停 出口 但是我有点卡住了。试试: @echo off for /f %%f in ('dir bucle.bat /s/b') do @echo %%f %%~tf pause exit 要仅回显路径,请执行以下操作: @echo of
@echo关闭
对于/f%%f in('dir bucle.bat/s/b'),执行@echo%f%~tf
暂停
出口
但是我有点卡住了。试试:
@echo off
for /f %%f in ('dir bucle.bat /s/b') do @echo %%f %%~tf
pause
exit
要仅回显路径,请执行以下操作:
@echo off
for /f %%f in ('dir bucle.bat /s/b') do @echo %%f
pause
exit
您还可以使用where
命令:最后的
exit
命令是不必要的…注意:您的所有代码都与此相同:
dir bucle.bat/S/b
您正在使用
for
命令来处理dir
命令的输出。只是为了找到文件,你不需要所有这些。简化
dir c:\bucle.bat /s /b
这将搜索文件,找到时显示完整路径,如果未找到,将回显错误消息。
↑代码>表示原始代码中缺少的元素:
@echo off
for /f "delims=" %%f in ('dir bucle.bat /s/b') do @echo %%f %%~tf
rem ↑↑↑↑↑↑↑↑↑ ↑↑ ↑↑
pause
“delims=“
”要正确处理带有空格的路径
%%f
-循环变量
您可以指定递归搜索的起始目录:
for /f "delims=" %%f in ('dir C:\myfolder\bucle.bat /s/b') do @echo %%f %%~tf
甚至
for /f "delims=" %%f in ('dir C:\bucle.bat /s/b') do @echo %%f %%~tf
将给出文件的“上次修改”日期/时间。在你的帖子里你说你只需要路径。是否还需要文件的“上次修改”日期/时间属性?