如何将echo命令与特殊字符一起使用

时间:2014-04-07 12:27:56

标签: xml batch-file vbscript special-characters

我有一个包含一些信息的XML文件,我已经制作了一个vbscript来替换这个XML文件的信息。它工作正常,我的问题是特殊字符,例如:

<string name="information_1">ÁÉÍÓÚ</string>

我的vbscript读了它,我的脚本尝试将<string>标记的内容放到textFile:

@echo off
for /f "tokens=*" %%a in ('cscript //nologo readXML.vbs') do (echo/%%a>>textFile.txt)

textFile的内容现在为:µÖàé

有没有办法使用echo将ÁÉÍÓÚ放到文本文件中?

3 个答案:

答案 0 :(得分:2)

文件不包含“字符”(字母/符号/字形/图像,看起来像A或Z),但不包含数字。显示这些数字的(人员配置)代理决定encoding(数字到字母/符号/字形/图像的映射)。

请参阅:

chcp
Active code page: 850

echo ÁÉÍÓÚ >0.txt

debug 0.txt
-d 100
0BFA:0100  B5 90 D6 E0 E9 20 0D 0A-E4 75 21 8A F0 2E A1 58 <-- these numbers never change

type 0.txt
ÁÉÍÓÚ <-- 850 glyphs for those numbers

chcp 1256
Active code page: 1256

type 0.txt
µگضàé  <-- 1256 glyphs for those numbers

确定您想要/必须使用的编码方案,然后正确配置您的显示工具(控制台,编辑器,浏览器......)。

答案 1 :(得分:1)

试试这个:

创建一个名为Char.txt的文本文件,并将ÁÉÍÓÚ放入文本文件中。确保文本文件与批处理文件位于同一文件夹中。

@echo off
SetLocal EnableDelayedExpansion
for /f "delims=" %%x in ('type Char.txt) do ( 
    set "Var=%%x"
    ECHO !Var!>>textFile.txt
)
echo Done
pause

这将显示Char.txt并将其回显给textFile.txt。我不认为有任何其他方式,因为CMD spites认为它不知道。

答案 2 :(得分:0)

我怀疑您需要以Unicode友好的方式启动CMD.EXE( CMD.EXE / U / C&lt; script&gt;