.bat通过递归函数拷贝文件夹
时间: 2023-11-09 07:04:40 浏览: 61
递归加拷贝文件
可以使用以下代码实现通过递归函数拷贝文件夹:
```
@echo off
set source_folder=C:\path\to\source\folder
set dest_folder=C:\path\to\destination\folder
call :copy_folder "%source_folder%" "%dest_folder%"
echo Folder copied successfully!
goto :eof
:copy_folder
setlocal
set source=%~1
set dest=%~2
if not exist "%dest%" mkdir "%dest%"
for /f "delims=" %%f in ('dir /b "%source%"') do (
set current_source=%source%\%%f
set current_dest=%dest%\%%f
if not exist "%current_dest%" if not exist "%current_source%\*" (
copy "%current_source%" "%current_dest%"
) else (
call :copy_folder "%current_source%" "%current_dest%"
)
)
endlocal
goto :eof
```
将 `source_folder` 和 `dest_folder` 设置为要拷贝的源文件夹和目标文件夹的路径。然后,调用 `:copy_folder` 子例程来递归地拷贝源文件夹中的所有文件和子文件夹到目标文件夹中。如果目标文件夹不存在,则先创建它。如果当前文件是文件夹,则递归调用 `:copy_folder` 子例程。否则,将当前文件复制到目标文件夹中。
阅读全文