为什么“ls 'C:\$Recycle.Bin\'”什么都没有显示?

为什么“ls 'C:\$Recycle.Bin\'”什么都没有显示?

我的回收站里有很多文件,但在 PowerShell 7.1.5 中使用ls 'C:\$Recycle.Bin\'或都Get-ChildItem 'C:\$Recycle.Bin\'没有结果。你知道为什么吗?

答案1

Get-ChildItem默认情况下不列出隐藏文件。您需要使用-Force选项

$ Get-ChildItem -Force 'C:\$Recycle.Bin'
$ ls -Fo 'C:\$Recycle.Bin'

答案2

使用 WinPS 和 PSCore。Get-ChildItem 在查找隐藏文件时有一个开关。

(Get-Command -Name Get-ChildItem).Parameters.Keys
# Results 
<#
...
Hidden
...
#>


$PSVersionTable.PSVersion
# Results
<#
Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
7      2      6
#>

 Get-ChildItem -Path 'C:\$Recycle.Bin' -Hidden
# Results
<#
    Directory: C:\$Recycle.Bin

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d--hs           03-Apr-22    17:29                S-1-5-18
d--hs           03-Apr-22    15:24                S-1-5-21-2605158930-3620923046-633914236-1000
d--hs           03-Apr-22    15:39                S-1-5-21-2605158930-3620923046-633914236-1001
d--hs           08-Oct-22    23:56                S-1-5-21-2605158930-3620923046-633914236-1002
#>

$PSVersionTable.PSVersion
# Results
<#
Major  Minor  Patch  PreReleaseLabel BuildLabel
-----  -----  -----  --------------- ----------
5      1      19041  1682
#>

 Get-ChildItem -Path 'C:\$Recycle.Bin' -Hidden
# Results
<#
    Directory: C:\$Recycle.Bin

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d--hs           03-Apr-22    17:29                S-1-5-18
d--hs           03-Apr-22    15:24                S-1-5-21-2605158930-3620923046-633914236-1000
d--hs           03-Apr-22    15:39                S-1-5-21-2605158930-3620923046-633914236-1001
d--hs           08-Oct-22    23:56                S-1-5-21-2605158930-3620923046-633914236-1002
#>

正如已经展示的,-Force 在两种情况下都有效。

相关内容