PDA

View Full Version : Criptare un testo con bat


crazyboy92
18-05-2009, 19:35
anzitutto scusate se ho sbagliato sezione, ma non sapevo come considerare questa discussione

la mia domanda è, Possibile???
in pratica chiedevo se si poteva creare un file *.bat che una volta avviato apre i file *.txt dentro una cartella e ne crea una copia criptata secondo un MIO tipo di criptaggio
come se la parola:
CASSA
diventasse:
ҖЩбш
fissando le regole:
c=Җ
a=ш
ss=б (solo perché doppia S, se fosse stata una P sarebbe stato un altro carattere)
a=ш

scusate se l ho riportato in modo complicato, grazie 1000 cmq

greenviolet
18-05-2009, 20:29
Non sono sicuro che con un file batch si possa fare (conosco il linguaggio anche se non molto approfonditamente),dato che non è proprio un linguaggio di programmazione,quanto un linguaggio per gestire il sistema (al contrario della shell di Linux che è potentissima,il BASH,praticamente un vero e proprio linguaggio di programmazione).
Faresti prima a farlo con un linguaggio di programmazione :)

crazyboy92
18-05-2009, 21:23
c++???
mi serve comunque una mano... :(

misterx
18-05-2009, 21:29
questo (http://www.computing.net/answers/programming/find-and-replace-text-in-batch-file/12413.html) dovrebbe fare al caso tuo, dopo le modifiche del caso si intende :)

crazyboy92
18-05-2009, 22:03
questo (http://www.computing.net/answers/programming/find-and-replace-text-in-batch-file/12413.html) dovrebbe fare al caso tuo, dopo le modifiche del caso si intende :)

ho dato un occhiata al volo.. sembra interessante :D!!
domani vedo meglio!
grazie 1000

crazyboy92
19-05-2009, 07:30
domani vedo meglio!

:eek:

@echo off
if exist newfile.txt del newfile.txt
for /f "tokens=*" %%a in (myfile.txt) do call :AddText "%%a
del myfile.txt
rename newfile.txt myfile.txt
exit /b

:AddText %1
set Text=%~1%
echo %Text% >> newfile.txt
if "%Text%"=="database=500" echo desination=300 >> newfile.txt
exit /b


Ho creato il bat per provarlo, ma sinceramente non ho notato niente di diverso, ho anche creato un file chiamato newfile.txt, che viene dapprima eliminato, tolta la seconda riga, invece, rinomina il file in myfile.txt
all' interno niente :muro:

vladix
19-05-2009, 16:28
qui (http://www.dostips.com/DtTipsStringManipulation.php) trovi dei metodi per sostiuire le stringhe ;)

crazyboy92
19-05-2009, 16:33
qui (http://www.dostips.com/DtTipsStringManipulation.php) trovi dei metodi per sostiuire le stringhe ;)

ma se non funziona!!!

crazyboy92
19-05-2009, 16:51
ma se non funziona!!!

oddio scusa, non avevo visto il collegamento, credevo ti riferivi a uello che avevo incollato io :D

vladix
19-05-2009, 16:54
ma se non funziona!!!
va be se fai copia incolla certo che non ti funziona ...

metti la stringa "cassa" nel file uncripted.txt e vedrai che funziona :mad:

@echo off

for /F "tokens=*" %%i IN (uncripted.txt) do call :sp "%%i" > cripted.txt

goto end

:sp

set param=%1
set result=%param:c=Җ%
set result=%result:a=ш%
set result=%result:ss=6%

echo %result%

:end


praticamente la riga del for si legge tutte le righe del file uncripted.txt , chiama :sp che sostituisce i carratteri e poi li stampa sul file cripted.txt

crazyboy92
19-05-2009, 17:08
va be se fai copia incolla certo che non ti funziona ...

metti la stringa "cassa" nel file uncripted.txt e vedrai che funziona :mad:

@echo off

for /F "tokens=*" %%i IN (uncripted.txt) do call :sp "%%i" > cripted.txt

goto end

:sp

set param=%1
set result=%param:c=Җ%
set result=%result:a=ш%
set result=%result:ss=6%

echo %result%

:end


praticamente la riga del for si legge tutte le righe del file uncripted.txt , chiama :sp che sostituisce i carratteri e poi li stampa sul file cripted.txt

SEI UN GENIO
:)
ora solo una domanda, se salvo con caratteri Unicode il file cripted.tx non viene creato..
si puo' risolvere??

un altro favore.. in questo modo cripta solo l' ultima riga, possibile convertire l intero testo?

greenviolet
25-05-2009, 20:46
Non pensavo che con il batch si arrivasse a questo:eek:
Fantastico!:)