bat批处理判断文件夹是否存在并创建文件夹

以下批处理在Xp及Windows Server2008 R2上测试可用
[plain] view plain copy
 print?
  1. @echo off  
  2. echo ****************************************  
  3. echo 自动创建文件夹(存放备份文件和备份脚本)  
  4. echo ****************************************  
  5.   
  6. set Pan=d:\  
  7. set AFolder=MIS\  
  8. set BFolder=OracleDBAutoBackup\  
  9. set C1Folder=BackupTools  
  10. set C2Folder=AutoBakFiles  
  11. set C3Folder=AutoBakHistoryFiles  
  12. set C4Folder=AutoBakBatRunLogs  
  13.   
  14.   
  15.   
  16. echo 本批处理准备创建以下文件夹  
  17. echo    1.存放备份的批处理脚本    %Pan%%AFolder%%BFolder%%C1Folder%  
  18. echo    2.存放备份文件        %Pan%%AFolder%%BFolder%%C2Folder%  
  19. echo    3.存放备份历史文件  %Pan%%AFolder%%BFolder%%C3Folder%  
  20. echo    4.存放备份脚本执行日志    %Pan%%AFolder%%BFolder%%C4Folder%  
  21. echo .  
  22. echo 开始执行-----------------------  
  23.   
  24. if exist %Pan% (  
  25.   
  26.     if exist %Pan%%AFolder% (         
  27.         rem 目录d:\<span style="font-family: Arial, Helvetica, sans-serif;">MIS</span>已存在,无需创建  
  28.         echo 目录%Pan%%AFolder%已存在,无需创建  
  29.     ) else (  
  30.         rem 创建d:\MIS  
  31.         echo 创建%Pan%%AFolder%         
  32.         md %Pan%%AFolder%  
  33.     )  
  34.   
  35.     if exist %Pan%%AFolder%%BFolder% (  
  36.         rem 目录d:\MIS\OracleDBAutoBackup已存在,无需创建  
  37.         echo 目录%Pan%%AFolder%%BFolder%已存在无需创建         
  38.     ) else (  
  39.         rem 创建d:\MIS\OracleDBAutoBackup   
  40.         echo 创建%Pan%%AFolder%%BFolder%  
  41.         md %Pan%%AFolder%%BFolder%  
  42.     )  
  43.   
  44.     if exist %Pan%%AFolder%%BFolder%%C1Folder% (  
  45.         rem 目录d:\MIS\OracleDBAutoBackup\BackupTools已存在,无需创建  
  46.         echo 目录%Pan%%AFolder%%BFolder%%C1Folder%已存在,无需创建  
  47.     ) else (  
  48.         rem 创建d:\MIS\OracleDBAutoBackup\BackupTools  
  49.         echo 创建%Pan%%AFolder%%BFolder%%C1Folder%  
  50.         md %Pan%%AFolder%%BFolder%%C1Folder%  
  51.     )  
  52.   
  53.     if exist %Pan%%AFolder%%BFolder%%C2Folder% (  
  54.         rem 目录d:\MIS\OracleDBAutoBackup\AutoBakFiles已存在,无需创建  
  55.         echo 目录%Pan%%AFolder%%BFolder%%C2Folder%已存在,无需创建  
  56.     ) else (  
  57.         rem 创建d:\MIS\OracleDBAutoBackup\AutoBakFiles  
  58.         echo 创建%Pan%%AFolder%%BFolder%%C2Folder%  
  59.         md %Pan%%AFolder%%BFolder%%C2Folder%  
  60.     )  
  61.   
  62.     if exist %Pan%%AFolder%%BFolder%%C3Folder% (  
  63.         rem 目录d:\MIS\OracleDBAutoBackup\AutoBakHistoryFiles已存在,无需创建  
  64.         echo 目录%Pan%%AFolder%%BFolder%%C3Folder%已存在,无需创建  
  65.     ) else (  
  66.         rem 创建d:\MIS\OracleDBAutoBackup\AutoBakHistoryFiles  
  67.         echo 创建%Pan%%AFolder%%BFolder%%C3Folder%  
  68.         md %Pan%%AFolder%%BFolder%%C3Folder%  
  69.     )  
  70.   
  71.     if exist %Pan%%AFolder%%BFolder%%C4Folder% (  
  72.         rem 目录d:\MIS\OracleDBAutoBackup\AutoBakBatRunLogs已存在,无需创建  
  73.         echo 目录%Pan%%AFolder%%BFolder%%C4Folder%已存在,无需创建  
  74.     ) else (  
  75.         rem 创建d:\MIS\OracleDBAutoBackup\AutoBakBatRunLogs  
  76.         echo 创建%Pan%%AFolder%%BFolder%%C4Folder%  
  77.         md %Pan%%AFolder%%BFolder%%C4Folder%  
  78.     )  
  79.   
  80. ) else (  
  81.     echo !!  
  82.     echo !!执行失败,当前系统上不存在%Pan%盘  
  83.     echo !!  
  84. )  
  85. echo .  
  86. echo 已执行完毕(退出请按任意键或直接关闭窗体)-----------------------  
  87. echo .  
  88. pause  



批处理命令(rar.bat):

c:
cd/
cd C:/Program Files/WinRAR
winrar a -ep1 -o+ -ppassword -inul -r -ibck C:/RarFile E:/BigFile


其中,a是压缩命令,-ep1 -o+ -p -inul -r -ibck是参数


ep1:排除基准文件夹,不然压缩包会包含待压缩文件夹所在的完整路径

o+:覆盖已经存在的文件

p:密码,后面红色的部分就是密码,紧贴这个参数P,看起来有点怪

inul:禁止出错信息

r:连同子文件夹操作

ibck:后台模式运行

C:\RarFile 压缩文件

E:\BigFile 等待压缩的源文件


更多帮助信息,可以打开WINRAR,然后看它的帮助。


将以上批处理命令写到一个批处理文件里,然后用任务计划来定期运行这个批处理文件,就可以定期压缩某些文件鸟。比如说,夜深人静的时候,机器自动压缩庞大的数据库备份文件。


阅读更多

没有更多推荐了,返回首页