vaguiners

Batch Backup v1.0 - Beta 20

Jan 31st, 2013
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Winbatch 14.60 KB | None | 0 0
  1. :script
  2. set versao=v1.0 - Beta 20
  3. set irpara=pagina_principal
  4. :Verificacao
  5. set ver_config=0
  6. set ver_lista=0
  7. set ver_pasta=0
  8. if not exist Configuracoes.ini set ver_config=1
  9. if not exist Lista.ini set ver_lista=1
  10. if not exist Backups set ver_pasta=1
  11. if "%ver_lista%"=="1" set irpara=restaurarconfig&goto janela
  12. if "%ver_config%"=="1" set irpara=restaurarconfig2&goto janela
  13. if "%ver_pasta%"=="1" set irpara=restaurarconfig3&goto janela
  14. :Configuracoes
  15. for /f "tokens=1,2 delims==" %%a in (Configuracoes.ini) do (
  16. if %%a==cor set cor=%%b
  17. if %%a==hkcr set hkcr=%%b
  18. if %%a==hkcu set hkcu=%%b
  19. if %%a==hklm set hklm=%%b
  20. if %%a==hku set hku=%%b
  21. if %%a==hkcc set hkcc=%%b
  22. )
  23. :Configuracoes_Temp
  24. set cor_temp=%cor%
  25. set hkcr_temp=%hkcr%
  26. set hkcu_temp=%hkcu%
  27. set hklm_temp=%hklm%
  28. set hku_temp=%hku%
  29. set hkcc_temp=%hkcc%
  30. :Lista
  31. for /f "tokens=1,2 delims==" %%a in (Lista.ini) do (
  32. if %%a==Slot1 set Slot1=%%b
  33. if %%a==Slot2 set Slot2=%%b
  34. if %%a==Slot3 set Slot3=%%b
  35. if %%a==Slot4 set Slot4=%%b
  36. if %%a==Slot5 set Slot5=%%b
  37. if %%a==Slot6 set Slot6=%%b
  38. if %%a==Slot7 set Slot7=%%b
  39. if %%a==Slot8 set Slot8=%%b
  40. if %%a==Slot9 set Slot9=%%b
  41. )
  42. :Lista_Temp
  43. set Slot1_temp=%Slot1%
  44. set Slot2_temp=%Slot2%
  45. set Slot3_temp=%Slot3%
  46. set Slot4_temp=%Slot4%
  47. set Slot5_temp=%Slot5%
  48. set Slot6_temp=%Slot6%
  49. set Slot7_temp=%Slot7%
  50. set Slot8_temp=%Slot8%
  51. set Slot9_temp=%Slot9%
  52. :janela
  53. color %cor%
  54. echo off
  55. title Batch Backup %versao%
  56. mode 47,18
  57. :limparmenus
  58. set menu_principal=null
  59. set menu_criar=null
  60. set menu_restaurar=null
  61. set menu_deletar=null
  62. set menu_configurar=null
  63. goto %irpara%
  64. :pagina_principal
  65. cls
  66. echo   ------------------------
  67. echo   [ (1) Criar Backup     ]
  68. echo   [ (2) Restaurar Backup ]
  69. echo   [ (3) Deletar Backup   ]
  70. echo   [ (4) Configuracoes    ]
  71. echo   [ (5) Sair             ]
  72. echo   ------------------------
  73. :menu_principal
  74. if "%erro%"=="2" echo Nenhuma opcao selecionada.&set erro=0
  75. echo.
  76. set /p menu_principal="Menu #: "
  77. if "%menu_principal%"=="1" goto pagina_criar
  78. if "%menu_principal%"=="2" goto pagina_restaurar
  79. if "%menu_principal%"=="3" goto pagina_deletar
  80. if "%menu_principal%"=="4" goto pagina_configuracoes
  81. if "%menu_principal%"=="5" exit
  82. set erro=2
  83. set irpara=pagina_principal
  84. goto limparmenus
  85. :pagina_configuracoes
  86. cls
  87. echo  --------------------
  88. echo  [ (1) Alterar cor     ]
  89. echo  [ (2) hklm: %hklm%    ]
  90. echo  [ (3) hkcr: %hkcr%    ]
  91. echo  [ (4) hkcu: %hkcu%    ]
  92. echo  [ (5) hku: %hku%      ]
  93. echo  [ (6) hkcc: %hkcc%    ]
  94. echo  [ (7) Compactar: %compac% ]
  95. echo  [ (8) Voltar      ]
  96. echo   -------------------
  97. :menu_configurar
  98. echo.
  99. set /p menu_configurar="Configurar #: "
  100. if "%menu_configurar%"=="1" echo.&set /p cor_temp="Cor: "&set irpara2=pagina_configuracoes&set irpara=pagina_configuracoes&goto salvar_configuracoes
  101. if "%menu_configurar%"=="8" set irpara=pagina_principal&set erro=0&goto limparmenus
  102. :pagina_criar
  103. cls
  104. echo   -----------------------
  105. echo   [ (1) Slot 1: %Slot1% ]
  106. echo   [ (2) Slot 2: %Slot2% ]
  107. echo   [ (3) Slot 3: %Slot3% ]
  108. echo   [ (4) Slot 4: %Slot4% ]
  109. echo   [ (5) Slot 5: %Slot5% ]
  110. echo   [ (6) Slot 6: %Slot6% ]
  111. echo   [ (7) Slot 7: %Slot7% ]
  112. echo   [ (8) Slot 8: %Slot8% ]
  113. echo   [ (9) Slot 9: %Slot9% ]
  114. echo   [ (10) Voltar        ]
  115. echo   -----------------------
  116. :menu_criar
  117. if "%erro%"=="1" echo Slot Ocupado.
  118. if "%erro%"=="2" echo Nenhum slot selecionado.&set erro=0
  119. set /p menu_criar="Slot #: "
  120. if "%menu_criar%"=="1" set slot=%Slot1%&set n=1&goto pagina_criar2
  121. if "%menu_criar%"=="2" set slot=%Slot2%&set n=2&goto pagina_criar2
  122. if "%menu_criar%"=="3" set slot=%Slot3%&set n=3&goto pagina_criar2
  123. if "%menu_criar%"=="4" set slot=%Slot4%&set n=4&goto pagina_criar2
  124. if "%menu_criar%"=="5" set slot=%Slot5%&set n=5&goto pagina_criar2
  125. if "%menu_criar%"=="6" set slot=%Slot6%&set n=6&goto pagina_criar2
  126. if "%menu_criar%"=="7" set slot=%Slot7%&set n=7&goto pagina_criar2
  127. if "%menu_criar%"=="8" set slot=%Slot8%&set n=8&goto pagina_criar2
  128. if "%menu_criar%"=="9" set slot=%Slot9%&set n=9&goto pagina_criar2
  129. if "%menu_criar%"=="10" set irpara=pagina_principal&set erro=0&goto limparmenus
  130. set erro=2
  131. set irpara=pagina_criar
  132. goto limparmenus
  133. :pagina_criar2
  134. if "%slot%"=="Vazio" set irpara=pagina_criar3&goto limparmenus
  135. set erro=1
  136. set irpara=pagina_criar
  137. goto limparmenus
  138. :pagina_criar3
  139. cd Backups
  140. if not exist Slot%n% mkdir Slot%n%
  141. cd Slot%n%
  142. set Slot%n%_temp=%time% - %date%
  143. echo   ------------------------
  144. echo   [ Criando backup...    ]
  145. echo   [ Etapa 1/5            ]
  146. reg export hkcr hkcr.reg>nul
  147. echo   [ Etapa 2/5            ]
  148. reg export hkcu hkcu.reg>nul
  149. echo   [ Etapa 3/5            ]
  150. reg export hklm hklm.reg>nul
  151. echo   [ Etapa 4/5            ]
  152. reg export hku hku.reg>nul
  153. echo   [ Etapa 5/5            ]
  154. reg export hkcc hkcc.reg>nul
  155. echo   [ Compactando...       ]
  156. makecab hkcc.reg>nul
  157. makecab hkcr.reg>nul
  158. makecab hkcu.reg>nul
  159. makecab hklm.reg>nul
  160. makecab hku.reg>nul
  161. del *.reg
  162. echo   [ Backup Criado        ]
  163. echo   ------------------------
  164. cd..
  165. cd..
  166. set irpara2=pagina_criar
  167. goto salvar_lista
  168. :pagina_restaurar
  169. cls
  170. echo   ----------------------
  171. echo   [ (1) Slot 1: %Slot1% ]
  172. echo   [ (2) Slot 2: %Slot2% ]
  173. echo   [ (3) Slot 3: %Slot3% ]
  174. echo   [ (4) Slot 4: %Slot4% ]
  175. echo   [ (5) Slot 5: %Slot5% ]
  176. echo   [ (6) Slot 6: %Slot6% ]
  177. echo   [ (7) Slot 7: %Slot7% ]
  178. echo   [ (8) Slot 8: %Slot8% ]
  179. echo   [ (9) Slot 9: %Slot9% ]
  180. echo   [ (10) Voltar        ]
  181. echo   ----------------------
  182. :menu_restaurar
  183. if "%erro%"=="5" echo Slot selecionado esta vazio.
  184. if "%erro%"=="4" echo Nenhum slot selecionado.
  185. if "%erro%"=="3" echo Erro ao selecionar o slot.&set erro=0
  186. set /p menu_restaurar="Slot #: "
  187. if "%menu_restaurar%"=="1" set slot=%Slot1%&set n=1&goto pagina_restaurar2
  188. if "%menu_restaurar%"=="2" set slot=%Slot2%&set n=2&goto pagina_restaurar2
  189. if "%menu_restaurar%"=="3" set slot=%Slot3%&set n=3&goto pagina_restaurar2
  190. if "%menu_restaurar%"=="4" set slot=%Slot4%&set n=4&goto pagina_restaurar2
  191. if "%menu_restaurar%"=="5" set slot=%Slot5%&set n=5&goto pagina_restaurar2
  192. if "%menu_restaurar%"=="6" set slot=%Slot6%&set n=6&goto pagina_restaurar2
  193. if "%menu_restaurar%"=="7" set slot=%Slot7%&set n=7&goto pagina_restaurar2
  194. if "%menu_restaurar%"=="8" set slot=%Slot8%&set n=8&goto pagina_restaurar2
  195. if "%menu_restaurar%"=="9" set slot=%Slot9%&set n=9&goto pagina_restaurar2
  196. if "%menu_restaurar%"=="10" set irpara=pagina_principal&set erro=0&goto limparmenus
  197. set erro=4&set irpara=pagina_restaurar&goto limparmenus
  198. :pagina_restaurar2
  199. cd Backups
  200. if "%slot%"=="Vazio" set erro=5&set irpara=pagina_restaurar&goto limparmenus
  201. if not exist Slot%n% set erro=3&set irpara=pagina_restaurar&goto limparmenus
  202. cd Slot%n%
  203. cls
  204. echo   ------------------------
  205. echo   [ Restaurando backup...]
  206. echo   [ Etapa 1/5            ]
  207. reg import hkcr.reg>nul
  208. echo   [ Etapa 2/5            ]
  209. reg import hkcu.reg>nul
  210. echo   [ Etapa 3/5            ]
  211. reg import hklm.reg>nul
  212. echo   [ Etapa 4/5            ]
  213. reg import hku.reg>nul
  214. echo   [ Etapa 5/5            ]
  215. reg import hkcc.reg>nul
  216. echo   [ Backup Restaurado    ]
  217. echo   ------------------------
  218. cd..
  219. cd..
  220. pause>nul
  221. goto script
  222. :pagina_deletar
  223. cls
  224. echo   ----------------------
  225. echo   [ (1) Slot 1: %Slot1% ]
  226. echo   [ (2) Slot 2: %Slot2% ]
  227. echo   [ (3) Slot 3: %Slot3% ]
  228. echo   [ (4) Slot 4: %Slot4% ]
  229. echo   [ (5) Slot 5: %Slot5% ]
  230. echo   [ (6) Slot 6: %Slot6% ]
  231. echo   [ (7) Slot 7: %Slot7% ]
  232. echo   [ (8) Slot 8: %Slot8% ]
  233. echo   [ (9) Slot 9: %Slot9% ]
  234. echo   [ (10) Voltar        ]
  235. echo   ----------------------
  236. :menu_deletar
  237. if "%erro%"=="2" echo Nenhum slot selecionado.
  238. if "%erro%"=="5" echo Slot selecionado esta vazio.&set erro=0
  239. set /p menu_deletar="Slot #: "
  240. if "%menu_deletar%"=="1" set slot=%Slot1%&set n=1&goto pagina_deletar2
  241. if "%menu_deletar%"=="2" set slot=%Slot2%&set n=2&goto pagina_deletar2
  242. if "%menu_deletar%"=="3" set slot=%Slot3%&set n=3&goto pagina_deletar2
  243. if "%menu_deletar%"=="4" set slot=%Slot4%&set n=4&goto pagina_deletar2
  244. if "%menu_deletar%"=="5" set slot=%Slot5%&set n=5&goto pagina_deletar2
  245. if "%menu_deletar%"=="6" set slot=%Slot6%&set n=6&goto pagina_deletar2
  246. if "%menu_deletar%"=="7" set slot=%Slot7%&set n=7&goto pagina_deletar2
  247. if "%menu_deletar%"=="8" set slot=%Slot8%&set n=8&goto pagina_deletar2
  248. if "%menu_deletar%"=="9" set slot=%Slot9%&set n=9&goto pagina_deletar2
  249. if "%menu_deletar%"=="10" set irpara=pagina_principal&set erro=0&goto limparmenus
  250. set erro=2
  251. set irpara=pagina_deletar
  252. goto limparmenus
  253. :pagina_deletar2
  254. set irpara=pagina_deletar3
  255. goto limparmenus
  256. :pagina_deletar3
  257. if "%slot%"=="Vazio" set erro=5&set irpara=pagina_deletar&goto limparmenus
  258. set irpara2=pagina_deletar
  259. set Slot%n%_temp=Vazio
  260. cd Backups
  261. del /q Slot%n%
  262. cd..
  263. goto salvar_lista
  264. :salvar_lista
  265. echo Salvando o arquivo Lista.ini..
  266. if "%irpara%"=="salvar_lista" echo Lista salva e carregada com sucesso.&pause&goto %irpara2%
  267. echo Slot1=%Slot1_temp%>Lista.ini
  268. echo Slot2=%Slot2_temp%>>Lista.ini
  269. echo Slot3=%Slot3_temp%>>Lista.ini
  270. echo Slot4=%Slot4_temp%>>Lista.ini
  271. echo Slot5=%Slot5_temp%>>Lista.ini
  272. echo Slot6=%Slot6_temp%>>Lista.ini
  273. echo Slot7=%Slot7_temp%>>Lista.ini
  274. echo Slot8=%Slot8_temp%>>Lista.ini
  275. echo Slot9=%Slot9_temp%>>Lista.ini
  276. set irpara=salvar_lista
  277. goto Configuracoes
  278. :salvar_configuracoes
  279. echo Salvando o arquivo Configuracoes.ini..
  280. if "%irpara%"=="salvar_configuracoes" echo Configuracoes salva e carregada com sucesso.&pause&goto %irpara2%
  281. echo cor=%cor_temp%>Configuracoes.ini
  282. echo hkcr=%hkcr_temp%>>Configuracoes.ini
  283. echo hkcu=%hkcu_temp%>>Configuracoes.ini
  284. echo hklm=%hklm_temp%>>Configuracoes.ini
  285. echo hku=%hku_temp%>>Configuracoes.ini
  286. echo hkcc=%hkcc_temp%>>Configuracoes.ini
  287. set irpara=salvar_configuracoes
  288. goto Configuracoes
  289. :restaurarconfig
  290. echo Slot1=Vazio>Lista.ini
  291. echo Slot2=Vazio>>Lista.ini
  292. echo Slot3=Vazio>>Lista.ini
  293. echo Slot4=Vazio>>Lista.ini
  294. echo Slot5=Vazio>>Lista.ini
  295. echo Slot6=Vazio>>Lista.ini
  296. echo Slot7=Vazio>>Lista.ini
  297. echo Slot8=Vazio>>Lista.ini
  298. echo Slot9=Vazio>>Lista.ini
  299. :restaurarconfig2
  300. if "%ver_config%"=="0" goto restaurarconfig3
  301. echo cor=D>Configuracoes.ini
  302. echo hkcr=Sim>>Configuracoes.ini
  303. echo hkcu=Sim>>Configuracoes.ini
  304. echo hklm=Sim>>Configuracoes.ini
  305. echo hku=Sim>>Configuracoes.ini
  306. echo hkcc=Sim>>Configuracoes.ini
  307. :restaurarconfig3
  308. if "%ver_pasta%"=="0" goto restaurarconfig4
  309. mkdir Backups
  310. set n=1
  311. :restaurarconfig3_2
  312. cd Backups
  313. if not exist Slot%n% mkdir Slot%n%
  314. cd..
  315. if "%n%"=="9" goto restaurarconfig4
  316. set /a n+=1
  317. goto restaurarconfig3_2
  318. :restaurarconfig4
  319. (
  320. if "%ver_config%"=="1" echo Msgbox "O Arquivo de configurações foi restaurado para o padrão." , 64 , "Batch Backup"
  321. )>bb.vbs
  322. (
  323. if "%ver_lista%"=="1" echo Msgbox "A Lista de backups foi restaurada para a padrão." , 64 , "Batch Backup"
  324. )>>bb.vbs
  325. (
  326. if "%ver_pasta%"=="1" echo Msgbox "As  pastas foram restauradas para as padroes." , 64 , "Batch Backup"
  327. )>>bb.vbs
  328. start/wait bb.vbs
  329. del /q bb.vbs
  330. goto script
  331.  
  332. ::Batch Backup ChangeLog
  333.  
  334. v1.0 - Beta 20 (14/10/2012)
  335. : Tamanho da janela re-ajustada para caber confortavelmente a lista de backup
  336. : Adicionado compactação sem perda de dados nos arquivos de backup (ainda em testes)
  337.  
  338. v1.0 - Beta 19 (25/04/2010)
  339. : Em vez de ir para a pagina verificacao, agora quando restaurar um arquivo padrao, ira para a pagina script, para setar o irpara e nao interferir com a modificaçao abaixo
  340. : Em vez de ir direto para a pagina de restauracao, se algum arquivo padrao nao existir, ele ira primeiro passar pela pagina janela.
  341.  
  342. v1.0 - Beta 18 (25/04/2010)
  343. : Ajeitado o echo de algumas paginas.
  344.  
  345. v1.0 - Beta 17 (24/04/2010)
  346. : Removido 2 start/wait bb.vbs, adicionado as 3 msgs em um unico arquivo e abrindo ele uma unica vezz.
  347.  
  348. v1.0 - Beta 16 (24/04/2010)
  349. : Ajeitado o design da pagina configuracoes
  350. : Adicionado a opção 7 no menu Configuracoes.
  351.  
  352. v1.0 - Beta 15 (24/04/2010)
  353. : Adicionado a pagina de salvamento do arquivo Configuracoes.ini
  354. : Adicionado para que limpe o menu_configurar no limparmenus
  355. : Pagina configuracoes em andamento, ainda não concluida.
  356.  
  357. v1.0 - Beta 14 (23/04/2010)
  358. : Adicionado um set erro=0 nos menus das paginas ao voltar para a pagina principal.
  359.  
  360. v1.0 - Beta 13 (22/04/2010)
  361. : Adicionado para que sempre que for voltar para a pagina principal, passar pelo limpar menus
  362.  
  363. v1.0 - Beta 12 (22/04/2010)
  364. : Adicionado um sisteminha de restauração padrão para os arquivos Configuracoes.inii, Lista.ini e as pastas de backup
  365.  
  366. v1.0 - Beta 11 (22/04/2010)
  367. : Resolvido o bug nas paginas que fazia com que nao pudesse criar/deletar + de 1 backup.
  368. : Pagina thuthuca renomeada para pagina_criar3
  369. : Adicionado a pagina_deletar2 como parte do fix do bug
  370.  
  371. v1.0 - Beta 10 (13/03/2010)
  372. : Adicionado a opção 10 em todos os menus para poder voltar para a pagina principal
  373.  
  374. v1.0 - Beta 9 (11/03/2010)
  375. : Arrumado o bug com a pagina deletar
  376. : Removido a pagina irpara2
  377.  
  378. v1.0 - Beta 8 (10/03/2010)
  379. : Adicionado a verificação do slot na parte de restauração
  380.  
  381. v1.0 - Beta 7 (14/11/2009)
  382. : Adicionado outros erros
  383. : Setado para ir no link limparmenus em algumas escolhas
  384. : Numero de slots reduzido para 9
  385. : Pagina deletar finalizado
  386. : Adicionado a variavel irpara2
  387.  
  388. v1.0 - Beta 6 (13/11/2009)
  389. : Removido a variavel pasta
  390. : Em andamento a leitura da ini Lista
  391. : Terminado o design da pagina_criar
  392. : Adicionado um sisteminha de erros
  393. : Adicionado erro 1 - Slot ocupado.
  394. : Adicionado erro 2 - Nenhum slot selecionado.
  395. : Retirado a variavel SlotNome e SlotInfo
  396. : Retirado a variavel SlotData
  397. : Varias outras mudanças...
  398.  
  399. v1.0 - Beta 5 (13/11/2009)
  400. : Link Checkbackup removido
  401. : Retirado o if no Criar_Backup
  402. : Em andamento a leitura da ini  Configuracoes
  403. : Design alterado.
  404. : Link "criar_backup" renomeado para "pagina_criar"
  405. : Link "restaurar_backup" renomeado para "pagina_restaurar"
  406. : Link "deletar_backup" renomeado para "pagina_deletar"
  407. : Adicionado ">nul" nas operacoes de exportacoes
  408. : Adicionado o color para ser lido no Configuracoes.ini
  409.  
  410. v1.0 - Beta 4 (13/11/2009)
  411. : Adicionado o set que faltava para setar a variavel versao
  412. : Removido o aviso para executar como administrador
  413. : Adicionado um mode para setar o tamanho da janela
  414. : A Pagina principal foi totalmente refeito, deixando apenas as opções a mostra.
  415. : Link "menu" renomeado para "pagina_principal"
  416. : Adicionado o link para a pagina configuracoes na pagina principal
  417. : Menu de escolha "menu_escolha" renomeado para "menu_principal"
  418.  
  419. v1.0 - Beta 3 (13/11/2009)
  420. : Alterado o metodo de importação e exportação do backup.
  421. : Removido temporariamente (talvez) a variavel com a pasta de backup, os cd e etc...
  422.  
  423. v1.0 - Beta 2 (13/11/2009)
  424. : Removido o cls logo no inicio do primeiro menu de escolha.
  425. : Adicionado o ponto que faltava no echo para quebrar uma linha no link menu
  426.  
  427. v1.0 - Beta 1 (13/11/2009)
  428. : Finalizado as linhas mais importantes.
Advertisement
Add Comment
Please, Sign In to add comment