在项目开发过程中,批处理文件(虽然比起linux的shell功能逊色不少)确实给我们带来的很大的帮助,特此写下来和大家分享一下
1.清除BDS2006的自动生成的"__history"文件夹
dir /A:D /B /S |Find "__history" > delete.list.txt
FOR /F %%m IN (delete.list.txt) DO rd /S /Q %%m
del delete.list.txt
2.前期自动安装版本的应用,这样可以省去很复杂的脚本编写和修改
set BuilderVersion=Builder106
rem 版本号
set WorkDirectroy=D:/builder
rem 工作路径
net use b: //server-×/××101版本
RD /S %WorkDirectroy%
xcopy b:/%BuilderVersion% %WorkDirectroy% /E /I
net use b: /delete
cd /D %WorkDirectroy%/bin/Plugins/Icons/
call IconsPathReg.bat
cd /D %WorkDirectroy%/project/
call ProjectPathReg.bat
cd /D %WorkDirectroy%/×××template/通用/
call TemplatePathReg.bat
echo /n/n
echo "××× 安装成功 ^_^"
echo /n
pause
call %WorkDirectroy%/bin
btw.大家通过上面得bat可能发现中间调用了*PathReg.bat三个批处理文件,这个也是前提为了向注册表写入模版路径和工程路径用得
3.当项目配置模版或者其他库很多的时候,使用bat可以给我们带来调试上的方便
attrib -r ../*.* /s
xcopy ../通用/*.* ../ /y
xcopy *.* ../ /y
xcopy ../通用/报表/*.* ../报表/ /y
xcopy 报表/*.* ../报表/ /y
attrib -r ../../bin/plugins/*.* /s
xcopy ./plugins ../../bin/plugins/ /s /y
4. bat在其他地方的应用: svn 提交必须写log,如下
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo log is empty or too short, commit canceled! :) 1>&2
exit 1
总结:windows的shell确实很简单,功能少一些,但是善用往往给我们带来很大的效率。
现在windows提供了powershell,或者用python等动态语言也可以给我们带了相同的效果。