File protector program

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
Rafhack
Posts: 19
Joined: 23 Feb 2014 15:02

File protector program

#1 Post by Rafhack » 07 Apr 2014 08:39

Here is a file protector and encoder, I named iProtect.
It allows you to protect your files using ACL's, and encode them using Base64.
All you need is create an account, and only your account can unlock the files you protected before.

File: iProtect.cmd

Code: Select all

:: 6/3/14 21:09 - 5/4/14 03:18
:: iProtect 4.1
:: Criador: rafael.flip@hotmail.com
:: Versão anterior (4.0) -----> http://pastebin.com/QBjhnQvf
:: Basta seguir as instruções dos menus do programa
:: Incluida barra de progresso ao criptografar

@echo off
   setlocal enabledelayedexpansion
   mode con cols=69 lines=20
:Inicio
   cls&call:welcome&echo/
   call:menu "Login" "Cadastrar" "Site" "Sair"
   if not defined choice call:mostraErro "Op‡Æo inv lida!"&goto Inicio
   if "!choice!" == "1" (
      goto Login
   )
   if "!choice!" == "2" (
      goto cadastro
   )
   if "!choice!" == "3" (
      goto Site
   )
   if "!choice!" == "4" (
      goto sair
   )
::=====================================================SEÇÕES===========================================
::=====================================================SEÇÕES===========================================
::=====================================================SEÇÕES===========================================
:cadastro
   cls
   setlocal
   set /p "usuario=Seu nome de usu rio: "
   if "%usuario%" == "" (endlocal&goto cadastro)
   call:ler HKCU\Software\HNDSofts\iProtect\4\Users\%usuario% nome
   if "%result%" neq "" (call:mostraErro "Usu rio %usuario% j  existe"set result=&endlocal&goto inicio)
   call:mostrarComCor "Sua senhaÿ" "0c"
   call:criptografarSenha
   if defined senhaCript (
      call:gravar HKCU\Software\HNDSofts\iProtect\4\Users\%usuario% string nome %usuario%
      call:gravar HKCU\Software\HNDSofts\iProtect\4\Users\%usuario% string senha "!senhaCript!"
      call:mostraSucesso "Usu rio %usuario% criado com sucesso"&timeout 3 1>nul
   ) else (
      call:mostraErro "Digite sua senha"&timeout 3 1>nul
   )
   endlocal
   goto inicio
:Login
   cls
   setlocal
   set /p "usuario=Seu nome de usu rio: "
   if "%usuario%" == "" (endlocal&goto cadastro)
   call:ler HKCU\Software\HNDSofts\iProtect\4\Users\%usuario% nome
   if "%result%" equ "" (call:mostraErro "Usu rio %usuario% nÆo existe"&timeout 3 1>nul&endlocal&goto inicio)
   call:ler HKCU\Software\HNDSofts\iProtect\4\Users\%usuario% senha
   call:mostrarComCor "Sua senhaÿ" "0c"
   call:criptografarSenha
   if defined senhaCript (if "%result%" == "%senhaCript%" (
      call:telaInicial
   ) else (
      echo/&call:mostraErro "Senha incorreta"
   )) else (
      echo/&call:mostraErro "Senha incorreta"
   )
   endlocal
   goto inicio
:site
   (
      echo/[InternetShortcut]
      echo/URL=http://www.hndsofts.com
   ) > site.url
   site.url&del site.url
   goto inicio
:sair
   endlocal
   exit/b      
::====================================================TELA USER=========================================
:telaInicial
   cls
   call:menu "Proteger arquivos" "Desproteger arquivos" "Criptografar arquivos" "Descriptografar arquivos" "Configurar conta" "Logout"
   if not defined choice call:mostraErro "Op‡Æo inv lida!"&goto telaInicial
   if "!choice!" == "1" (
      goto _proteger
   )
   if "!choice!" == "2" (
      goto _desproteger
   )
   if "!choice!" == "3" (
      goto _criptografarArquivos
   )
   if "!choice!" == "4" (
      goto _descriptografarArquivos
   )
   if "!choice!" == "5" (
      goto configurarConta
   )
   if "!choice!" == "6" (
      goto logOut
   )
   
