批量获取文件内容

批量获取文件内容

我有一个批处理文件,它应该在目录中搜索具有特定扩展名的文件,然后获取该文件的扩展名。它成功找到了该文件,但由于某种原因无法读取它。问题可能是什么?

这是我的代码:

@echo off

setlocal enabledelayedexpansion



::Find the file
for /r %%i in (*.extension) do set file=%%~nxi

::Get that file's contents (not working)
for /f "delims=" %%x in (%file%) do set Build=%%x




::returns nothing.
echo %Build%

答案1

您的脚本将变量“file”设置为仅文件名(无路径)。然后您尝试打开文件名(无路径)。在我的系统上,我收到“系统找不到文件...”错误。

这让我相信,在您的脚本中,查找文件行使用了 bat 文件的当前路径,但读取文件却没有。我猜是因为查找行中的“*”。

我通过简单地将查找文件行更改为:

for /r %%i in (*.txt) do set file=%%i

现在变量“文件”将是完整的路径+文件名,批处理文件找到我的文件并读取文本。

相关内容