我在这个网站上找到了这个有用的脚本,可以为txt文件中的行赋值。
@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
for /F "tokens=*" %%A in (caplist.txt) do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%A
echo %%A
)
set var > test.txt
pause
它工作正常,但我的文本文件中的行包含西班牙语字符,如ñ,é等。 test.txt中的行是正常的,但for循环中的回显显示异域字符。 顺便说一句,我只是对文件执行简单的Type命令就可以获得相同的效果。
有人可以帮忙吗? 非常感谢
答案 0 :(得分:0)
这是因为显示cmd.exe输出的终端窗口正在使用caplist.txt中的字符编码的不同代码页。
可能它们使用ISO 8859-1或UTF-8进行编码。
在您的终端尝试chcp 1250
,看看这是否可以解决您的问题。
如果没有,请以十六进制转储文本文件并找出所使用的编码,并相应地设置终端代码页。