有一个文件夹,名称为“能散3%”,将该文件夹复制为多个文件夹,目标名称为“能散4%”、“能散7%”、“能散11%”等,如何批量完成
bat
@echo off
setlocal enabledelayedexpansion
:: 设置原始文件夹名称set “srcFolder=能散3%”
:: 设置目标文件夹名称的模式和起始值set “destPrefix=能散”
set “startValue=4”
set “endValue=11”
set “stepValue=3”
:: 循环复制并重命名文件夹for /l %%i in (%startValue%, %stepValue%, %endValue%) do (
set “destFolder=%destPrefix%%%i%%”
xcopy /E /I “%srcFolder%” “%destFolder%”
echo Copied “%srcFolder%” to “%destFolder%”
)
echo Done.endlocal
使用说明:
- 将上述代码保存为
.bat
文件,例如copy_folders.bat
。 - 将该
.bat
文件放在包含“能散3%”文件夹的目录中。 - 双击运行该
.bat
文件,它将自动复制并重命名文件夹。
脚本解释:
@echo off
:关闭命令的回显。setlocal enabledelayedexpansion
:启用延迟变量扩展,允许在for
循环中使用变量。srcFolder
:设置原始文件夹的名称。destPrefix
:设置目标文件夹名称的前缀。startValue
、endValue
和stepValue
:设置循环的起始值、结束值和步长。for /l %%i in (%startValue%, %stepValue%, %endValue%) do
:开始循环,从startValue
开始,每次增加stepValue
,直到endValue
。xcopy /E /I "%srcFolder%" "%destFolder%"
:使用xcopy
命令复制文件夹及其内容。/E
参数表示复制子文件夹和文件,/I
参数表示如果目标不存在,则将其视为目录。echo Copied "%srcFolder%" to "%destFolder%"
:显示复制的文件夹名称。