使用for语句读取文件 - 批处理

时间:2014-11-24 21:43:34

标签: windows batch-file for-loop cmd

我有这段代码:

@echo off
for /f "delims=" %%a in ("%~dp0\files\text\lead_r.txt") do set /p key= < lead_r.txt
ECHO %key%
PAUSE

我想要它做的是打开一个特定的文本文件,阅读它,然后将其中的内容写入%key%。它适用于lead_r.txt且批处理文件位于同一文件夹中但当我将lead.txt移至\files\text时失败。 \files\text中没有包含空格的文件,因此我不知道问题出在哪里。

由于

1 个答案:

答案 0 :(得分:0)

很难理解您的目标,但请尝试下一个代码段:

@echo off >Nul 
setlocal EnableDelayedExpansion 
for /f "delims=" %%a in ("%~dp0\files\text\lead_r.txt") do (
rem the same file in next line 
rem set /p key=< lead_r.txt
set /p key= < %%a
ECHO !key!
PAUSE
)
endlocal

此处EnableDelayedExpansion !key!关键字%key%关键字在执行时而不是在解析时展开变量,如果使用{{1}}语法而不是{{1}}一个。