首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理FileSystemInfo阵列的输出

处理FileSystemInfo阵列的输出
EN

Stack Overflow用户
提问于 2015-12-30 15:41:12
回答 1查看 41关注 0票数 2

所以我用

代码语言:javascript
复制
$list = Get-ChildItem $path -filter *xml

在给定的路径上查找其中的所有xml文件。它似乎会生成一个FileSystemInfo类型对象的数组。

是否有最好的方法以一种可格式化和直观的方式枚举名称?当我开始使用的时候,事情变得非常的不稳定。

代码语言:javascript
复制
$list | ft

因为我相信它是把它们当作物体来处理。这是意料之中的。但不是我想要的。

你有什么高水平的指导,我在这里处理什么和最好的方式,在PS去切割它的一个任意的方式-即人类可读的。一个foreach()循环是最好的主意吗?我觉得它会起作用,但并不理想。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-30 16:03:55

这听起来真的像是在请求Select-Object,下面是:

选择对象或对象集的指定的属性。

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

就像苏打水说的那样,您只需提取一个属性就可以得到一个名称数组

在PowerShell V2.需要小心,因为您将匹配以xml结尾的文件夹。

代码语言:javascript
复制
Get-ChildItem $path -filter *xml | Select-Object -ExpandProperty Name

在PowerShell V3+中

代码语言:javascript
复制
(Get-ChildItem $path -Filter *xml -File).Name

但那只会让你感到紧张。你打算怎么处理它们?一个简单的预测将是最简单、全面的方法。

代码语言:javascript
复制
(Get-ChildItem $path -Filter *xml -File).Name | ForEach-Object{"The file name is $_"}

但是,如果您正在做其他事情,比如移动文件,那么有一些cmdlet可以直接处理Get-ChildItem的输出,而不需要显式循环。

代码语言:javascript
复制
Get-ChildItem $path -Filter *xml -File | Move-File -Destination "C:\temp"

这是因为根据属性名匹配参数,移动项目和许多其他cmdlet都可以这样做。

-Path指定项的当前位置的路径。默认的是当前目录。通配符是允许的。 不需要化名?真实位置?1默认值不接受管道输入?真的(ByValue,ByPropertyName)接受通配符吗?错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34532532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档