最近看到公司工程打包很是麻烦,提取文件\分类\压缩\打包 一大堆. 计算了一下得整整一分三十秒. 我司打包文件的框架如下:
(涉及到公司的一些东西,此处用其他名称代替相关目录名称)
注:因本人没学过这个,下列都是自个儿结合百度摸索的方法,有不对不正确的地方请指正。避免误人子弟
下面罗列了关键的几个步骤:
1、现将起止标记写好
@echo off
pause
2、AABBCC_release文件夹 重命名为AABBCC:
//搜索关键字release的关键字文件夹,
for /d %%i in (*release.*) do (
set temp=%%i
echo %temp%
)
//截掉后8位字符重命名文件夹,
for /d %%i in (*release*) do ren "%%i" "%temp:~0,-8%"
3、将子文件中的指定.lod 和.def文件提取到上级菜单
for /f %%a in ('dir /ad/b') do (
pushd "%%a"
xcopy /yh *.lod ..\
xcopy /yh ipo_mmi.def ..\
xcopy /yh ipo.def ..\
popd
)
4、AABBCC文件夹压缩为debug.rar(AABBCC 可视作文件夹名称上的关键字提取)
for /d %%i in (*AABBCC*.*) do RAR a -r -ep1 "debug.rar" %%i
5、带target关键字的压缩为同名压缩包
for /d %%i in (*target*.* ) do RAR m -r -ep1 "%%i.rar" %%i
6、删除AABBCC文件夹里面的所有子文件,保留文件夹
for /d %%i in (*AABBCC*.*) do del /a/f/q %%i
7、拷贝文件到含有AABBCC标记的文件里
for /d %%i in (*AABBCC*.*) do xcopy ipo_mmi.def %%i /y
for /d %%i in (*AABBCC*.*) do xcopy ipo.def %%i /y
for /d %%i in (*AABBCC*.*) do xcopy debug.rar %%i /y
8、截取掉后几位字符并重命名.lod文件 (去掉_release_flash字符)
for %%i in (*.lod) do (
set a=%%i
ren %a:~0% %a:~0,-19%.lod
)
echo %a:~-4%
if %a:~-4% == .lod (
echo %a%
ren %a% %a:~0,-18%.lod
) else (
echo "error..."
)
9、将.lod和任意表格压缩为到同名.rar,
for /f "delims=" %%i in ('dir /b /a:a *.lod *.xlsx *.xls *.doc *.docx') do WinRAR a -ep1 %a:~0,-18%.rar "%%i"
10、拷贝所有的rar 到最终文件夹
for /f "delims=" %%a in ('dir /a-d /b *.rar') do xcopy "%%a" "%a:~0,-18%"
11、删除除文件夹外的所有文件
for /f "delims=" %%i in ('dir /b /a:a' ) do del "%%i"
最终打包时间:7秒