查找文件和文件夹 计算机早期管理员学习的第一个命令行工具之一是 dir 命令。对于新手来说,dir 会列出指定目录中包含的文件和文件夹。PowerShell 以 Get-ChildItem cmdlet 的形式提供了类似的命令。Get -ChildItem 允许您快速构建目录中的文件列表,然后您可以通过管道命令或将输出分配给变量来对这些文件进行操作。
最基本的是, Get-ChildItem 可以通过提供路径来使用,可以通过管道、使用 -Path参数或紧跟在 cmdlet 名称后面来提供。要调整Get-ChildItem 返回的响应 , 关键是查看 cmdlet 提供的一些参数。
-Filter 参数是搜索文件的一种方式。默认情况下, 。可以使用-Recurse开关 扩展此功能 ,该开关 以递归方式搜索当前文件夹中包含的目录。
在 PowerShell 4.0 中,Get-ChildItem 添加了使用–File 或 –Directory开关将结 克罗地亚whatsapp 数据 果限制为文件或文件夹的功能 。PowerShell 的早期版本必须将结果传输到 Where-Object ,并根据PSIsContainer属性进行筛选 以做出此决定。 以下显示了 使用这两种技术返回 C:\Users中包含的文件夹的示例:
Get-ChildItem C:Users -Directory Get-ChildItem C:Users | Where-Object {$_.PSIsContainer –eq $true}
为了发现隐藏文件或系统文件, 必须使用 -Force开关。PowerShell 4.0 及更高版本中的Get-ChildItem还可用于分别使用-Hidden、 -ReadOnly和 –System 开关返回隐藏、只读或系统文件 。在以前的版本中,通过使用Where-Object 对 Mode 属性进行过滤,可以实现相同的功能 :
获取子项 C:用户 | 对象位置 {$_.Mode -like '*R*'}
检查文件是否存在
通常在处理文件时,我们只需要知道文件是否存在或文件夹路径是否有效。PowerShell 提供了一个 cmdlet 来以Test-Path的形式执行此验证 ,它返回 true 或 false 值。
在尝试复制或删除特定文件之前,Test-Path通常可作为有用的预防措施。
复制、移动和删除文件
正如您所期望的,PowerShell 完全有能力在一次传递中对大量对象执行标准文件操作。Copy -Item cmdlet 可用于将一个或多个文件或文件夹从 -Path 参数标识的一个位置复制到 -Destination 选项指定的位置。
同样, 在重新定位文件或文件夹时,可以使用Move-Item cmdlet。复制或移动文件夹结构时, 应使用-Recurse 开关,以便让 cmdlet 对文件夹及其内容执行操作。在某些情况下, 需要使用-Force 开关,例如当复制操作覆盖只读文件时。
Get-ChildItem cmdlet 仅返回目标目录的直接子目录
-
- Posts: 944
- Joined: Mon Dec 23, 2024 8:18 am