quarta-feira, 17 de fevereiro de 2016

DOS String Manipulation

Font: http://www.dostips.com/DtTipsStringManipulation.php

Basic string manipulation in batch like you are used to from other programming languages.


Align text to the right i.e. to improve readability of number columns.
Extract characters from the beginning of a string.
Use Key-Value pair list to lookup and translate values.
Extract a Substring by Position.
Remove a substring using string substitution.
Remove the first and the last character of a string.
Remove all spaces in a string via substitution.
Replace a substring using string substitution.
Extract characters from the end of a string.
Split a String, Extract Substrings by Delimiters.
Add one string to another string.
Trim spaces from the beginning of a string via "FOR" command.
Remove surrounding quotes via FOR command.
Trim spaces from the end of a string via "FOR" command.
Trim spaces from the end of a string via substitution.



Bloqueando Pastas Com Senhas

Olá amigos,
fazer isso sem a instalação de programas é quase impossível, então pesquisei, achei uma forma e melhorei, sei que ainda pode ficar melhor e irei melhorá-la mas já estou colocando aqui o script funcionando.

É um aquivo de lote (.bat) (batch)

O que ele faz?
Ele cria uma pasta chamada PRIVATE e altera os atributos desta pasta e de todos os aquivos contidos nela para:
OCULTO
ARQUIVO DE SISTEMA
SOMENTE LEITURA
BLOQUEIA A LEITURA E GRAVAÇÃO
e também faz a ordem inversa.

A senha este definida dentro do código como 123, ainda estou pensando em como fazer para criar um arquivo de senhas. (Se alguém já tiver uma solução para isso me avise)

Este código foi criado com o objetivo de que em uma mesma pasta vários usuários possam criar seus documentos porém estes documentos não podem ser vistos pelos demais usuários, todos os usuários usam o mesmo PC e a criação de usuários do windows foi descartada, pois muitas pessoas usam o mesmo PC.

Abaixo está a estrutura de diretório que eu criei, reparem que dentro de uma única pasta existem várias pastas de usuários e em cada uma delas deve ter o script instalado.



Tela inicial que cria a pasta PRIVATE ao executar pela primeira vez o script



Tela para bloquear a pasta PRIVATE



Tela para desbloquear a pasta PRIVATE 

Vejam o código:

--------------------------------------------------------------------------------------------------------------------

cls
@ECHO Off
SetLocal EnableExtensions EnableDelayedExpansion

title Bloquear Acesso a Pasta!!!

if EXIST "Private_Lock" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
color A
echo ##########################################################################
echo .                                                                        .
echo . ---------------------------------------------------------------------- .
echo .                                                                        .
echo .          B L O Q U E A R      P A S T A     P R I V A T E              .
echo .                                                                        .
echo ##########################################################################
echo.                                                                                                         
echo Tem certeza, que deseja bloquear a pasta PRIVATE? (Y/N)
set /p "cho="
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Comando Invalido.
pause > nul
goto CONFIRM

:LOCK
ren Private "Private_Lock" 
attrib +h +s +a +r /d /s "%cd%\Private_lock"
attrib +h +s +a +r /d /s "%cd%\Private_Lock\*.*"
goto End


:UNLOCK
cls
color E
echo ##########################################################################
echo .                                                                        . echo . ---------------------------------------------------------------------- .
echo .                                                                        .
echo .         D E S B L O Q U E A R      P A S T A      P R I V A T E        .
echo .                                                                        .
echo ##########################################################################
echo.         
echo Entre com a senha para desbloquear a pasta PRIVATE.
echo.

Set /P "=Senha: " < Nul
Call :PasswordInput
Goto :SENHA

:::::::::: ROTINA PARA TRANSFORMAR A SENHA EM "*" :::::::::::::::::
:PasswordInput
For /F skip^=1^ delims^=^ eol^= %%# in (
'"Echo(|Replace.exe "%~f0" . /U /W"') Do Set "CR=%%#"
For /F %%# In (
'"Prompt $H &For %%_ In (_) Do Rem"') Do Set "BS=%%#"
Set "Line="

