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 命令应用于第二个代码:

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 回答