将文本文件内容读入批处理变量

时间:2014-01-25 10:53:42

标签: windows batch-file

我有文件:
Y:\ A.TXT
y:\ b.txt

我有x.bat:

@echo off  
y:  
cd \  
for /f %%f in ('dir /b y:\*.txt') do (  
set content=  
set /p content=<y:\%%f  
echo y:\%%f  
echo content=%content%  
)

结果:

y:\a.txt  
content=  
y:\b.txt  
content=  

为什么不包含%content%变量文本文件的第一个谎言?文件不为空。

1 个答案:

答案 0 :(得分:0)

修改批处理脚本,如下所示:

@echo off  
setlocal enableDelayedExpansion
y:\
cd \
set content=
for /f %%f in ('dir /b *.txt') do (  
set /p content=<%%~dpff
echo file:%%~dpff , content:!content!
)

编辑。请注意~dpf以获取文件路径。正如@foxidrive所提到的那样,如果没有正确的道路,它将无法运作。

输出结果如下:

file:y:\a.txt , content:lorem
file:y:\b.txt , content:ipsum
file:y:\c.txt , content:Ocaml, Haskell