:_proteger
 goto proteger
:_desproteger
 goto desproteger
:_criptografarArquivos
 goto criptografar
:_descriptografarArquivos
 goto descriptografar
:_configurarConta
 goto configurarConta
:logOut
 endlocal
 goto:eof
 
 ::==================================================TELA PROTEGER========================================
 :proteger
   set "result="&cls&echo/
   call:mostrarComCor "Arraste e solte aqui seu arquivo ou ou pasta e tecle enter" "a0"
   echo/&call:mostrarComCor "Ou digite seu o caminho completo" "a0"
   echo/&echo/&set/p "file="
   if exist "%file%" (
      for /f "delims=*" %%a in ("%file%") do (set "file_f=%%~fa")
      call:criptografarChave "!file_f!*%usuario%"
      echo/
      call:ler Software\HNDSofts\iProtect\4\System files "multi:hkcu"
      if exist "multLine.txt" (
         call:verificarProtegido
      ) else (set arquivoProtegido=0)
      if !arquivoProtegido! equ 1 (
         call:mostraErro "Arquivo ja protegido!"
         del multLine.txt
         endlocal
         goto telaInicial
      )
      if !arquivoProtegido! equ 2 (
         set "merge=!keyencode!"
         for /F %%r in (multLine.txt) do (
            set "merge=!merge!$%%r"
         )
         del multLine.txt
      )
      if !arquivoProtegido! equ 0 (
         set "merge=!keyEncode!"
      )
      cacls "!file_f!" /e /c /p Todos:N 1>nul 2>nul||cacls "!file_f!" /e /c /p Everyone:N 1>nul 2>nul
      call:gravar HKCU\Software\HNDSofts\iProtect\4\System multi files "!merge!" "/s $"
      call:mostraSucesso "Arquivo protegido com sucesso"
      endlocal
      goto telaInicial
      
   ) else (
      call:mostraErro "Arquivo inexistente!"
      endlocal
      goto telaInicial
   )
   endlocal
   goto inicio
:verificarProtegido
   set arquivoProtegido=
   for /f %%r in (multLine.txt) do (
      echo/%%r>_decode0.txt
      certutil -decode _decode0.txt _decode1.txt 1>nul 2>nul
      certutil -decode _decode1.txt _decode2.txt 1>nul 2>nul
      Set /p _decode2=<_decode2.txt
      del _decode0.txt & del _decode1.txt & del _decode2.txt
      for /F "delims=* tokens=1" %%c in ('echo/!_decode2!') do (
         if "!file_f!" equ "%%c" set arquivoProtegido=1
      )
   )
   if not defined arquivoProtegido set arquivoProtegido=2
   exit/b
