CMD Windows查找/搜索并返回绝对路径

时间:2017-10-13 09:59:27

标签: cmd

有没有办法通过find返回文件和/或文件夹的绝对路径?

让我们说C:\ test

中的filename.txt
set file=filename.txt

dir %file% /s 

现在它在第6行返回c:\ test但我想要的是它返回绝对路径

c:\ test \ filename.txt并将其设置为variabel以供下次使用。

谢谢

2 个答案:

答案 0 :(得分:1)

只需将/B选项添加到dir /S命令行,即可返回完整的绝对路径。

要捕获此命令行的输出,请使用for /F loop

for /F "delims=" %I in ('dir /S /B "filename.txt"') do rem/ Do something with `%I`...

例如,要删除匹配的文件,请执行以下操作:

for /F "delims=" %I in ('dir /S /B "filename.txt"') do del "%I"

请注意,您必须将%符号加倍,才能在批处理文件中使用此代码,因此%I变为%%I

答案 1 :(得分:0)

假设您将文件名作为批处理脚本的第一个参数,您的批处理脚本可能如下所示:

set file=%~dpnx1
echo %file%

调用脚本将返回给定文件的绝对路径,您可以将其用作变量。 有关详细信息,请参阅帖子:Resolve absolute path from relative path and/or file name