Advertisement
Guest User

Untitled

a guest
Oct 28th, 2018
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Winbatch 18.35 KB | None | 0 0
  1. @echo off
  2. TITLE EXCLUIDOR DE PASTAS DIFICEIS
  3. Color 0a
  4. if "%1" neq "Administrador" call :elevate
  5.  
  6. for %%a in (
  7. "%~dp0Satti2.Vbs"
  8. "%~dp0pasta_vazia.vbs"
  9. "%~dp0substitui.vbs"
  10. "%~dp0diferencas.vbs"
  11. "%~dp0relat.txt"
  12. "%~dp0Pasta_vazia.log"
  13. "%~dp0tmp"
  14. ) do if exist "%%~a" DEL /Q /S "%%~a" >NUL
  15.  
  16.  
  17.  
  18.  
  19. echo. @echo off >exclui.bat
  20. if %0 NEQ ORGANIZADOR.BAT REN %0 ORGANIZADOR.BAT
  21. set eu_mesmo="%~0"
  22. set s=+
  23. set ponto=0
  24. color 0a
  25. mode con LINES=40 COLS=80
  26. set nom=Move or copy Files
  27. set ver=2.58.Final
  28. title %nom%  v.%ver%  by Boss-Head
  29. FOR /F "TOKENS=2,*" %%I IN ('REG QUERY "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" ^| FIND /I "Personal"') DO SET DOSS=%%J
  30. cls
  31. echo.
  32. echo. %nom%  v.%ver%  by Boss-Head  
  33. echo.
  34. Echo. O que vocˆ quer fazer ?
  35. ECHO.
  36. Echo. 1) Copiar   2) Mover    3) Sair
  37. echo.
  38. SET /P OPC2=" Dgite uma Op‡Æo >> :"
  39. cls
  40. ECHO.
  41. ECHO. Local ou pasta a ser organizado ?
  42. ECHO.
  43. ECHO.
  44. ECHO.
  45. if %OPC2%==1 (echo Op‡Æo 1
  46. set escolha=Copy /y
  47. set mostra=Copiando
  48. Echo . Copiando os arquivos.......................
  49. )
  50. if %OPC2%==2 (
  51. echo Op‡Æo 2
  52. set escolha=Move /y
  53. set mostra=Movendo
  54. Echo . Movendo arquivos.......................
  55. )
  56. if %OPC2%==3 Echo  Saindo .....&goto sair
  57. ECHO.
  58. ECHO.
  59. ECHO.
  60. Call :Abre_dir "Selecione a pasta para organizar" "SOURCE"
  61. :: SET /p SOURCE="Enter para default c: ): "
  62. if "%SOURCE%"=="Cancelado" SET "SOURCE=c:"
  63. if not defined SOURCE SET "SOURCE=c:"
  64. SET SOURCE=%SOURCE:"=%
  65. ECHO.
  66. ECHO.
  67. ECHO.
  68. echo Drive o loal a ser salvo ?
  69. ECHO.
  70. ECHO.
  71. ECHO.
  72. Call :Abre_dir "Selecione a pasta para organizar" "Salva_r"
  73. :: SET /p Salva_r=Enter para default %DOSS% ):  
  74. if "%Salva_r%"=="Cancelado" SET "Salva_r=%DOSS%"
  75. SET "DOSS=%Salva_r:"=%"
  76. if not exist "%DOSS%" md "%DOSS%"
  77.  
  78.  
  79. call :renomei_parenteses "%SOURCE:"=%"
  80.  
  81. :retorna_t
  82. set Word="%DOSS%\Arquivos Organizados\Meus Documentos"
  83. set Excel="%DOSS%\Arquivos Organizados\Meus Documentos\Planilhas"
  84. set PowerPoint="%DOSS%\Arquivos Organizados\Meus Documentos\Powerpoint"
  85. set meus_arqu="%DOSS%\Arquivos Organizados\Meus Arquivos Compactados"
  86. set meus_prog="%DOSS%\Arquivos Organizados\Meus Documentos\Meus Scripts"
  87. set meus_p2="%DOSS%\Arquivos Organizados\Meus Programas"
  88. set meus_p3="%DOSS%\Arquivos Organizados\Meus Programas\Meus Scripts"
  89. set Mus_ica="%DOSS%\Arquivos Organizados\Multimidia\Minhas Musicas"
  90. set Videos="%DOSS%\Arquivos Organizados\Multimidia\Meus Videos"
  91. set Ima_gens="%DOSS%\Arquivos Organizados\Multimidia\Minhas Imagens"
  92. set Internet="%DOSS%\Arquivos Organizados\Arquivos da Internet"
  93. set Outro_tipo="%DOSS%\Arquivos Organizados\Outros tipos"
  94. set Outlook="%DOSS%\Arquivos Organizados\Meus Documentos\Outlook"
  95. set progran="%DOSS%\Arquivos Organizados\Programacao"
  96. set vbox="%DOSS%\Arquivos Organizados\Virtual box"
  97. set pesq="%DOSS%\Arquivos Organizados\Pesquisas"
  98. set Li_xeira="%DOSS%\Arquivos Organizados\Lixeira"
  99. mode con LINES=60 COLS=80
  100.  
  101. set OutlookEXE="pst" "csv" "msg" "contact"
  102. set WordEXE="txt" "doc" "dotx" "docx" "pdf"
  103. set ExcelEXE="xls" "xlsx" "xlsM"
  104. set PPointEXE="pps" "ppt" "pptx" "ppsx"
  105. set meus_arquEXE="zip" "rar" "sfx" "img" "iso" "cdr" "TAR" "7Z" "GZ" "jar"
  106. set Mus_icaEXE="mp3" "wma" "mid" "wav"
  107. set VideoEXE="mpg" "avi" "wmv" "asf" "divx" "mkv" "mov" "mp4" "3gp" "flv" "movie" "M3U" "M3U8" "noext"
  108.  
  109. rem set LLiixxo="NK2" "wab" "pab" "rwz" "dic" "oft" "nick" "fav" "nst" "srs" "odt" "rtf" "docm" "wpd" "wps" "diz" "asc" "ascii" "hz" "latex" "lit" "log" "pages" "readme" "utf8" "wpd" "wps" "yml" "ENF"  "JNT"
  110.  
  111.  
  112.  
  113. set programEXE="msi" "exe" "diagcab"
  114. set prograscri="bat" "vbs" "cmd" "vba" "vbe" "hta"
  115.  
  116. set Ima_gensEXE="bmp" "jpg" "jpeg" "gif" "png" "psd" "ico"
  117. set InternetEXE="htm" "html"
  118. set lixo="db" "bak" "chk" "dmp" "gid" "old" "syd" "tmp" "fts" "prv" "lnk"
  119. set lingua="c" "c#" "bat1" "bat2" "bat3" "bat?"
  120. set v_box="vdi" "vbox"
  121. set pesquisas="search-ms"
  122. set outros="ini" "torrent" "HDS" "APK"
  123. call :pasta_vazia "%SOURCE:"=%"
  124.  
  125.  
  126. for /R "%SOURCE:"=%" %%x in (*) do (
  127. attrib +a -s -h -r "%%~dpnxx" /s 2>nul 1>&2
  128. attrib +a -s -h -r "%%~dpx" /s /d 2>nul 1>&2
  129. ECHO "%%~dpnxx"
  130.  
  131. call :pasta_va "%%~nxx"
  132.  
  133. for %%a in (%lixo%) do (
  134. if /i "%%~xx"==".%%~a" (
  135. echo Deletando %%~dpnxx
  136. del /q /s /f "%%~dpnxx"
  137. )
  138. )
  139.  
  140. for %%a in (%WordEXE%) do (
  141. if /i "%%~xx"==".%%~a" (
  142.  
  143. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Word% "%%~dpnxx"
  144.  
  145. )
  146. )
  147.  
  148. for %%b in (%ExcelEXE%) do (
  149. if /i "%%~xx"==".%%~b" (
  150. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Excel% "%%~dpnxx"
  151.  
  152. )
  153. )
  154. for %%b in (%OutlookEXE%) do (
  155. if /i "%%~xx"==".%%~b" (
  156. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Outlook% "%%~dpnxx"
  157.  
  158.  
  159. )
  160. )
  161. for %%c in (%PPointEXE%) do (
  162. if /i "%%~xx"==".%%~c" (
  163. IF EXIST "%%~dpnxx" call :criar "%%~xx" %PowerPoint% "%%~dpnxx"
  164.  
  165. )
  166. )
  167. for %%f in (%meus_arquEXE%) do (
  168. if /i "%%~xx"==".%%~f" (
  169. IF EXIST "%%~dpnxx" call :criar "%%~xx" %meus_arqu% "%%~dpnxx"
  170.  
  171. )
  172. )
  173. for %%g in (%programEXE%) do (
  174. if /i "%%~xx"==".%%~g" (
  175. IF EXIST "%%~dpnxx" call :criar "%%~xx" %meus_p2% "%%~dpnxx"
  176.  
  177. )
  178. )
  179. for %%h in (%Mus_icaEXE%) do (
  180. if /i "%%~xx"==".%%~h" (
  181. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Mus_ica% "%%~dpnxx"
  182.  
  183. )
  184. )
  185. for %%i in (%VideoEXE%) do (
  186. if /i "%%~xx"==".%%~i" (
  187. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Videos% "%%~dpnxx"
  188.  
  189. )
  190. )
  191. for %%j in (%Ima_gensEXE%) do (
  192. if /i "%%~xx"==".%%~j" (
  193. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Ima_gens% "%%~dpnxx"
  194.  
  195. )
  196. )
  197. for %%k in (%InternetEXE%) do (
  198. if /i "%%~xx"==".%%~k" (
  199. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Internet% "%%~dpnxx"
  200.  
  201. )
  202. )
  203.  
  204. for %%k in (%lingua%) do (
  205. if /i "%%~xx"==".%%~k" (
  206. IF EXIST "%%~dpnxx" call :criar "%%~xx" %progran% "%%~dpnxx"
  207.  
  208. )
  209. )
  210.  
  211. for %%k in (%v_box%) do (
  212. if /i "%%~xx"==".%%~k" (
  213. IF EXIST "%%~dpnxx" call :criar "%%~xx" %vbox% "%%~dpnxx"
  214.  
  215. )
  216. )
  217.  
  218.  
  219. for %%k in (%pesquisas%) do (
  220. if /i "%%~xx"==".%%~k" (
  221. IF EXIST "%%~dpnxx" call :criar "%%~xx" %pesq% "%%~dpnxx"
  222.  
  223. )
  224. )
  225.  
  226.  
  227. for %%k in (%outros%) do (
  228. if /i "%%~xx"==".%%~k" (
  229. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Outro_tipo% "%%~dpnxx"
  230.  
  231. )
  232. )
  233.  
  234. for %%k in (%prograscri%) do (
  235. if /i "%%~xx"==".%%~k" (
  236. IF EXIST "%%~dpnxx" call :criar "%%~xx" %meus_p3% "%%~dpnxx"
  237.  
  238. )
  239. )
  240.  
  241.  
  242. if not "%%~xx"=="" (
  243. set skip=0
  244. for %%k in (
  245. %prograscri%
  246. %outros%
  247. %pesquisas%
  248. %v_box% %lingua%
  249. %InternetEXE%
  250. %Ima_gensEXE%
  251. %VideoEXE%
  252. %Mus_icaEXE%
  253. %programEXE%
  254. %meus_arquEXE%
  255. %PPointEXE%
  256. %OutlookEXE%
  257. %ExcelEXE%
  258. %WordEXE%
  259. %lixo%
  260. ) do (
  261. ECHO ".%%~k"
  262. if "%skip%"=="0" (
  263. if /i not "%%~xx"==".%%~k" (
  264. IF EXIST "%%~dpnxx" call :criar "%%~xx" %Li_xeira% "%%~dpnxx"
  265. set skip=1
  266. )
  267. )
  268. )
  269. )
  270.  
  271. )
  272.  
  273.  
  274. rem
  275.  
  276. call :pasta_vazia "%SOURCE:"=%"
  277.  
  278.  
  279.  
  280. call :duplicados_66 Pasta_vazia.log
  281.  
  282.  
  283. for /f "tokens=*" %%d in (Pasta_vazia.log) do (
  284.         echo Removendo: %%d
  285.     echo.rd /s /q "%%d" >>exclui.bat
  286.     )
  287. echo. Del /q /s exclui.bat >>exclui.bat
  288. echo. exit >>exclui.bat
  289. start exclui.bat
  290. del /q /s %~dp0Pasta_vazia.log 2>nul 1>&2
  291. del /q /s %~dp0pasta_vazia.vbs 2>nul 1>&2
  292. del /q /s %~dp0exclui.bat 2>nul 1>&2
  293. del /q /s %~dp0substitui.vbs 2>nul 1>&2
  294.  
  295.  
  296. :sair
  297. Title Batch-Satti.Forumeiros
  298. Cls
  299. Mode 35,3
  300. Echo.      Visite Nosso Site !
  301. Echo. Http://batch-Satti.Forumeiros.Com
  302.  
  303. (
  304. Echo. If Msgbox^("Este script e muitos outros estæo dispon¡veis no forum Batch-Satti" ^& Vbcrlf ^& Vbcrlf ^& "Vocˆ gostaria de visitar o site agora?", Vbquestion + Vbyesno + Vbdefaultbutton2, "Acessando O Site Batch-Satti"^)=6 Then
  305. Echo. Wscript.Quit 1
  306. Echo. End If
  307. )> %~dp0Satti2.Vbs
  308. Cscript //nologo //e:vbscript %~dp0Satti2.Vbs
  309. If %Errorlevel%==1 Start Http://batch-Satti.Forumeiros.Com
  310. For /l %%i In ( 7,-1,0 ) Do (
  311. Ping -n 2 -w 350 127.0.0.1 > Nul
  312. Title Batch ..:: %%i ::.. Satti
  313. )
  314. Del /q /s %~dp0Satti2.Vbs >nul
  315. Shutdown.exe /s /f
  316. Goto:eof
  317.  
  318.  
  319.  
  320. :criar
  321.  
  322. TITLE %~nx3
  323. set "tipo=%~1"
  324. SET "TIPO2=%~3"
  325. set "vazia=%~dp3"
  326.  
  327.  
  328. rem attrib +a -s -h -r "%TIPO2%" /s 2>nul 1>&2
  329.  
  330. for %%a in (CON,PRN,AUX,CLOCK$­­­­­­­­­­,NUL,COM1,COM2,COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8,LPT9) do (
  331. if /i "%Tipo:.=%"=="%%a" (
  332. TITLE EXCLUIDO %%a RETORNANDO
  333. goto:eof
  334. )
  335. )
  336.  
  337. for %%a in (%meus_arqu%,%meus_prog%,%Word%,%Excel%,%Mus_ica%,%Videos%,%Internet%,%Ima_gens%,%PowerPoint%,%OutlookEXE%,%lingua%,%vbox%,%pesq%,%meus_p2%,%meus_p3%,%Outro_tipo%) do (
  338. if /i "%vazia:"=%"=="%%~a\%tipo:.=%\" (
  339. TITLE RETORNANDO
  340. goto:eof
  341. )
  342. )
  343. for %%a in (%meus_arqu%,%meus_prog%,%Word%,%Excel%,%Mus_ica%,%Videos%,%Internet%,%Ima_gens%,%PowerPoint%,%OutlookEXE%,%lingua%,%vbox%,%pesq%,%meus_p3%,%Outro_tipo%) do (
  344. If /i "%vazia:"=%"=="%%~a\%tipo:.=%\DUPLICADOS\" (
  345. TITLE RETORNANDO
  346. goto:eof
  347. )
  348. )
  349. if /i "%tipo2%"==%eu_mesmo% (goto:eof)
  350.  
  351. if not exist "%~2\%Tipo:.=%" md "%~2\%Tipo:.=%"
  352.  
  353.  
  354.  
  355. set local="%~2\%Tipo:.=%"
  356. set local="%local:"=%"
  357. set ori_robo=%~dp3
  358. set ori_robo=%ori_robo:~,-1%
  359. rem echo if %OPC2%==2 ( robocopy "%ori_robo%" %local% *%Tipo% /mov /r:0 /w:0 /zb)
  360.  
  361. if %OPC2%==2 ( robocopy "%ori_robo%" %local% *%Tipo% /mov /r:0 /w:0 /zb /ETA)
  362.  
  363. rem /NFL  /NP /NJS
  364.  
  365. if not exist "%local:"=%\%~nx3" (
  366. Echo. %mostra% "%~3"
  367. rem Echo. %mostra% "%~3" para %local% >>relat.txt
  368. IF EXIST "%~3" %escolha% "%~3" %local%
  369. ) ELSE (
  370. IF EXIST "%~3" call :duplicata "%~3" %local%
  371. IF EXIST "%~3" %escolha% "%~3" %local%
  372. )
  373.  
  374. rem Ping -n 5 -w 350 127.0.0.1 > Nul
  375. goto:eof
  376.  
  377.  
  378.  
  379. :duplicata
  380. if not exist "%~dp0diferencas.vbs" call :diferencas.vbs
  381. SET NUM=%random%
  382. SET VAI_SALVAR="%~1"
  383. SET SALV_ARA="%~2\%~nx1"
  384. SET DIR_SALVA="%~2\DUPLICADOS"
  385. SET DUPL_ICA="%~2\DUPLI_%~n1_%NUM%%~x1"
  386. SET NOME_DELE=DUPLI_%~n1_%NUM%%~x1
  387. if exist %SALV_ARA% (
  388. call :commpa %VAI_SALVAR% %SALV_ARA%
  389. ECHO Comparando  %VAI_SALVAR%  com  %SALV_ARA%
  390.             if not "%erro%"=="4" (
  391.               echo  %VAI_SALVAR% %SALV_ARA% SAO DIFERENTES
  392.  
  393. ren %SALV_ARA% "%NOME_DELE:DUPLI_=%"  2>nul 1>&2
  394.             ) else (
  395.               echo %VAI_SALVAR% %SALV_ARA% SAO IGUAIS
  396. IF NOT EXIST %DIR_SALVA% ( MD %DIR_SALVA% )
  397.  
  398. ren %SALV_ARA% "%NOME_DELE%" 2>nul 1>&2
  399. echo. %DUPL_ICA% "%DIR_SALVA:"=%\%NOME_DELE%"
  400. MOVE /Y %DUPL_ICA% "%DIR_SALVA:"=%\%NOME_DELE%" 2>nul 1>&2
  401.  
  402.            )
  403. )
  404. goto:eof
  405.  
  406.  
  407. :pasta_vazia
  408. set vazia=%~1
  409. if exist %~dp0pasta_vazia.vbs goto pula_f
  410. (
  411. Echo On Error Resume Next
  412. Echo If (WScript.Arguments.Count ^> 0^) Then
  413. Echo strBaseDir = WScript.Arguments(0^)
  414. Echo Else
  415. Echo WScript.Quit
  416. Echo End If
  417. Echo Set objFSO = CreateObject("Scripting.FileSystemObject"^)
  418. Echo ShowSubfolders objFSO.GetFolder(strBaseDir^)
  419. Echo Sub ShowSubFolders(objFolder^)
  420. Echo For Each objSubfolder in objFolder.SubFolders
  421. Echo If objSubfolder.Size = 0 Then
  422. Echo Wscript.Echo objSubfolder.Path
  423. Echo End If
  424. Echo ShowSubFolders objSubfolder
  425. Echo Next
  426. Echo End Sub
  427. )>%~dp0pasta_vazia.vbs
  428. :pula_f
  429. echo.
  430. echo.
  431. Echo localizando pastas vazias em %vazia% aguarde...
  432. CSCRIPT //NOLOGO "%~dp0pasta_vazia.vbs" "%vazia%" >>Pasta_vazia.log
  433.  
  434. goto:eof
  435.  
  436.  
  437. :renomei_parenteses
  438. echo.
  439. echo.
  440. echo Aguarde renomeando pastas que contenham os seguintes
  441. echo caracteres  por _ em %1
  442. (
  443. Echo Set fso = CreateObject("Scripting.FileSystemObject"^)
  444. Echo Set re  = New RegExp
  445. Echo re.Pattern =  "[äöüß&%%)(]" ' colocar todos os caracteres que você quer retirar dentro dos colchetes'
  446. Echo re.IgnoreCase = True
  447. Echo re.Global = True
  448. Echo If WScript.Arguments.Unnamed.Count = 1 Then
  449. Echo If fso.FolderExists(WScript.Arguments.Unnamed(0^)^) Then
  450. Echo Recurse fso.GetFolder(WScript.Arguments.Unnamed(0^)^)
  451. Echo Else
  452. Echo WScript.Echo "Folder not found."
  453. Echo End If
  454. Echo Else
  455. Echo WScript.Echo "Por favor, dê nome da pasta como argumento 1."
  456. Echo End If
  457. Echo Sub Recurse(f^)
  458. Echo For Each sf In f.SubFolders
  459. Echo Recurse sf
  460. Echo If re.Test(sf.Name^) Then      
  461. Echo WScript.Echo sf.Name, " -> ", re.Replace(sf.Name, "_"^)
  462. Echo sf.Name = re.Replace(sf.Name, "_"^)
  463. Echo End If
  464. Echo Next
  465. Echo For Each sf In f.Files
  466. Echo If re.Test(sf.Name^) Then
  467. Echo WScript.Echo sf.Name, " -> ", re.Replace(sf.Name, "_"^)
  468. Echo sf.Name = re.Replace(sf.Name, "_"^)
  469. Echo End If
  470. Echo Next
  471. Echo End Sub
  472. )>%~dp0substitui.vbs
  473. CSCRIPT //NOLOGO %~dp0substitui.vbs %1
  474. del /q /s %~dp0substitui.vbs >nul
  475. goto:eof
  476.  
  477. :duplicados_66
  478. Setlocal ENABLEDELAYEDEXPANSION
  479. echo Buscando links duplicados em %~1
  480. if not exist "%~1" (goto:eof) else ( ren "%~1" "lista" >nul )
  481. cd.>tmp
  482. for /f "delims=" %%* In ('type "lista"') Do (
  483. set linha=%%*
  484. findstr /ric:"!linha: =!\>" tmp )||echo.!linha!>>tmp
  485. type tmp>%~1
  486. del /q /s tmp >nul
  487. del /q /s lista >nul
  488. endlocal
  489. goto:eof
  490.  
  491. :pasta_va
  492. goto 12345
  493. if %ponto%==0 set s=+
  494. set /a ponto%s%=1
  495. :: ²
  496. if %ponto%==1 set verpo=Û±°°°°°°°°°°°°°°°°°°°
  497. if %ponto%==2 set verpo=°±Û±°°°°°°°°°°°°°°°°°
  498. if %ponto%==3 set verpo=°°±Û±°°°°°°°°°°°°°°°°
  499. if %ponto%==4 set verpo=°°°±Û±°°°°°°°°°°°°°°°
  500. if %ponto%==5 set verpo=°°°°±Û±°°°°°°°°°°°°°°
  501. if %ponto%==6 set verpo=°°°°°±Û±°°°°°°°°°°°°°
  502. if %ponto%==7 set verpo=°°°°°°±Û±°°°°°°°°°°°°
  503. if %ponto%==8 set verpo=°°°°°°°±Û±°°°°°°°°°°°
  504. if %ponto%==9 set verpo=°°°°°°°°±Û±°°°°°°°°°°
  505. if %ponto%==10 set verpo=°°°°°°°°°±Û±°°°°°°°°°
  506. if %ponto%==11 set verpo=°°°°°°°°°°±Û±°°°°°°°°
  507. if %ponto%==12 set verpo=°°°°°°°°°°°±Û±°°°°°°°
  508. if %ponto%==13 set verpo=°°°°°°°°°°°°±Û±°°°°°°
  509. if %ponto%==14 set verpo=°°°°°°°°°°°°°±Û±°°°°°
  510. if %ponto%==15 set verpo=°°°°°°°°°°°°°°±Û±°°°°
  511. if %ponto%==16 set verpo=°°°°°°°°°°°°°°°±Û±°°°
  512. if %ponto%==17 set verpo=°°°°°°°°°°°°°°°°±Û±°°
  513. if %ponto%==18 set verpo=°°°°°°°°°°°°°°°°°±Û±°
  514. if %ponto%==19 set verpo=°°°°°°°°°°°°°°°°°°±Û±
  515. if %ponto%==20 set verpo=°°°°°°°°°°°°°°°°°°°±Û
  516. if %ponto%==20 set s=-
  517.  
  518. :12345
  519.  
  520. mode con LINES=50 COLS=120
  521.  
  522. echo.
  523. echo.
  524. set pasta_va=%~1
  525. set pasta_va3=%~1
  526. set pasta_va2=%pasta_va:"=%
  527. set pasta_va2=%pasta_va2:~-1%
  528. set pasta_va="%pasta_va:~0,-1%"
  529. echo.
  530. echo. Organizando de %ori_robo%
  531. rem "%SOURCE%"
  532. echo.
  533. echo. Para %local%
  534. rem "%Salva_r%"
  535. echo.
  536. echo.               %verpo%
  537. echo.  Trabalhando  %verpo%
  538. echo.               %verpo%
  539. echo.
  540. echo. %pasta_va3:~-25%
  541. echo.
  542. rem if "%pasta_va2%"=="\" call :pasta_vazia %pasta_va%
  543.  
  544. rem Ping -n 4 -w 350 127.0.0.1 > Nul
  545. goto:eof
  546.  
  547. :diferencas.vbs
  548. (
  549. Echo dim objArgs, objFileSystem, sBaseVer, sNewVer, sMessage, sBaseMessage, sNewMessage, bDiffers
  550. Echo bDiffers = False
  551. Echo Set objArgs = WScript.Arguments
  552. Echo num = objArgs.Count
  553. Echo if num ^< 2 then
  554. Echo MsgBox "Use: [CScript | WScript] Comparar.vbs Arquivo_1.doc Arquivo_2.doc", vbCritical, "Argumentos inválidos"
  555. Echo end if
  556. Echo sBaseDoc = objArgs(0^)
  557. Echo sNewDoc = objArgs(1^)
  558. Echo Set objFileSystem = CreateObject("Scripting.FileSystemObject"^)
  559. Echo If objFileSystem.FileExists(sBaseDoc^) = False Then
  560. Echo WScript.Echo "Arquivo " + sBaseDoc +" Arquivo não existe.", "Não encontrado"
  561. Echo Wscript.Quit 1
  562. Echo End If
  563. Echo If objFileSystem.FileExists(sNewDoc^) = False Then
  564. Echo WScript.Echo "Arquivo " + sNewDoc +" Arquivo não existe.",  "Não encontrado"
  565. Echo Wscript.Quit 2
  566. Echo End If
  567. Echo dim fBaseFile, fNewFile
  568. Echo Set fBaseFile = objFileSystem.GetFile(sBaseDoc^)
  569. Echo Set fNewFile = objFileSystem.GetFile(sNewDoc^)
  570. Echo If fBaseFile.size ^<^> fNewFile.size Then
  571. Echo bDiffers = True
  572. Echo sBaseMessage = sBaseMessage + "  Tamanho: " + CStr(fBaseFile.Size^) + " bytes" + vbCrLf
  573. Echo sNewMessage = sNewMessage + "  Tamanho: " + CStr(fNewFile.Size^) + " bytes" + vbCrLf
  574. Echo Else
  575. Echo sMessage = sMessage + "Tamanho do arquivo: " + CStr(fNewFile.Size^) + " bytes" + vbCrLf
  576. Echo End If
  577. Echo If bDiffers = False Then
  578. Echo Set WshShell = WScript.CreateObject("WScript.Shell"^)
  579. Echo exitStatus = WshShell.Run("fc.exe "+sBaseDoc+" "+sNewDoc, 0, True^)
  580. Echo If exitStatus = 1 Then
  581. Echo bDiffers = True
  582. Echo sMessage = sMessage + "Arquivo contêm diferenças!" + vbCrLf
  583. Echo ElseIf exitStatus ^> 1 Then
  584. Echo End If
  585. Echo End If
  586. Echo If LCase(Right(sBaseDoc, 3^)^) = "exe" or LCase(Right(sNewDoc, 3^)^) = "exe" or _
  587. Echo LCase(Right(sBaseDoc, 3^)^) = "dll" or LCase(Right(sNewDoc, 3^)^) = "dll" Then
  588. Echo sBaseVer = objFileSystem.GetFileVersion(sBaseDoc^)
  589. Echo sNewVer = objFileSystem.GetFileVersion(sNewDoc^)
  590. Echo If Len(sBaseVer^) = 0 and Len(sNewVer^) = 0 Then
  591. Echo sMessage = sMessage + "Versão: Não disponível"
  592. Echo ElseIf sBaseVer = sNewVer Then
  593. Echo sMessage = sMessage + "Versão: " + sBaseVer
  594. Echo Else
  595. Echo sBaseMessage = sBaseMessage + "  Versão: " + sBaseVer + vbCrLf
  596. Echo sNewMessage = sNewMessage + "  Versão: " + sNewVer + vbCrLf
  597. Echo End If
  598. Echo End If
  599. Echo sBaseMessage = "Arquivo 1" + vbCrLf _
  600. Echo + "  Arquivo: " + sBaseDoc + vbCrLf _
  601. Echo + sBaseMessage
  602. Echo sNewMessage = + "Arquivo 2" + vbCrLf _
  603. Echo + "  Arquivo: " + sNewDoc + vbCrLf _
  604. Echo + sNewMessage
  605. Echo If bDiffers = True Then
  606. Echo sMessage = "Arquivos são diferentes!" + vbCrLf _
  607. Echo + vbCrLf _
  608. Echo + sBaseMessage + vbCrLf _
  609. Echo + sNewMessage + vbCrLf _
  610. Echo + sMessage
  611. Echo WScript.Echo sMessage, "Arquivos: São diferentes"
  612. Echo Wscript.Quit 3
  613. Echo Else
  614. Echo sMessage = "Arquivos são iguais" + vbCrLf _
  615. Echo + vbCrLf _
  616. Echo + sMessage
  617. Echo WScript.Echo sMessage, "Arquivos: São identicos"
  618. Echo Wscript.Quit 4
  619. Echo End If
  620. Echo Wscript.Quit
  621. )>%~dp0diferencas.vbs
  622. goto:eof
  623.  
  624. :commpa
  625. Cscript //nologo //e:vbscript "%~dp0diferencas.vbs" %1 %2
  626. set erro=%errorlevel%
  627. goto:eof
  628.  
  629.  
  630.  
  631.  
  632.  
  633. :Elevate
  634.   Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"Administrador","","runas",1 >"%~dp0Elevating.vbs"
  635.   cscript.exe //nologo "%~dp0Elevating.vbs" "%~dpnx0"
  636.   del "%~dp0Elevating.vbs" >nul
  637. Exit
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646. :Abre_dir
  647. set Result=
  648. set input=%1
  649. set vbs=%temp%\_.vbs
  650. set tmp=%temp%\_.cmd
  651. findstr "'%skip%VBS" "%~f0" > "%vbs%"
  652. cscript //nologo "%vbs%" > "%tmp%"
  653. for /f "delims=" %%a in (%tmp%) do %%a
  654. set "%~2=%Result:"=%"
  655.  
  656. DEL %VBS%
  657. DEL %TMP%
  658. endlocal & goto :EOF
  659.  
  660. set WshShell=WScript.CreateObject("WScript.Shell") 'VBS
  661. set shell=WScript.CreateObject("Shell.Application") 'VBS
  662. sInput=WshShell.ExpandEnvironmentStrings("%input%") 'VBS
  663. set folder=shell.BrowseForFolder(0,replace(sInput,chr(34),""),0) 'VBS
  664. if typename(folder)="Nothing" Then  'VBS
  665. wscript.echo "set Result=Cancelado" 'VBS
  666. WScript.Quit(1) 'VBS
  667. end if 'VBS
  668. set folderItems=folder.Items() 'VBS
  669. set folderItem=folderItems.Item() 'VBS
  670. pathname=folderItem.Path 'VBS
  671. wscript.echo "set Result="& chr(34) & pathname & chr(34) 'VBS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement