如何像 Unix find 命令一样在 Windows 上列出文件名?

如何像 Unix find 命令一样在 Windows 上列出文件名?

我正在寻找 Windows 上与以下 Unix 命令等效的命令行:

find test -name '*.txt' -print

此命令列出“test”文件夹及其子文件夹中的所有文件名,扩展名为 .txt。此外,如果文件位于子文件夹中,列表还会显示子文件夹名称:

file1.txt
sub/file2.txt
sub/file3.txt
sub2/file4.txt
file5.txt

有人知道 Windows 上的等效产品吗?

答案1

好用的旧“dir”命令可以实现这一点。试试dir *.txt /s. dir 适用于通配符,其中 * - 替换 0 个或更多字符 ? - 替换 1 个字符 /s - 递归访问子文件夹

答案2

或者如果你使用的是带有 powershell 的现代版本的 windows,你可以执行以下操作:

  get-childitem *.txt -recurse|Foreach-Object -Process { Resolve-Path -Relative $_.FullName}

这将得到类似

.\subdir\test.txt
.\subdir2\test1.txt

ETC

答案3

您还可以考虑使用赛格威它为您带来了 Unix shell 和大量 Windows 软件包。

相关内容