gpt4 book ai didi

xml - 处理FileSystemInfo数组的输出

转载 作者:行者123 更新时间:2023-12-03 00:15:43 25 4
gpt4 key购买 nike

所以我正在使用

$list = Get-ChildItem $path -filter *xml

在给定路径上查找其中的所有xml文件。看来会生成FileSystemInfo类型的对象数组。

有没有一种最佳的方式来以简单易懂的格式枚举名称?当我开始使用时,事情变得很快
$list | ft

之所以这样-因为我相信它会将它们作为对象来处理。这是预期的。但不是我想要的。

您对我在这里要处理的内容是否有任何高级指导,以及PS中以任意方式将其切碎的最佳方法(即可读)。是一个foreach()循环只是最好的主意吗?我觉得可以,但并不理想。

最佳答案

听起来真的像您要的 Select-Object 一样:

selects specified properties of an object or set of objects.



您提到您正在寻找一种人类可读的方法来枚举名称吗?

就像 sodawillow所说,您可以提取该一个属性以获取一组名称

在PowerShell V2中。需要小心,因为您将匹配以xml结尾的文件夹。
Get-ChildItem $path -filter *xml | Select-Object -ExpandProperty Name

在PowerShell V3 +中
(Get-ChildItem $path -Filter *xml -File).Name

但这只会使您感到烦恼。您希望如何处理它们?一个简单的foreach方法将是最简单且全面的方法。
(Get-ChildItem $path -Filter *xml -File).Name | ForEach-Object{"The file name is $_"}

但是,如果要执行其他操作(如移动文件),则可以使用cmdlet直接处理 Get-ChildItem的输出,而无需显式循环。
Get-ChildItem $path -Filter *xml -File | Move-File -Destination "C:\temp"

之所以可行,是因为 Move-Item和许多其他cmdlet可以通过属性名称匹配参数。

-Path Specifies the path to the current location of the items. The default is the current directory. Wildcards are permitted.

Aliases                        none 
Required? true
Position? 1
Default Value none
Accept Pipeline Input? true (ByValue, ByPropertyName)
Accept Wildcard Characters? false

关于xml - 处理FileSystemInfo数组的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34532532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com