bat如何递归遍历文件夹并判断是该文件夹下是否包含指定后缀文件
时间: 2023-11-28 08:50:35 浏览: 224
在 Windows 操作系统下,可以使用以下的 BAT 脚本来递归遍历文件夹并判断是否包含指定后缀的文件:
```
@echo off
setlocal enabledelayedexpansion
set "folder=%1"
set "extension=%2"
if not defined folder (
set /p folder=请输入要遍历的文件夹路径:
)
if not defined extension (
set /p extension=请输入要查找的后缀名:
)
echo 正在遍历 %folder% 文件夹下的 %extension% 文件…
for /r "%folder%" %%i in (*.%extension%) do (
set "file=%%~nxi"
echo 找到了:!file!
)
echo 遍历完成。
```
脚本中,`set "folder=%1"` 和 `set "extension=%2"` 表示从命令行参数中获取要遍历的文件夹和要查找的后缀名。如果用户没有指定这些参数,则会通过 `set /p` 命令提示用户输入。
`for /r` 命令可以递归遍历指定文件夹下的所有文件和子文件夹。`%%i` 表示当前遍历到的文件路径,`%%~nxi` 表示去掉路径的文件名和后缀名。通过判断 `%%~nxi` 是否以指定后缀名结尾,即可确定是否是要查找的文件。
在命令提示符中执行脚本时,可以输入以下命令:
```
findfiles.bat "C:\path\to\folder" "txt"
```
其中,第一个参数表示要遍历的文件夹路径,第二个参数表示要查找的后缀名。如果省略参数,则会提示用户输入。
阅读全文