有没有办法通过find返回文件和/或文件夹的绝对路径?
让我们说C:\ test
中的filename.txtset file=filename.txt
dir %file% /s
现在它在第6行返回c:\ test但我想要的是它返回绝对路径
c:\ test \ filename.txt并将其设置为variabel以供下次使用。
谢谢
答案 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