批处理,读取文本文件中每行的第一个字母,并将其添加到新单词中

时间:2016-06-08 10:05:03

标签: batch-file

我遇到了问题,我想要一个批处理脚本,它会读出文本文件中每一行的第一个数字(newfile.txt)。

newfile.txt中有5行,每行有5个数字,如下所示:

01101
00100
10011
11011
01010

现在我希望脚本读取第一个列。我认为,如果脚本将从每一行获取第一个数字并将其设置为变量,那么这是可能的。在这种情况下,它将是00110。在此之后它应该删除每行中的第一个数字,以便只有

1101
0100
0011
1011
1010

留在第一行。

1 个答案:

答案 0 :(得分:0)

使用FOR循环迭代文件内容,剪切第一个字符并将其余字符写入另一个文件:

@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET infile=newfile.txt
SET outfile=newfile2.txt
:: DEL !outfile!
FOR /F %%G IN (!infile!) DO (
    SET _tmp=%%G
    SET first=!_tmp:~0,1!
    SET rest=!_tmp:~1!
    ECHO !rest! >> !outfile!
)
:: MOVE !outfile! !infile!

您可以在第3行和第4行设置输入/输出文件名。输出文件将包含您在问题中指定的内容。扩展批处理文件以处理!first!中的第一个字符到您的链接(您没有说明如何处理它)。

如果您要将原始文件替换为修改后的(删除第一个字符),则可以取消注释(删除::DELMOVE行。但请先在原始文件的副本上试一试!