::================================================TELA DESPROTEGER======================================
:desproteger
   set "result="&cls&echo/
   call:mostrarComCor "Arraste e solte aqui seu arquivo ou ou pasta e tecle enter" "b0"
   echo/&call:mostrarComCor "Ou digite seu o caminho completo" "b0"
   echo/&echo/&set/p "file="
   if exist "!file!" (
      for /f "delims=*" %%a in ("!file!") do (set "file_f=%%~fa")
   ) else (
      call:mostraErro "Arquivo inexistente"
      endlocal
      goto telaInicial
   )
   call:ler Software\HNDSofts\iProtect\4\System files "multi:hkcu"
   if exist "multLine.txt" (
      set protegido=0
      for /F %%a in (multLine.txt) do (
         echo/%%a>_decode0.txt
         certutil -decode _decode0.txt _decode1.txt 1>nul 2>nul
         certutil -decode _decode1.txt _decode2.txt 1>nul 2>nul
         Set /p _decode2=<_decode2.txt
         del _decode0.txt & del _decode1.txt & del _decode2.txt
         for /F "delims=* tokens=1" %%c in ('echo/!_decode2!') do (
            if "!file_f!" equ "%%c" (
               set protegido=1
               set "atual=%%a"
               set "_atual=!_decode2!"
            )
         )
      )
      if !protegido! equ 1 (
         for /F "delims=* tokens=2" %%c in ('echo/!_atual!') do (
            if "!usuario!" equ "%%c" (
               for /F %%z in (multLine.txt) do (
                  if "!atual!" neq "%%z" echo/%%z>>newMulti.txt
               )
               reg delete HKCU\Software\HNDSofts\iProtect\4\System /v files /f 1>nul 2>nul
               if exist newMulti.txt (
                  set merge=
                  for /F %%Z in (newMulti.txt) do (
                     set "merge=!merge!$%%Z
                  )
                  set "merge=!merge:~1!
                  call:gravar HKCU\Software\HNDSofts\iProtect\4\System multi files "!merge!" "/s $"
               )
               del multLine.txt & del newMulti.txt 2>nul
               cacls "!file_f!" /e /c /p Todos:F 1>nul 2>nul||cacls "!file_f!" /e /c /p Everyone:F 1>nul 2>nul
               call:mostraSucesso "Arquivo desprotegido"
               endlocal
               goto telaInicial
            ) else (
               del multLine.txt
               call:mostraErro "Voce nao pode desproteger este arquivo"
               endlocal
               goto telaInicial
            )
         )
      ) else (
         del multLine.txt
         call:mostraErro "Arquivo nao esta sendo protegido"
         endlocal
         goto telaInicial
      )
   ) else (
      call:mostraErro "Nao ha arquivos protegidos"
      endlocal
      goto telaInicial
   )
::================================================TELA CRIPTOGRAFAR======================================
:criptografar
   set "result="&cls&echo/
   set "SenhaCript="
   call:mostrarComCor "Arraste e solte aqui seu arquivo ou ou pasta e tecle enter" "e0"
   echo/&call:mostrarComCor "Ou digite seu o caminho completo" "e0"
   echo/&echo/&set/p "file="
   if exist "%file%" (
      for /f %%a in ("!file!") do (set "attr=%%~aa")
      if /i "!attr:~0,1!" == "d" (
         call:mostraErro "Pastas nao sao permitidas"
         endlocal
         goto telaInicial)
      call:mostrarComCor "Digite uma senha para este arquivoÿ" "c0"
      call:criptografarSenha
      if "!SenhaCript!" neq "" (
         echo/&call:mostrarComCor "Aguarde..." "b0"
         for /f %%a in ("!file!") do (set "localFile=%%~dpa")
         for /f %%a in ("!file!") do (set "fileName=%%~nxa")
         certutil -encode "!file!" "!file!_" 1>nul 2>nul
         for /f %%a in ("!file!_") do (set actualSiz=%%~za)
         for /f %%a in ('type !file!_') do (
            echo/%%a|find "----">nul||echo/%%a>>"!file!_2"
            if exist "!file!_2" (
               set /a progress_ = progress
               for /f %%i in ("!file!_2") do (set actualSiz_=%%~zi)
               set /a progress=actualSiz_*100
               set /a progress=progress/actualSiz
            )
            if !progress_! lss !progress! (
               CALL:PROGRESSBAR 50 !progress!&echo/
               call:mostrarComCor "Passo 1 de 2" "0a"
            )
         )
         certutil -encode "!file!_2" "!file!_3" 1>nul 2>nul
         for /f %%a in ("!file!_3") do (set actualSiz=%%~za)
         for /f %%a in ('type !file!_3') do (
            echo/%%a|find "----">nul||echo/%%a>>"!file!_4"
            if exist "!file!_4" (
               set /a progress_ = progress
               for /f %%i in ("!file!_4") do (set actualSiz_=%%~zi)
               set /a progress=actualSiz_*100
               set /a progress=progress/actualSiz
            )
            if !progress_! lss !progress! (
               CALL:PROGRESSBAR 50 !progress!&echo/
               call:mostrarComCor "Passo 2 de 2" "0a"
            )
         )
         ren "!localFile!!fileName!" "[backup]_!fileName!" 1>nul 2>nul
         echo/!SenhaCript!:iProtect>!file!
         type "!file!_4">>!file!
         del !file!_ & del !file!_2 & del !file!_3 & del !file!_4
         attrib +r "!file!"
         call:mostraSucesso "Arquivo criptografado com sucesso"
         endlocal
         goto telaInicial
      ) else (
         call:mostraErro "Digite uma senha"
         endlocal
         goto telaInicial
      )
   ) else (
      call:mostraErro "Arquivo inexistente"
      endlocal
      goto telaInicial
   )
