如何用PowerShell仅列出文件的完整路径、文件名及最后修改时间
解决方法
你只需要给Get-ChildItem加上-File参数,就能直接只返回文件对象,同时在Select-Object里加上Name属性来获取单独的文件名,修改后的脚本如下:
Get-ChildItem -Path . -Recurse -File | Select-Object FullName, Name, LastWriteTime | Export-Csv -Path x:\filedetails2.csv -NoTypeInformation
关键修改说明
-File参数:直接让Get-ChildItem只遍历并返回文件,自动排除所有文件夹,比后续再过滤更高效。- 添加
Name到Select-Object:满足你需要单独获取文件名的需求,FullName返回完整路径,Name返回纯文件名。
兼容旧版PowerShell的方案(如PS 2.0)
如果你的PowerShell版本不支持-File参数,可以用Where-Object手动过滤掉文件夹:
Get-ChildItem -Path . -Recurse | Where-Object { -not $_.PSIsContainer } | Select-Object FullName, Name, LastWriteTime | Export-Csv -Path x:\filedetails2.csv -NoTypeInformation
这里$_.PSIsContainer为$true时代表是文件夹,用-not取反就只保留文件。
内容的提问来源于stack exchange,提问作者Revive IT
相关产品推荐
相关产品推荐

