PowerShell Get-Item
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍PowerShell中的Get-Item
cmdlet。此cmdlet检索有关指定位置的文件、目录和其他项的信息。
项基础知识
PowerShell中的项代表文件、目录或注册表项。Get-Item
cmdlet获取这些项,但不获取它们的内容。它检索元数据,如属性、时间戳和路径。此cmdlet对于文件系统导航和检查至关重要。
Get-Item基本用法
使用Get-Item
的最简单方法是提供文件或目录路径。这将检索项对象而不包含其内容。支持通配符,但仅返回第一个匹配项。输出显示基本属性。
Get-Item "C:\Windows\System32\notepad.exe"
此命令检索有关Notepad.exe的信息。输出包括文件的属性、上次写入时间以及完整路径。该项以FileInfo对象的形式返回。
获取目录信息
Get-Item
可以像文件一样检索目录信息。对于目录,cmdlet返回一个DirectoryInfo对象。这包含创建时间、父目录等属性。默认情况下不包含目录内容。
Get-Item "C:\Windows"
此命令获取有关Windows目录的信息。输出显示目录属性和时间戳。要获取内容,请使用Get-ChildItem
。
PS C:\> .\item2.ps1 Directory: C:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 1/5/2023 2:30 PM Windows
将通配符与Get-Item一起使用
可以使用通配符匹配多个项,但Get-Item
仅返回第一个匹配项。要获取多个匹配项,请使用Get-ChildItem
。星号(*)匹配任何字符,而问号(?)匹配单个字符。
Get-Item "C:\Windows\*.exe"
此命令返回Windows目录中的第一个.exe文件。请注意,尽管有多个匹配项,但只返回了一个项。实际返回的文件可能有所不同。
查看所有项属性
要查看项的所有可用属性,请将输出通过管道传递到Format-List *
。这将显示与项相关联的所有元数据。属性包括默认输出中未显示的技术细节。这对于脚本编写很有用。
Get-Item "C:\Windows\System32\notepad.exe" | Format-List *
此命令显示Notepad.exe的所有属性。输出包括版本信息、安全描述符等。许多属性可用于自动化任务。
访问注册表项
除了文件系统项之外,Get-Item
还可以检索注册表项。使用注册表提供程序路径(以HKLM:或HKCU:开头)。这提供了对Windows注册表配置的访问。返回项的属性。
Get-Item "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
此命令检索有关Windows注册表项的信息。输出显示项的属性和子项。使用Get-ItemProperty
访问注册表值。
按项属性过滤
您可以使用Where-Object
根据项的属性对其进行过滤。此示例查找最近7天内修改过的文件。比较使用LastWriteTime属性。此技术适用于任何项属性。
Get-Item "C:\Windows\*" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-7) }
此命令列出Windows目录中最近修改过的项。$_变量表示管道中的当前项。根据需要调整时间窗口。
获取隐藏项
要检索隐藏项,请使用-Force参数。这会显示设置了Hidden属性的项。通常,Get-Item
会跳过隐藏项。这对于系统管理任务很有用。
Get-Item "C:\Windows\*" -Force | Where-Object { $_.Attributes -match "Hidden" }
此命令查找Windows目录中的隐藏项。-Force参数确保包含隐藏项。检查Attributes属性是否设置了Hidden标志。
来源
在本文中,我们介绍了PowerShell中的Get-Item cmdlet。
作者
列出 所有 PowerShell 教程。