1

変数の設定方法によって異なる結果が得られます

ケース1

@echo off
set TITLE=Cañete
setlocal EnableDelayedExpansion
set "line=<docTitle><text>%TITLE%</text></docTitle>"
( echo !line! ) > test1.txt

ケース 2

set /P TITLE=     ( I introduce here the same word Cañete )
setlocal EnableDelayedExpansion
set "line=<docTitle><text>%TITLE%</text></docTitle>" 
( echo !line! ) > test2.txt

test1.txt で正しいテキストを取得します。

<docTitle><text>Cañete</text></docTitle>

test2.txt で、間違った txt を取得します。

<docTitle><text>ca¤ete</text></docTitle>

私の質問: ケース 2 で正しいものを取得するにはどうすればよいですか

<docTitle><text>Cañete</text></docTitle>

どうもありがとう。

4

1 に答える 1

1

CHCPコマンドを2番目のコードに適用します。

SET /P TITLE=     ( I introduce here the same word Cañete )
SETLOCAL ENABLEDELAYEDEXPANSION
CHCP 1252 > NUL
SET "line=<docTitle><text>%TITLE%</text></docTitle>" 
( 
    ECHO !line! 
) > test2.txt
CHCP 850 > NUL

私が助けてくれたことを願っています。

于 2012-05-27T14:18:39.113 に答える