Ok, donc tout fonctionne avec mon programme stringparsing.bat, je peux créer, encoder et afficher les fichiers texte avec succès. Cependant maintenant le problème se pose qu'il ne décodera pas le fichier texte après l'avoir encodé. Dites si le fichier texte codé contient:deuxième partie de stringparsing.bat problèmes
20 18 1 9 14 19
Quand je décode à l'aide de ce script:
@echo off
cls
echo.
echo.
echo.
echo.
echo.
echo Decoding Your Language File... Please Wait...
echo.
echo.
echo.
for /f "delims=" %%i in (!name1!.txt) do (
set var1=%%i
set var1=!var1:1 =a !
set var1=!var1:2 =b !
set var1=!var1:3 =c !
set var1=!var1:4 =d !
set var1=!var1:5 =e !
set var1=!var1:6 =f !
set var1=!var1:7 =g !
set var1=!var1:8 =h !
set var1=!var1:9 =i !
set var1=!var1:10 =j !
set var1=!var1:11 =k !
set var1=!var1:12 =l !
set var1=!var1:13 =m !
set var1=!var1:14 =n !
set var1=!var1:15 =o !
set var1=!var1:16 =p !
set var1=!var1:17 =q !
set var1=!var1:18 =r !
set var1=!var1:19 =s !
set var1=!var1:20 =t !
set var1=!var1:21 =u !
set var1=!var1:22 =v !
set var1=!var1:23 =w !
set var1=!var1:24 =x !
set var1=!var1:25 =y !
set var1=!var:26 =z !
set var1=!var1:27 =. !
set var1=!var1:28 =, !
echo Verifying Content...
)
echo %var1% > %name1%.txt
echo Decoding Complete!
TIMEOUT /t 1 /nobreak > nul
Je reçois:
t 1h a i 1d 1i
Parce que lorsque le programme décode la lettre r (qui est 18) il confond le 8 en 18 pour la lettre h et met donc 1h ... alors y a-t-il un moyen de faire une recherche spécifique et de la remplacer? (semblable à si vous tapez un chemin d'accès à un fichier avec des espaces dedans, vous mettriez des guillemets autour du chemin et du nom de fichier) Si oui, quel serait le format?
EDIT Heres le script en cours pour le programme stringparsing.bat:
@echo off
setlocal enabledelayedexpansion
title BETA
cls
cd /d F:\script\st
echo.
echo.
echo.
echo Setting Variables...
echo Loading Language Database...
set beepset=true
:: ###################################################################################
:: CALLING VARIABLE DATABASE CALLING VARIABLE DATABASE CALLING VARIABLE DATABASE
:: ###################################################################################
TIMEOUT /t 5 /nobreak > nul
goto MAIN
:MAIN
cls
IF %beepset%==true echo
echo =================================================================================
echo.
echo Please type a name for your new language file:
echo =================================================================================
set /p name=
cls
echo.
echo.
echo.
echo ==============================================================
echo ##############################################################
echo #============================================================#
echo # #
echo # - Create the file you would like to encode. #
echo # #
echo ##############################################################
echo # #
echo # - How many lines of text will your file have? #
echo # #
echo #============================================================#
echo ##############################################################
echo ==============================================================
set /p linecount=
cls
set foo=0
set linenumber=0
:lineset
set /a linenumber=linenumber+=1
set /p line1=%linenumber%
echo. >> %name%.txt
echo %line1% >> %name%.txt
set /a foo=foo+1
IF %foo%==%linecount% goto MAIN123
goto lineset
:ENCODE
title Step 2
cls
echo.
echo.
echo.
echo. =================================================================================
echo.
echo Please type a name of the File you want to Encode:
echo.
echo. =================================================================================
set /p name2=
echo.
echo.
echo.
echo.
echo.
echo Encoding Your Language File... Please Wait...
echo.
echo.
echo.
for /f "delims=" %%i in (!name2!.txt) do (
set var=%%i
set var=!var:a=1 !
set var=!var:b=2 !
set var=!var:c=3 !
set var=!var:d=4 !
set var=!var:e=5 !
set var=!var:f=6 !
set var=!var:g=7 !
set var=!var:h=8 !
set var=!var:i=9 !
set var=!var:j=10 !
set var=!var:k=11 !
set var=!var:l=12 !
set var=!var:m=13 !
set var=!var:n=14 !
set var=!var:o=15 !
set var=!var:p=16 !
set var=!var:q=17 !
set var=!var:r=18 !
set var=!var:s=19 !
set var=!var:t=20 !
set var=!var:u=21 !
set var=!var:v=22 !
set var=!var:w=23 !
set var=!var:x=24 !
set var=!var:y=25 !
set var=!var:z=26 !
set var=!var:.=27 !
echo Verifying Content...
)
echo %var% > %name2%.txt
echo Encoding Complete!
TIMEOUT /t 1 /nobreak > nul
goto MAIN123
:DECODE
title Decode...
echo.
echo.
echo.
echo =================================================================================
echo.
echo Please type a name of the File you want to decode:
echo.
echo =================================================================================
set /p name1=
:decoderscript
cls
echo.
echo.
echo.
echo.
echo.
echo Decoding Your Language File... Please Wait...
echo.
echo.
echo.
for /f "delims=" %%i in (!name1!.txt) do (
set var1=%%i
set var1=!var1:1 =a !
set var1=!var1:2 =b !
set var1=!var1:3 =c !
set var1=!var1:4 =d !
set var1=!var1:5 =e !
set var1=!var1:6 =f !
set var1=!var1:7 =g !
set var1=!var1:8 =h !
set var1=!var1:9 =i !
set var1=!var1:10 =j !
set var1=!var1:11 =k !
set var1=!var1:12 =l !
set var1=!var1:13 =m !
set var1=!var1:14 =n !
set var1=!var1:15 =o !
set var1=!var1:16 =p !
set var1=!var1:17 =q !
set var1=!var1:18 =r !
set var1=!var1:19 =s !
set var1=!var1:20 =t !
set var1=!var1:21 =u !
set var1=!var1:22 =v !
set var1=!var1:23 =w !
set var1=!var1:24 =x !
set var1=!var1:25 =y !
set var1=!var:26 =z !
set var1=!var1:27 =. !
set var1=!var1:28 =, !
echo Verifying Content...
)
echo %var1% > %name1%.txt
echo Decoding Complete!
TIMEOUT /t 1 /nobreak > nul
goto MAIN123
:DISPLAY
cls
echo.
echo.
echo.
echo Please type the name of the file you want to display:
set /p displayfile=
type %displayfile%.txt
echo.
echo hit enter to go to Main Menu...
pause > nul
goto MAIN123
:END
cls
title SHUTTING DOWN...
echo.
echo.
echo.
echo Terminating service stream...
echo.
echo.
echo.
echo.
echo Done! Thank you for using this program!
TIMEOUT /t 2 /nobreak > nul
::(%xx%) -1 I/O Stream= "SHELL.dll"
:: IF EXIST [&1[Parser_2009]] exit
Exit
Vous perdez trop de temps à poser des questions et vous postez le mauvais script, c'est l'encodeur. Un simple ** echo! Var! ** dans votre boucle de décodage explique tout. – jeb
je suis désolé mais je ne comprends pas ce que vous entendez par "un simple écho! Var! Dans votre boucle de décodage exaplains tous" et que voulez-vous dire par im perdre du temps à poser des questions? vous voulez dire dans le script ou dans mon poste – daniel11
dans le script, je pose des questions qui sont importantes, je l'ai fait pour poser des questions, de sorte que son utilisation conviviale non seulement, faire le travail et fermer ... – daniel11