Get-Item

获取位于指定位置的项。

语法

Get-Item
   [-Path] <String[]>
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Force]
   [-Credential <PSCredential>]
   [-UseTransaction]
   [-Stream <String[]>]
   [<CommonParameters>]
Get-Item
   -LiteralPath <String[]>
   [-Filter <String>]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Force]
   [-Credential <PSCredential>]
   [-UseTransaction]
   [-Stream <String[]>]
   [<CommonParameters>]

说明

Get-Item cmdlet 获取位于指定位置的项。 除非使用通配符('*')请求项目的所有内容,否则它不会获取位于该位置的项目的内容。

PowerShell 提供程序使用此 cmdlet 浏览不同类型的数据存储。

示例

示例 1:获取当前目录

此命令获取当前目录。 点 ('.') 表示当前位置的项(而不是其内容)。

Get-Item .

Directory: C:\

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006  10:01 AM            ps-test

示例 2:获取当前目录中的所有项

此命令获取当前目录中的所有项。 通配符 ('*') 表示当前项的所有内容。

Get-Item *

Directory: C:\ps-test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         7/26/2006   9:29 AM            Logs
d----         7/26/2006   9:26 AM            Recs
-a---         7/26/2006   9:28 AM         80 date.csv
-a---         7/26/2006  10:01 AM         30 filenoext
-a---         7/26/2006   9:30 AM      11472 process.doc
-a---         7/14/2006  10:47 AM         30 test.txt

示例 3:获取驱动器的当前目录

此命令获取 C: 驱动器的当前目录。 检索的对象仅表示目录,而不是其内容。

Get-Item C:\

示例 4:获取指定驱动器中的项

此命令获取 C: 驱动器中的项。 通配符 ('*') 表示容器中的所有项,而不仅仅是容器。

在 PowerShell 中,使用单个星号('')来获取内容,而不是传统的“”。“。格式按字面解释,因此“.*”不会检索没有点的目录或文件名。

Get-Item C:\*

示例 5:获取指定目录中的属性

此命令获取“C:\Windows”目录的 LastAccessTime 属性。 LastAccessTime 只是文件系统目录的一个属性。 若要查看目录的所有属性,请键入 (Get-Item \<directory-name\>) | Get-Member

(Get-Item C:\Windows).LastAccessTime

示例 6:显示注册表项的内容

此命令显示 Microsoft.PowerShell 注册表项的内容。 可以将此 cmdlet 与 PowerShell 注册表提供程序配合使用来获取注册表项和子项,但必须使用 Get-ItemProperty cmdlet 来获取注册表值和数据。

Get-Item HKLM:\Software\Microsoft\Powershell\1\Shellids\Microsoft.Powershell\

示例 7:获取目录中具有排除项的项

此命令获取包含点('.')名称的 Windows 目录中的项,但不以“w*”开头。 仅当路径包含通配符 ('*') 以指定项的内容时,此命令才有效。

Get-Item c:\Windows\*.* -Exclude "w*"

参数

-Credential

指定有权执行此操作的用户帐户。 默认值为当前用户。

键入用户名(如“User01”或“Domain01\User01”),或输入 PSCredential 对象,例如由 Get-Credential cmdlet 生成的用户名。 如果键入用户名,系统会提示输入密码。

警告

随 Windows PowerShell 一起安装的任何提供程序都不支持此参数。

类型:PSCredential
Position:Named
默认值:Current user
必需:False
接受管道输入:True
接受通配符:False

-Exclude

指定此 cmdlet 在操作中排除的项或项作为字符串数组。 此参数的值限定 Path 参数。 输入路径元素或模式,例如“*.txt”。 允许使用通配符。

仅当命令包含项的内容(如“C:\Windows*”)时,Exclude 参数才有效,其中通配符指定“C:\Windows”目录的内容。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Filter

以提供程序的格式或语言指定筛选器。 此参数的值限定 Path 参数。

筛选器的语法(包括通配符的使用)取决于提供程序。 筛选器比其他参数更有效,因为提供程序在 cmdlet 获取对象时应用它们,而不是在检索对象后让 PowerShell 筛选对象。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-Force

指示此 cmdlet 获取无法访问的项,例如隐藏项。 实现因提供程序而异。 有关详细信息,请参阅 about_Providers。 即使使用 Force 参数,cmdlet 也无法替代安全限制。

类型:SwitchParameter
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Include

指定此 cmdlet 包含在操作中的项(作为字符串数组)。 此参数的值限定 Path 参数。 输入路径元素或模式,例如“*.txt”。 允许使用通配符。

仅当命令包含项的内容(如“C:\Windows*”)时,Include 参数才有效,其中通配符指定“C:\Windows”目录的内容。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:True

-LiteralPath

指定项的路径。 与 Path 参数不同,LiteralPath 的值与键入时完全相同。 不会将任何字符解释为通配符。 如果路径包含转义字符,请将它括在单引号中。 单引号告知 PowerShell 不要将任何字符解释为转义序列。

类型:String[]
别名:PSPath
Position:Named
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-Path

指定项的路径。 此 cmdlet 获取位于指定位置的项。 允许通配符。 此参数是必需的,但参数名称(“Path”)是可选的。

使用点 ('.') 指定当前位置。 使用通配符 ('*') 指定当前位置的所有项。

类型:String[]
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:True

-Stream

从文件中获取指定的备用 NTFS 文件流。 输入流名称。 支持通配符。 若要获取所有流,请使用星号 \. 此参数对文件夹无效。

Stream 是 FileSystem 提供程序添加到 Get-Item cmdlet 中的动态参数。 此参数仅适用于文件系统驱动器。

类型:String[]
Position:Named
默认值:No alternate file streams
必需:False
接受管道输入:False
接受通配符:True

-UseTransaction

在活动事务中包含该命令。 此参数仅在事务正在进行时有效。 有关详细信息,请参阅 about_Transactions

类型:SwitchParameter
别名:usetx
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

String

可以通过管道传递包含此 cmdlet 路径的字符串。

输出

Object

此 cmdlet 返回它获取的对象。 该类型由路径中的对象类型确定。

备注

此 cmdlet 没有 Recurse 参数,因为它只获取一个项,而不是它的内容。 若要以递归方式获取项的内容,请使用 Get-ChildItem

若要在注册表中导航,请使用此 cmdlet 获取注册表项和 Get-ItemProperty 来获取注册表值和数据。 注册表值被视为注册表项的属性。

此 cmdlet 旨在处理任何提供程序公开的数据。 若要列出会话中可用的提供程序,请键入 Get-PsProvider。 有关详细信息,请参阅 about_Providers