批处理脚本SET / p输入特殊的西班牙字符

时间:2012-05-27 10:48:43

标签: variables batch-file set

取决于我如何设置变量

,我获得了不同的结果

案例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>

非常感谢。

1 个答案:

答案 0 :(得分: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

我希望我有所帮助。