2017-10-19 139 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