Powershell Get-Item无法在某些目录(如AppData)上工作,而Get-ChildItem可以



为什么Get-Item在某些目录上不起作用?例如,CCD_;找不到项目";,但是ls $env:USERPROFILEAppData工作正常并且可以列出文件?

我想使用gi向它传递一个字符串,将它转换为具有其他成员(如LastWriteTime(的对象。如果我对Get-ChildItem使用ls,我会得到子级,即目录中的文件,但不会得到目录。

我可以通过在父级上使用这样的过滤器来解决这个问题:ls -h $env:USERPROFILE | ? {$_.Name -match "AppData"} | select Name,LastWriteTime-但必须有更好的方法,它不能解释为什么gi不能直接工作。

AppData目录有隐藏属性集:

PS C:> attrib $env:USERPROFILEAppData
H                C:UsersusernameAppData

隐藏属性意味着默认情况下Get-Item会忽略它。解决方法是使用-Force:

PS C:> Get-Item $env:USERPROFILEAppData -Force
Directory: C:Usersusername
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d--h--       11/25/2019  12:41 PM                AppData

相关内容

  • 没有找到相关文章

最新更新