::================================================TELA DESCRIPTOGRAFAR======================================
:descriptografar
   set "result="&cls&echo/
   set "SenhaCript="
   call:mostrarComCor "Arraste e solte aqui seu arquivo ou ou pasta e tecle enter" "e0"
   echo/&call:mostrarComCor "Ou digite seu o caminho completo" "e0"
   echo/&echo/&set/p "file="
   if exist "%file%" (
      for /f %%a in ("!file!") do (set "attr=%%~aa")
      if /i "!attr:~0,1!" == "d" (
         call:mostraErro "Pastas nao sao permitidas"
         endlocal
         goto telaInicial)
      call:mostrarComCor "Este arquivo necessita de uma senha, digite-aÿ" "c0"
      call:criptografarSenha
      if "!SenhaCript!" neq "" (
         set /p certificado=<!file!
         for /f "delims=: tokens=1,2" %%a in ('echo/!certificado!') do (echo/%%a>_temp.$$$&set "isIpt=%%b")
         if "!isIpt!" neq "iProtect" (
            call:mostraErro "Este arquivo nao foi criptografado pelo iProtect"
            endlocal
            goto telaInicial
         )
         set /p savedPass=<_temp.$$$
         del _temp.$$$
         if "!savedPass!" equ "!SenhaCript!" (
            for /f %%a in ("!file!") do (set "localFile=%%~dpa")
            for /f %%a in ("!file!") do (set "fileName=%%~nxa")
            for /f "skip=1" %%a in ('type !file!') do (echo/%%a>>"!localFile!_0!fileName!")
            certutil -decode "!localFile!_0!fileName!" "!localFile!_!fileName!" 1>nul 2>nul
            certutil -decode "!localFile!_!fileName!" "!localFile!_1!fileName!" 1>nul 2>nul
            attrib -r "!file!" 2>nul
            copy /y "!localFile!_1!fileName!" "!file!" 1>nul 2>nul
            del "!localFile!_0!fileName!" & del "!localFile!_!fileName!" & del "!localFile!_1!fileName!"
            call:mostraSucesso "Arquivo descriptografado com sucesso"
            endlocal
            goto telaInicial
         ) else (
            call:mostraErro "Senha incorreta"
            endlocal
            goto telaInicial
         )
      ) else (
         call:mostraErro "Digite uma senha"
         endlocal
         goto telaInicial
      )
   ) else (
      call:mostraErro "Arquivo inexistente"
      endlocal
      goto telaInicial
   )
::==============================================CONFIGURAR CONTA========================================
::======================================================================================================
:configurarConta
   cls
   call:menu "Alterar senha" "Excluir conta" "Voltar"
   if not defined choice call:mostraErro "Op‡Æo inv lida!"&goto configurarConta
   if "!choice!" == "1" (
      goto alterarSenha
   )
   if "!choice!" == "2" (
      goto excluirConta
   )
   if "!choice!" == "3" (
      endlocal
      goto telaInicial
   )

