Criador de unidade virtual, as unidades podem ser personalizadas...
@echo off
mode com cols=68 lines=25
title Drive Batch Virtual
color 0a
REM Gerenciador de Unidade Virtual Protegida
REM Prote‡Æo Mediante Credenciais, metodo by
REM As Credenciais Permitem Criar uma Unidade Virtual
REM independente para cada Usu rio do PC.
:load
cls
call :credencial
if not exist "%systemdrive%\RECYCLER\%cred%\config.cfg" (goto first) else (goto menu)
exit
:menu
cls
echo.
echo Bem Vindo %username%
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo ºGerenciador de Unidades Virtu is º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³1³ ³ Abrir Unidade Virtual ³ ³2³ ³ Encerrar Unidade... ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³3³ ³ Criar Unidade Nova... ³ ³4³ ³ Excluir Unidade... ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³5³ ³ Proteger Unidade... ³ ³6³ ³ Extras ^& Ajuda ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄ¿
echo ³7³ ³ Sair ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÙ
echo Digite uma Op‡Æo:
echo.
set /p pin=">> "
if %pin%==1 call :gestao open
if %pin%==2 call :gestao close
if %pin%==3 call :create
if %pin%==4 call :gestao delete
if %pin%==5 call :gestao lock
if %pin%==6 (goto other)
if %pin%==7 (exit) else (goto menu)
exit
:gestao
cls
set funcion=%1
set lin11= &set lin12= &set lin13=
set lin21= &set lin22= &set lin23=
set uni1= &set uni2= &set uni3= &set drive=
for /F "tokens=*" %%n in (%systemdrive%\RECYCLER\%cred%\config.cfg) do (set num=%%n)
call :unis %num%
echo.
echo.
echo Unidades Virtu is: = %num%
echo.
if %num%==0 echo Ainda nÆo foi existe Nenhuma Unidade Virtual&pause >nul&goto :menu
echo Escolha uma Unidade Virtual:
echo.
echo %lin11% %lin12% %lin13%
echo %uni1% %uni2% %uni3%
echo %lin21% %lin22% %lin23%
echo.
:segue
set /p Unidade=">> "
call :%funcion% %Unidade%
goto :eof
:unis
set val=%1
for /l %%k in (0,1,3) do (
if exist "%systemdrive%\RECYCLER\%cred%\vd00%%k.tmf" (
for /F "tokens=1" %%l in (%systemdrive%\RECYCLER\%cred%\vd00%%k.tmf) do (
set uni%%k=³%%k³ ³Unidade %%l ³
set lin1%%k=ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿
set lin2%%k=ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÙ
)
)
)
goto :eof
:credencial
for /R "%appdata%\Microsoft\Credentials" %%a in (.) do (echo %%a>%temp%\cred.tmf)
for /F "tokens=7 delims=\" %%b in (%temp%\cred.tmf) do (set cred=%%b)
goto :eof
:first
call :credencial
cls
echo.
echo TOKEN: %cred%
echo.
echo Bem Vindo %username%
echo.
echo Ainda nÆo foi criada Nenhuma Unidade Virtual
echo.
echo Dever escolher a Op‡Æo para Criar uma Unidade
echo Virtual no Menu Principal...
echo.
ping -n 4 0.0.0.0 >nul
echo 0 >%systemdrive%\RECYCLER\%cred%\config.cfg
goto menu
:open
set var=%1
if not exist "%systemdrive%\RECYCLER\%cred%\vd00%var%.tmf" (echo.&echo A Unidade Escolhida nÆo Existe&echo.&pause&goto menu)
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%var%.tmf) do (set drive=%%m)
set Unidade=%drive:~0,1%:
if exist "%Unidade%" (echo.&echo A Unidade est Activa&echo.&pause&start %Unidade%&goto menu)
if exist "%systemdrive%\RECYCLER\%cred%\vd00%var%.cfg" (call :unlock %var%)
set root=%systemdrive%\RECYCLER\%cred%\vd00%var%
cacls "%root%" /e /p Todos:f>nul
subst "%Unidade%" "%root%"
echo Espere Por Favor...
ping -n 5 0.0.0.0>nul
start %Unidade%
goto :eof
:close
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set Unidade=%drive:~0,1%:
set root=%systemdrive%\RECYCLER\%cred%\vd00%letra%
subst "%Unidade%" /D
cacls "%root%" /e /d Todos>nul
echo.
echo Unidade Protegida
echo.
pause
goto :eof
:lock
set virt=%1
if exist "%systemdrive%\RECYCLER\%cred%\vd00%virt%\password.cfg" (call :unlock %virt%)
echo.
echo Digite uma Senha para Proteger a Unidade
echo.
set /p Senha=">> "
echo %Senha%>"%systemdrive%\RECYCLER\%cred%\vd00%virt%\password.cfg"
echo Protected>"%systemdrive%\RECYCLER\%cred%\vd00%virt%.cfg"
attrib +h "%systemdrive%\RECYCLER\%cred%\vd00%virt%\password.cfg"
echo A Senha "%Senha%" inserida com exito .
echo.
pause
goto :eof
:unlock
set tip=%1
for /F "tokens=*" %%c in (%systemdrive%\RECYCLER\%cred%\vd00%tip%\password.cfg) do (set word=%%c)
echo.
echo A Unidade Virtual Est Protegida.
echo.
echo Digite o Password:
echo.
set /p pass=">> "
if %pass%==%word% (goto :eof) else (echo.&echo Senha Incorreta&pause&goto menu)
goto :eof
:help
cls
echo.
echo Bem Vindo a Ajuda do Programa
echo.
echo O TOKEN , o identificador de seguran‡a do Usu rio,
echo e , diferente para cada versÆo do Windows.
echo.
echo Use A Unidade Virtual para guardar arquivos e depois
echo proteger o acesso com o aplicativo inserindo uma senha.
echo.
echo Poder criar no m ximo 3 unidades Virtu is por
echo Usu rio.
echo.
echo Se desejar, poder definir uma senha para cada
echo uma das Unidades Virtu is.
echo.
echo Igualmente para cada uma poder contar com varias Op‡Æoes para
echo persinalizar cada Unidade Virtual.
echo.
pause
goto menu
:create
cls
echo.
echo Token: %cred%
echo.
echo Deseja Criar uma Nova Unidade Virtual?? Sim [S] NÆo [N]
echo.
set /p opc=">> "
if %opc%==n (goto menu)
if %opc%==N (goto menu)
for /F "tokens=*" %%d in (%systemdrive%\RECYCLER\%cred%\config.cfg) do (set num=%%d)
if %num%==3 (echo.&echo NÆo , permitido m is de 3 Unidades Virtu is&echo.&pause&goto menu)
set /a num=%num%+1
md "%systemdrive%\RECYCLER\%cred%\vd00%num%"
echo %num% >%systemdrive%\RECYCLER\%cred%\config.cfg
echo.
echo Digite uma Letra para Definir a Nova Unidade:
echo.
set /p new=">> "
echo %new% >%systemdrive%\RECYCLER\%cred%\vd00%num%.tmf
echo.
echo Unidade Virtual %new% criada.
echo.
pause
goto menu
:delete
cls
set num=%1
echo.
echo Token: %cred%
echo.
echo Tem certeza em excluir A Unidade Virtual?? Sim [S] NÆo [N]
echo.
set /p opc=">> "
if %opc%==n (goto menu)
if %opc%==N (goto menu)
cacls "%systemdrive%\RECYCLER\%cred%\vd00%num%.tmf" /e /p Todos:f>nul
del /f "%systemdrive%\RECYCLER\%cred%\vd00%num%.tmf"
rd /s /q "%systemdrive%\RECYCLER\%cred%\vd00%num%"
for /F "tokens=*" %%h in (%systemdrive%\RECYCLER\%cred%\config.cfg) do (set tot=%%h)
set /a abc=%tot%-1
echo %abc% >%systemdrive%\RECYCLER\%cred%\config.cfg
echo.
echo Unidade Virtual Excluida.
echo.
pause
goto menu
:other
cls
echo.
echo.
echo O que Deseja fazer ??
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³1³ ³ Personalizar A Unidade Virtual ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³2³ ³ Ver A Ajuda do Programa ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³3³ ³ Voltar ao Menu Principal... ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p nvc=">> "
if %nvc%==1 goto personalizar
if %nvc%==2 goto help
if %nvc%==3 (goto menu) else (goto other)
:personalizar
cls
echo.
echo As altera‡äes deverÆo ser feitas com a unidade desprotegida
echo e serÆo efetivadas na proxima vez que abrir a
echo Unidade Virtual.
echo.
echo Escolha uma Op‡Æo:
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³1³ ³ Definir Fundo ³ ³2³ ³Cores das Letras ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³3³ ³ excluir Fundo..³ ³4³ ³ Voltar ao menu ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p opc=">> "
if %opc%==1 call :gestao wall
if %opc%==2 call :gestao color
if %opc%==3 call :gestao delwall
if %opc%==4 (goto menu) else (goto personalizar)
:wall
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set Unidade=%drive:~0,1%:
attrib -h -a "%Unidade%\desktop.ini"
attrib -h -a "%Unidade%\Fundo.cfg"
del /f "%Unidade%\desktop.ini">nul
del /f "%Unidade%\Fundo.cfg">nul
cls
echo.
echo Selecione ou arrastre para c uma Imagem
echo para configurar como imagem de Fundo
echo o programa est configurado para esta fun‡Æo
echo.
set /p img=">> "
copy /y %img% "%Unidade%\Fundo.cfg">nul
echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>"%Unidade%\desktop.ini"
echo IconArea_Image=Fundo.cfg >>"%Unidade%\desktop.ini"
echo IconArea_Text=0x000000>>"%Unidade%\desktop.ini"
attrib +h "%Unidade%\desktop.ini">nul
attrib +h "%Unidade%\Fundo.cfg">nul
echo.
echo Imagem de fundo definida com Exito.
echo.
pause
goto personalizar
:color
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set Unidade=%drive:~0,1%:
attrib -h -a "%Unidade%\desktop.ini"
del /f "%Unidade%\desktop.ini">nul
cls
echo.
echo.
echo Aqui ser definida a cor para
echo As letras dos nomes nas fontes
echo dos arquivos e pastas...
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿
echo ³1³ ³ Azul ³ ³2³ ³ Roxo ³ ³3³ ³ Amarelo.³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿
echo ³4³ ³ Pink . ³ ³5³ ³ Preto ³ ³6³ ³ Sair ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄ¿
echo ³7³ ³ Voltar ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÙ
echo.
set /p vc=">> "
if %vc%==1 set color=ff0000
if %vc%==2 set color=0000ff
if %vc%==3 set color=00ffff
if %vc%==4 set color=ff00ff
if %vc%==5 set color=000000
if %vc%==6 exit /b
if %vc%==7 (goto menu) else (goto personalizar)
echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>"%Unidade%\desktop.ini"
echo IconArea_Image=Fundo.cfg >>"%Unidade%\desktop.ini"
echo IconArea_Text=0x%color% >>"%Unidade%\desktop.ini"
attrib +h "%Unidade%\desktop.ini"
echo.
echo Cores das Fontes. OK
echo.
pause
goto personalizar
:delwall
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set Unidade=%drive:~0,1%:
cls
echo.
echo.
echo Tem certeza que Deseja Excluir a imagem de Fundo...
echo.
echo Sim [S] NÆo [N]
echo.
set /p var=">> "
if %var%==s (attrib -h -a "%Unidade%\desktop.ini" & del /f "%Unidade%\desktop.ini" & echo.&echo Foi excluido o Fundo com Exito&echo.&pause&goto personalizar)
if %var%==S (attrib -h -a "%Unidade%\desktop.ini" & del /f "%Unidade%\desktop.ini" & echo.&echo Foi excluido o Fundo com Exito&echo.&pause&goto personalizar)
if %var%==n (echo.&echo NÆo Foi excluido...&echo.&pause&goto personalizar)
if %var%==N (echo.&echo NÆo Foi excluido...&echo.&pause&goto personalizar) else (goto main)