PDA

View Full Version : [batch]Criptare file di testo


skeleton
03-09-2009, 20:18
Salve a tutti,
sono sempre io, quello che fa domande strane sul batch:D .
Vi espongo subito il problema:

Ho un file .txt contenente del testo, ad esempio ciao sono io.
Io ho scritto queste righe ma non mi funziona:

@echo off
set /p choice=Nome del file .txt da criptare (senza l'estensione) che si trova in questa directory:
for /f "tokens=1,*" %%i IN ("%choice%.txt") do call :sp "%%i" > "%choice%"_cripted.txt
:sp
set param=%1
set result=%param:a=1%
set result=%result:b=2%
set result=%result:c=3%
set result=%result:d=4%
set result=%result:e=5%
set result=%result:f=6%
set result=%result:g=7%
set result=%result:h=8%
set result=%result:i=9%
set result=%result:l=10%
set result=%result:m=11%
set result=%result:n=12%
set result=%result:o=13%
set result=%result:p=14%
set result=%result:q=15%
set result=%result:r=16%
set result=%result:s=17%
set result=%result:t=18%
set result=%result:u=19%
set result=%result:v=20%
set result=%result:z=21%
set result=%result:x=22%
set result=%result:y=23%
set result=%result:y=24%
set result=%result:k=25%
echo %result%
:end

Ecco i problemi::muro:
1.%choice% non funzona con for, ma se scrivo direttamente il nome del file eliminando il primo passaggio, tutto o quasi funziona, i problemi anche cosė sono nel punto 2 e 3
2.mi cripta solo la prima riga di testo:doh:
3.all'inizio e alla fine del testo criptato compaiono le virgolette
4.vorrei aggungere nello schema di criptaggio, che tra una parola ed un altra venga eliminato lo spazio e aggiunta una lettera dell'alfabeto: per il primo spazio la a, per il secondo la b, ecc...

Vi prego aiutatemi:mc:

skeleton
08-09-2009, 19:36
Nessuna idea???

Io nel frattempo sono riuscito, grazie all'aiuto di un membro di questo forum, a eliminare il problema dato dalle virgolette e dal fatto che mi criptava solo la prima riga di testo.
Ecco il codice:

for /f "tokens=* delims= " %%i in (1.txt) do call :sp "%%i" >> 1_cripted.txt
:sp
set param=%1
set result=%param: =0%
set result=%result:a=1%
set result=%result:b=2%
set result=%result:c=3%
set result=%result:d=4%
set result=%result:e=5%
set result=%result:f=6%
set result=%result:g=7%
set result=%result:h=8%
set result=%result:i=9%
set result=%result:l=10%
set result=%result:m=11%
set result=%result:n=12%
set result=%result:o=13%
set result=%result:p=14%
set result=%result:q=15%
set result=%result:r=16%
set result=%result:s=17%
set result=%result:t=18%
set result=%result:u=19%
set result=%result:v=20%
set result=%result:z=21%
set result=%result:x=22%
set result=%result:j=23%
set result=%result:y=24%
set result=%result:k=25%
set result=%result:"=%
echo %result%
:end

Il punto 4 non mi serve pių, vi chiedo di aiutarmi solo nel problema derivato da %choice%.

Aiutatemi per favore!!!:ave:

zuper
08-09-2009, 20:28
togli le virgolette ;)

set /p choice=[nome file]
for /f %%w in (%choice%.txt) do echo %%w

skeleton
08-09-2009, 20:33
Grazie mille.
Puoi rispondere ad un altro quesito: http://www.hwupgrade.it/forum/showthread.php?t=2043694

zuper
08-09-2009, 20:37
Da dove???

set /p choice=[nome file]
for /f %%w in (%choice%.txt) do echo %%w