2017-10-19 124 views
0

源文件逐行读取文件中的行存在于以下方式: -如何使用批处理

ABC

DFC

农发行

我使用下面的代码打印文件中的每一行。

for /f "tokens=* delims=" %%a in ('type input.txt') do (

set line=%%a 
echo %line% 
) 

但输出

农发行

农发行

农发行

怎么办?所需的输出是:

ABC

DFC

农发行

+0

为什么你会把powershell放下来,如果你werent寻找PowerShell的帮助? – ArcSet

+0

假设你不明白英语单词** pause **意味着什么。打开一个cmd提示并输入:'pause /?'。如果您打算将FOR变量分配给环境变量,那么您需要使用延迟扩展来引用变量。阅读:https://ss64.com/nt/delayedexpansion.html – Squashman

+0

@Squashman: - 我已经在脚本中添加了这个'setLocal EnableDelayedExpansion',但它仍然是一样的。 –

回答

0

@Squashman提供真正的答案,但在这里它是写出来:

setLocal EnableDelayedExpansion 

for /f "tokens=* delims=" %%a in ('type input.txt') do (
set line=%%a 

echo !line! 
) 
+2

不需要迭代'type'的输出。 'for'可以很好地读取文件。 – Joey

1

除非你特别需要操纵行或保存最后一行i的内容n一个变量绝对不需要使用For循环:

Type input.txt