::===================================================ALTERAR SENHA======================================
:alterarSenha
   echo/&call:mostrarComCor "Sua senha antigaÿ" "0c"
   call:criptografarSenha
   if "!SenhaCript!" neq "" (
      call:ler HKCU\Software\HNDSofts\iProtect\4\Users\!usuario! senha
      if "!SenhaCript!" equ "!result!" (
:digitaNovaSenha
         echo/&call:mostrarComCor "Nova senhaÿÿÿÿÿÿ" "0a"
         call:criptografarSenha
         if "!SenhaCript!" neq "" (set "novaSenha=!SenhaCript!") else (goto digitaNovaSenha)
         echo/&call:mostrarComCor "Confirmar senhaÿ" "0a"
         call:criptografarSenha
         if "!SenhaCript!" neq "!novaSenha!" (
            echo/&call:mostraErro "Senhas nao combinam"
            goto digitaNovaSenha)
         call:gravar HKCU\Software\HNDSofts\iProtect\4\Users\!usuario! string senha "!novaSenha!"
         echo/&call:mostraSucesso "Senha alterada com sucesso"
         endlocal
         goto configurarConta
      ) else (
         echo/&call:mostraErro "Senha incorreta"
         endlocal
         goto configurarConta
      )
   )
::===================================================EXCLUIR CONTA======================================
:excluirConta
   echo/&call:mostrarComCor "Sua senhaÿ" "0c"
   call:criptografarSenha
   if "!SenhaCript!" neq "" (
      call:ler HKCU\Software\HNDSofts\iProtect\4\Users\!usuario! senha
      if "!SenhaCript!" equ "!result!" (
         call:beep 4
         call:mostrarComCor "Aten‡aoÿ" "e0"
         call:mostrarComCor "Se excluir sua conta, todos arquivos que voce protege serao desprotegidos" "cF"
         echo/&set /p "killME=Continuar [S/N] "
         if /i "!killME!" equ "S" (
            call:ler Software\HNDSofts\iProtect\4\System files "multi:hkcu"
            if exist "multLine.txt" (
               for /F %%a in (multLine.txt) do (
                  echo/%%a>_decode0.txt
                  certutil -decode _decode0.txt _decode1.txt 1>nul 2>nul
                  certutil -decode _decode1.txt _decode2.txt 1>nul 2>nul
                  Set /p _decode2=<_decode2.txt
                  del _decode0.txt & del _decode1.txt & del _decode2.txt
                  for /F "delims=* tokens=1,2" %%c in ('echo/!_decode2!') do (
                     set "currentFile=%%c"
                     set "isMine=0"
                     if "!usuario!" equ "%%d" (
                        set "isMine=1"
                     )
                  )
                  if "!isMine!" equ "1" (echo/!currentFile!>>Mine.txt) else (echo/%%a>>notMine.txt)
               )
               reg delete HKCU\Software\HNDSofts\iProtect\4\System /v files /f 1>nul 2>nul
               del multLine.txt
            )
            if exist notMine.txt (
               set merge=
               for /F %%Z in (notMine.txt) do (
                  set "merge=!merge!$%%Z
               )
               set "merge=!merge:~1!
               call:gravar HKCU\Software\HNDSofts\iProtect\4\System multi files "!merge!" "/s $"
               del notMine.txt 2>nul
            )
            if exist Mine.txt (
               for /F %%Z in ('type Mine.txt') do (
                  cacls "%%Z" /e /c /p Todos:F 1>nul 2>nul||cacls "%%Z" /e /c /p Everyone:F 1>nul 2>nul
               )
               del Mine.txt 2>nul
            )
            reg delete HKCU\Software\HNDSofts\iProtect\4\Users\!usuario! /f 1>nul 2>nul
            set "usuario=" & set "result="
            call:mostraErro "Sua conta foi excluida"
            endlocal
            exit/b
         )
      ) else (
         echo/&call:mostraErro "Senha incorreta"
         endlocal
         goto configurarConta
      )
   ) else (
      echo/&call:mostraErro "Digite a senha"
      endlocal
      goto configurarConta
   )
