这个批处理 分为两段 第一段调用第二段
第一段
@echo off
rem 获取当前文件夹中所有文件
dir /ad /b >ALLFILENAME.txt
for /f "tokens=*" %%i in (ALLFILENAME.txt) do (
call changename_copyfile.bat %%i
pause
)
::ad是只要文件夹 %~ni 文件名
::for 循环多少次,取决于in里边有多少个
第二段
@echo off
rem 目前形参只要输入一个文件名就可以实现文件的复制
set filename=%1
set newname=
echo %filename%
@for /f "delims=_" %%i in ("%filename%") do (set "newname=%%i")
::将以_裁剪后的变量复制到新的变量里边
mkdir C:\Users\Administrator\Desktop\BAT\JK3\%newname%
::将当前文件夹名改动后 用新的变量创建新文件夹 到指定目录内
rem 显示当前文件夹名称
::echo %filename% filename
::echo %newname% newname
rem 挪动src和include文件
IF NOT EXIST "C:\Users\Administrator\Desktop\BAT\JK1\%filename%\src\" (
echo SRC源文件夹不存在
pause
GOTO END1
)
xcopy C:\Users\Administrator\Desktop\BAT\JK1\%filename%\src C:\Users\Administrator\Desktop\BAT\JK3\%newname%\src\ /d /s /f /h
:END1
IF NOT EXIST "C:\Users\Administrator\Desktop\BAT\JK1\%filename%\include\" (
echo include源文件夹不存在
pause
GOTO END
)
xcopy C:\Users\Administrator\Desktop\BAT\JK1\%filename%\include C:\Users\Administrator\Desktop\BAT\JK3\%newname%\include\ /d /s /f /h
:END
效果