我有(2)批处理脚本将打开的文本文件,读取第2行并将变量设置为第2行的值。文本文件只包含3行,第一个文件是数字,第二个是字母。我使用以下内容打开,阅读和设置:
for /f "token=1*delim=:" %%G in ('findstr /n "^" chnid.txt') do if %%G equ 2 set xcid=%%H
for /f "token=1*delim=:" %%L in ('findstr /n "^" cfile.txt') do if %%L equ 2 set xcfile=%%J
执行时,它可以很好地为数字设置xcid,但它永远不会为字母设置xcfile。在执行期间,我可以看到它通过if语句逐步执行文本文件的每一行,它显示每行的值,但它从不设置变量。
chnid文件有3行,每行有一组数字:
48051
12547
89745
cfile文件有3行,每行包含一组字母:
"abcdef"
"ghijkl"
"mnopqr"
有人建议乳清不会设置xcfile
变量= %%J
吗?
感谢您的帮助
答案 0 :(得分:2)
我认为这就是你想要的
set xcfile=%%M
答案 1 :(得分:0)
2个基本原因。
首先,您要定位的文件中不包含“2”。
其次,在普通字母表中,L
后跟M
,而不是J
。这当然不是政治上正确的,因为它可能会冒犯诵读困难,所以我可能已经过时了,但我认为这很可能是你问题的原因。