::=====================================================FUNÇÕES==========================================
::=====================================================FUNÇÕES==========================================
::=====================================================FUNÇÕES==========================================
:welcome
   call:mostrarComCor "===================================================================" "08"&echo/
   call:mostrarComCor "====================" "02"&call:mostrarComCor "iProtect 4.0" "30"
   call:mostrarComCor " MS-DOS is back!" "3f"&call:mostrarComCor "====================" "02"&echo/
   call:mostrarComCor "===================================================================" "04"&echo/
   exit/b
:menu
   title iProtect - %date% %time:~0,5%
   set /a menuCount=0
   set choice=
   for %%m in (%*) do (
      set /a cor=!random! * 8/32768 + 2
      set /a menuCount+=1
      call:mostrarComCor "!menuCount! - %%~m" "0!cor!"&echo/)
   echo/&set /p "choice=> "
   if "%choice%" == "" goto:eof
   if %choice% GTR %menuCount% set choice=
   if !choice! LEQ 0 set choice=
   set tem=false
   for /l %%c in (1,1,%menuCount%) do (
      if !menuCount! EQU %%c set tem=true
   )
   if %tem% NEQ true set choice=
   exit/b
:mostrarComCor [txt][cor]
   for /F "tokens=1,2 delims=#" %%a in ('"prompt #$H#$E# & echo on & for %%b in (1) do rem"') do (
      set "DEL=%%a"
   )
   call :ColorText %~2 "%~1"
   exit/b
:ColorText
   <nul set /p ".=%DEL%" > "%~2"
   findstr /v /a:%1 /R "^$" "%~2" nul
   del "%~2" > nul 2>&1
   exit/b
:mostraErro
   call:mostrarcomcor "%~1" "cF"
   call:beep 3
   timeout 3 1>nul
   exit/b
:mostraSucesso
   call:beep 2
   call:mostrarcomcor "%~1" "a0"
   timeout 3 1>nul
   exit/b
:beep [vezes]
   for /l %%i in (1,1,%~1) do (echo/)
:GRAVAR [root tipo nome valor [opcoes adicionais]]
   if /i "%~2" == "string" set tipo=REG_SZ
   if /i "%~2" == "integer" set tipo=REG_DWORD
   if /i "%~2" == "multi" set tipo=REG_MULTI_SZ
   reg add "%~1" /v %~3 /d "%~4" /t %tipo% %~5 /f 1>nul 2>nul
   exit/b
:LER [root nome [opcoes adicionais]]
   echo/%~3|find /i "multi" 1>nul 2>nul && goto LERMULTI
   for /F "tokens=3" %%a in ('reg query "%~1" /v %~2 %~3 2^>nul') do (
      set result=%%a
   )
   exit/b
:LERMULTI
for /f "delims=: tokens=2" %%s in ('echo/%~3') do (set "rootKey=%%s")
if /i "%rootKey%" equ "hkcu" set CONST=H80000001
if /i "%rootKey%" equ "hklm" set CONST=H80000002
if /i "%rootKey%" equ "hkcr" set CONST=H80000000
(
echo/Const ROOTKEY = ^&%CONST%
echo/strComputer = "."
echo/Set oReg=GetObject^("winmgmts:{impersonationLevel=impersonate}!\\" ^& _
echo/    strComputer ^& "\root\default:StdRegProv"^)
echo/strKeyPath = "%~1"
echo/strValueName = "%~2"
echo/oReg.GetMultiStringValue ROOTKEY,strKeyPath, _
echo/    strValueName,arrValues
echo/For Each strValue In arrValues
echo/    Wscript.Echo  strValue
echo/Next)>readMulti.vbs
for /f "tokens=*" %%a in ('cscript //nologo readMulti.vbs 2^>nul') do (echo/%%a>>multLine.txt)
del readMulti.vbs
exit/b
:SenhaOculta
   set "str="
:Escrevendo
   set "key="
   for /F "usebackq delims=" %%L in (`xcopy /L /w "%~f0" "%~f0" 2^>NUL`) do (
      if not defined key set "key=%%L"
   )
   setlocal EnableDelayedExpansion
   set "key=!key:~-1!"
   if "%key%" == "" (goto passwordInputComplete)
   call:mostrarComCor "-" "0c"
   set "str=!str!!key!"
   goto :Escrevendo
:passwordInputComplete
   echo/%str%>pwd.txt
   exit/b
:trimPass
   set "pwd=%~1"
   echo/%pwd%>pwd.txt
   exit/b
:criptografarSenha
   call:senhaOculta
   if not exist "%~dp0pwd.txt" (
      exit/b
   )
   certutil -encode pwd.txt encodePwd.txt 1>nul 2>nul
   for /f "skip=2" %%a in ('find /v /i "certifi" encodePwd.txt') do (echo/%%a>encodePwd.txt)
   certutil -encode encodePwd.txt ReEncodedPwd.txt 1>nul 2>nul
   for /f "skip=2" %%a in ('find /v /i "certifi" ReEncodedPwd.txt') do (set "senhaCript=%%a")
   del pwd.txt& del encodePwd.txt& del ReEncodedPwd.txt
   exit/b
:criptografarChave
   set keyEncode=
   echo/%~1>toEncode.txt
   certutil -encode toEncode.txt encoded.txt 1>nul 2>nul
   set firstEnc=
   for /f "skip=2" %%a in ('find /v "-" "encoded.txt"') do (
      set "firstEnc=!firstEnc!%%a"
   )
   echo/%firstEnc%>encoded.txt
   certutil -encode encoded.txt encoded2.txt 1>nul 2>nul
   for /f "skip=2" %%a in ('find /v "-" "encoded2.txt"') do (set "keyEncode=!keyEncode!%%a")
   del toEncode.txt & del encoded.txt & del encoded2.txt
   exit/b
:PROGRESSBAR [total progresso]
   set /a full = %~1
   for /l %%m in (1,1,%~1) do (
      set "fullBar=!fullBar!_"
      set "tags=!tags!#"
   )
   set number=%~2
   set /a number = number /2
   set /a pct=full-number
   echo/echo/[%%tags:~0,%number%%%%%fullBar:~0,%pct%%%] !progress!%%%%%>_temp.bat
   cls&call _temp.bat
    del _temp.bat
   exit/b

Dos_Probie
Posts: 233
Joined: 21 Nov 2010 08:07
Location: At My Computer

Re: File protector program

#2 Post by Dos_Probie » 07 Apr 2014 09:13

Nice, do you have a ENG version?

Rafhack
Posts: 19
Joined: 23 Feb 2014 15:02

Re: File protector program

#3 Post by Rafhack » 07 Apr 2014 10:44

Not yet, but I'll do

Squashman
Expert
Posts: 4487
Joined: 23 Dec 2011 13:59

Re: File protector program

#4 Post by Squashman » 07 Apr 2014 11:11

Rafhack wrote:Not yet, but I'll do

Lots of people from different countries on this forum but everyone pretty much posts in English. Something for you to keep in mind when posting code in the future.

Rafhack
Posts: 19
Joined: 23 Feb 2014 15:02

Re: File protector program

#5 Post by Rafhack » 07 Apr 2014 11:34

Squashman wrote:
Rafhack wrote:Not yet, but I'll do

Lots of people from different countries on this forum but everyone pretty much posts in English. Something for you to keep in mind when posting code in the future.


I'll remember that

Post Reply