我需要递归列出所有带有路径的文件,但不包含文件夹的行,如下所示:
dir-name1\file-name1.ext
dir-name1\file-name2.ext
dir-name2\file-name3.ext
dir-name2\file-name4.ext
我使用的 Powershell 2.0 无法识别某些现代语法。我尝试了许多建议的解决方案,但都不起作用。如果它排除文件夹,它也会删除文件路径;如果它保留路径,它不会排除文件夹。
到目前为止,我唯一能采取的明显限制的解决方法是:
Get-ChildItem -Recurse -Name -Include *.*
有没有更好的方法,而不需要复杂的编写脚本?
正如承诺的那样,这是我的简短回答。在 PowerShell 版本 2.0 中,
Get-ChildItem
cmdlet 没有-File
或开关-Directory
,因此为了获取仅包含文件而不包含目录的列表,您需要使用Where-Object
子句过滤掉 DirectoryInfo 对象:如果您将现在的旧版本 PowerShell升级到至少 5.1 版本,您可以获得相同的结果(只是速度更快),如下所示: