Advertisement
Guest User

Untitled

a guest
Sep 13th, 2017
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @setlocal EnableDelayedExpansion
  2.  
  3. @rem Путь к архиву с базой, которую надо забрать себе
  4. @set source=\\ardavov-r\Share\S17_7113.zip
  5.  
  6. @rem Номер задачи в жире; скопированная база будет названа gz-%task%.fdb
  7. @set task=15842
  8.  
  9. @rem Временная директория; очищается при каждом запуске
  10. @set temp=D:\Work\Databases\Temp
  11.  
  12. @rem Папка, где лежат все базы
  13. @set databases=D:\Work\Databases\GZ
  14.  
  15. @if not exist %source% goto :src_file_error
  16. @if not exist %temp% goto :temp_dir_error
  17. @if not exist %databases% goto :db_dir_error
  18. @if exist %databases%\gz-%task%.fdb goto :target_file_error
  19. @if exist %databases%\gz-%task%.7z goto :target_file_error
  20.  
  21. @rem Почистить временную папку
  22. @pushd .
  23. @cd /D %temp%
  24. @del /F /Q *
  25. @popd
  26.  
  27. @xcopy %source% %temp%
  28.  
  29. @pushd .
  30. @for %%i in ("%source%") do @(
  31.   @rem Распаковать и удалить архив
  32.   @cd /D %temp%
  33.   @7z e %%~ni%%~xi
  34.   @cd /D %temp%
  35.   @del /F /Q %%~ni%%~xi
  36.  
  37.   @rem Переименовать и заархивировать базу
  38.   @ren *.fdb gz-%task%.fdb
  39.   @7z a -mx=5 "gz-%task%.7z" "gz-%task%.fdb"
  40.  
  41.   @rem Перенос базы и архива с базой в папку со всеми базами
  42.   @move gz-%task%.7z  %databases%
  43.   @move gz-%task%.fdb %databases%
  44. )
  45. @popd
  46.  
  47. @goto :eof
  48.  
  49. :src_file_error
  50. @echo Source file does not exist
  51. @goto :eof
  52.  
  53. :target_file_error
  54. @echo File %databases%\gz-%task%.fdb or %databases%\gz-%task%.7z already exists
  55. @goto :eof
  56.  
  57. :temp_dir_error
  58. @echo Temp directory does not exist
  59. @goto :eof
  60.  
  61. :db_dir_error
  62. @echo Databases directory does not exist
  63. @goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement