2010-12-07 14 views
0

これで全てが私のstringparsing.batプログラムで動作していますので、テキストファイルを正常に作成し、エンコードして表示できます。ただし、テキストファイルをエンコードした後、テキストファイルをデコードしないという問題が発生しました。エンコードされたテキストファイルが含まれている場合は言う:stringparsing.batの問題の第2部分

20 18 1 9 14 19

私はこのスクリプトを使用して、それをデコードする場合:

@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 

私が手:

t 1h a i 1d 1i 

プログラムが文字を解読するときのでr(これは18です)、それは18時の8時に文字hで間違っているので、1h ...特定の検索と置換を行う方法はありますか? (スペースを含むファイルへのパスを入力する場合と同様に、パスとファイル名の前後に引用符を付けるのと同様です)もしそうなら、フォーマットはどうなりますか?相続人

EDITstringparsing.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 
+1

あなたは質問をするのに時間を浪費していますが、間違ったスクリプトを投稿するとエンコーダです。あなたのデコードループの簡単な** echo!var!**はすべてを説明しています。 – jeb

+0

私は申し訳ありませんが、私は "単純なエコー!var!あなたのデコードループexaplainsすべての意味"を理解していないと何を質問する時間を無駄にしている意味ですか?あなたはスクリプトまたは私の投稿 – daniel11

+0

のスクリプトでは、私は重要な質問をする、私は質問をするために作ったので、そのユーザーフレンドリーなだけでなく、仕事を完了し、閉じる... – daniel11

答えて

0

私が取得:プログラムが解読ときので

トン1hは1D 1I

を愛 文字r(18)と入力してください。 8で18をlettそれで は1hを入れます... これを特定の検索に置き換えて置き換える方法はありますか? (空白を含む ファイルへのパスを入力する場合と同様に、パスとファイル名には が引用符で囲まれます) もしそうなら、フォーマットはどうなりますか?

ああ、問題があります。そしてあなたはその原因を見ます。 18が前にライン

set var1=!var1:8 =h ! 

に置き換えられ、正しいラインは、それが

set var1=!var1:18 =r ! 

問題を解決できない場合は交換することができ、その後、希望の余地はありません。 :-)

+0

よくかなり明白私は問題を解決することができない(または、私は質問をしていません...)、なぜあなたたちがこの答えに応答しているか、私が何をすべきかに関するフィードバックや意見を与えることです... – daniel11

+0

あなたの明白な、私が必要なのは答えです。 – daniel11

+1

あなたは答えがあります!"set X"が "set Y"になる前に失敗した場合はどうしますか? – jeb

関連する問題