bat提取所有目录下指定后缀文件复制到指定文件夹
时间: 2024-10-24 22:06:58 浏览: 51
★提取所在文件夹文件名+后缀TXT列表★.bat
在Windows批处理(BAT)脚本中,你可以通过`for /r`命令递归搜索指定目录及其子目录,并利用`dir`命令筛选出特定后缀的文件,然后使用`copy`命令将它们复制到目标文件夹。这里是一个基本的例子:
```bat
@echo off
setlocal enabledelayedexpansion
:: 设置源目录、目标目录和文件后缀
set src_dir=C:\source\directory
set dest_dir=C:\destination\folder
set file_ext=".txt" :: 更改为你需要的文件后缀
:: 使用for /r命令查找指定目录下的指定后缀文件
for /r %src_dir% %%f in (*.%file_ext%) do (
set file_path=%%f
:: 将文件路径转换为完整的目标路径
set target_file=%dest_dir%\!file_path:~(%src_dir%.len()!,)!
echo Copying !file_path! to !target_file!
rem 这里可以添加实际的复制操作,如果需要跳过确认,替换下面两行
copy "!file_path!" "!target_file!"
)
rem 如果有错误,这里可以追加错误日志处理或其他逻辑
endlocal
```
这个脚本会遍历`src_dir`中的所有`.txt`文件,并尝试复制到`dest_dir`内相应的位置。`enabledelayedexpansion`用于在循环内部修改变量值,`~()`用于字符串裁剪。
注意:在实际运行批量文件前,记得检查其权限,特别是复制文件时,可能会因为权限不足导致失败。另外,批处理命令行不支持直接处理用户交互,所以这里的确认复制操作仅显示了消息。
阅读全文