首页 > 解决方案 > 批处理文件读取内容无文件扩展名

问题描述

for /r "C:\File Folder" %%a in (*) do if "%%~nxa"=="FoundFile" set p=%%~dpnxa
for /f "delims=. tokens=1*" %%A in ("%p%") do set Build=%%B
CMD>if "FoundFile" == "FoundFile" set p=C:\File Folder\SubFolder\FoundFile
CMD>for /F "delims=. tokens=1*" %A in ("C:\File Folder\SubFolder\FoundFile") do set Build=%B
CMD>set Build=

搜索功能似乎找到了我正在寻找的文件。FoundFile 没有扩展名。当我在批处理文件中运行相同的命令时,它在同一个文件夹中,我只是给它一个文件名,没有文件路径,它运行完美。一旦我尝试从远程文件夹运行脚本并为其提供完整路径,它就会运行所有内容,但无法从文件中获取所需的数据。我猜它无法打开它来阅读它并填写变量 Build

它正在读取的文件正在获取从另一个程序写入文件中的扩展名。我需要那个扩展来继续我的脚本。

如何读取没有扩展名的文件,我无法“添加扩展名”。

标签: windowsbatch-filecmd

解决方案


尝试"usebackq tokens=1* delims=."

for /f当应用于带引号的字符串时,处理字符串,而不是引号内的文件名。

由于命令中的歧义,我将其放在delims=最后 - 正如您原来所写的那样,分隔符集可能是.or ( .and Space)


推荐阅读