:_PasswordInput_Kbd
Set "CHR=" & For /F skip^=1^ delims^=^ eol^= %%# in (
'Replace.exe "%~f0" . /U /W') Do Set "CHR=%%#"
If !CHR!==!CR! Echo(&Goto :Eof
If !CHR!==!BS! (If Defined Line (Set /P "=!BS! !BS!" <Nul
Set "Line=!Line:~0,-1!"
)
) Else (Set /P "=*" <Nul
If !CHR!==! (Set "Line=!Line!^!"
) Else Set "Line=!Line!!CHR!"
)
Goto :_PasswordInput_Kbd

:::::::::: FIM DA ROTINA PARA \TRANSFORMAR A SENHA EM "*" :::::::::::::::::

:SENHA
if NOT %Line%== 123 goto FAIL:
attrib -r -s -a -h /d /s "%cd%\Private_lock"
attrib -r -s -a -h /d /s "%cd%\Private_lock\*.*"
ren "Private_Lock"  Private
cls

goto End

:RELOCK
color c
echo Tentar Novamente? (Y/N)
set /p "cho="
if %cho%==Y goto UNLOCK
if %cho%==y goto UNLOCK
if %cho%==n goto END
if %cho%==N goto END
pause > nul
goto UNLOCK


:FAIL
cls
color c
echo Senha Invalida
goto RELOCK

:MDLOCKER
prompt 888888888 criando pasta 888888888888
md Private
color E
echo A Pasta PRIVATE Foi Criada Com Sucesso!!!
echo Avancar aperte ENTER!!!
pause > nul
cls
goto CONFIRM

:End

:ENTER
exit

sexta-feira, 15 de maio de 2015

Solução - O driver da mesa gráfica não está sendo executado



Olá PessoALL,

Assim como muitos eu também estou com problema de detecção da mesa gráfica wacom, este problema começou a ocorrer depois que eu formatei minha máquina, antes eu tinha Windows 7 e continuo com ele, com o mesmo HD e a mesma CPU, eu realmente apenas formatei. Depois disso eu reinstalei todos os drivers, no caso da mesa digitalizadora eu usei o próprio drive do CD de instalação, no início funcionou perfeitamente, porém, depois de alguns dias, ao ligar a máquina, surgia uma janela dizendo que a Mesa Gráfica Não Foi Detectada, e este erro era intermitente, ou seja, as vezes ocorria as vezes não, depois de várias atualizações e vários antivírus sem sucesso recorri ao suporte da Wacom que me atendeu prontamente, me passaram um e-mail dizendo o que eu tinha que fazer, fiz tudo, porém o erro continuava, então achei um post que me deu uma solução paliativa e que estou usando há muito tempo, esta solução consiste apenas em salvar as preferências da Wacom (quando ela estiver funcionando corretamente) e restaurar quando ocorrer o problema.

Aqui está a imagem do erro quando ele ocorre



Faça assim:

FAZENDO BACKUP DAS PREFERÊNCIAS

1. No momento em que a mesa estiver funcionando sem apresentar aquele bendito erro vá em Utilitário do Arquivo de Preferências da Wacom, antes abra algum programa para testar as funcionalidades da mesa e da caneta.


2. Irá abrir a janela abaixo e clique em FAZER BACKUP


3. Salve o arquivo em um local que se lembre quando for necessário, neste arquivo estarão guardados tudo o que precisa para resolver o problema quando ele ocorrer.

RESTAURANDO O BACKUP

1. Basta abrir as preferências e clicar no botão restaurar, selecione o arquivo e pronto, tudo funcionará perfeitamente, não esqueça de reinicializar seus programas que utilizam a mesa Wacom para que carreguem as preferências da mesa.


Bom, é isso,
espero ter ajudado e deixem comentários para saber se funcionou em sua situação.

Abraços e boa sorte a todos.

Amigos,
nosso amigo Mário Augustin deixou um vídeo informando uma outra forma de corrigir o problema.
Obrigado pela ajuda Mário.








Related Posts Plugin for WordPress, Blogger...