使用Dir Command,如何在文件名的同一行上显示文件位置?

时间:2019-07-16 16:17:24

标签: windows batch-file cmd directory

当我尝试在驱动器上查找文件时,我输入类似以下内容:

dir /ogn /a /s | findstr /i the_file_im_looking_for

结果类似于:

  

2019年1月1日上午9:15 3,783 this_is_the_file_im_looking_for.txt

问题是,那不能告诉我文件的位置。

当然,如果没有findstr命令,则该文件的位置将用作该位置文件列表的标题。

不仅可以通过名称查找文件,还可以查找文件的位置吗?

1 个答案:

答案 0 :(得分:0)

您应该可以使用forfiles来做到这一点:

forfiles /m *the_file_im_looking_for* /s /c "cmd /c echo @path"
  • /m引入了要搜索的glob模式
  • /s使搜索递归到子目录
  • c引入了针对每个匹配文件运行的命令
  • @path替换为文件的完整路径

这将打印所有与glob模式匹配的文件和目录。正如aschipfl在注释中指出的那样,如果您只想将其限制为文件,则可以在命令中添加条件:

forfiles /m *the_file_im_looking_for* /s /c "cmd /c if @isdir==FALSE echo @path"