gpt4 book ai didi

powershell - 将ForEach与Get-ChildItem -recurse一起使用

转载 作者:行者123 更新时间:2023-12-04 00:08:53 24 4
gpt4 key购买 nike

我试图获取特定子文件夹结构中文件的递归列表,然后将它们保存到表中,以便可以使用foreach循环处理每一行。我有以下代码:

$table = get-childitem -recurse | where {! $_.PSIsContainer} | Format-Table Name, Length

foreach ($row in $table)
{
$row[0]
$row[1]
}

如果我尝试按原样输出 $table,它看起来很完美,所有文件的数据都为两列。如果尝试逐步使用foreach(如上),则会收到 "Unable to index into an object of type Microsoft.PowerShell.Commands.Internal.Format.FormatEndData."错误消息。

我究竟做错了什么?

最佳答案

我不知道您为什么要尝试逐步浏览格式化的数据。但实际上,$table只是字符串的集合。因此,您可以执行以下操作:

$table = get-childitem -recurse | where {! $_.PSIsContainer} | Format-Table Name, Length

foreach ($row in $table)
{
$row
}

但是我不知道你为什么想要。如果您要对文件中的数据进行某些操作,则可以尝试以下操作:
$files = get-childitem -recurse | where {! $_.PSIsContainer}
foreach ($file in $files)
{
$file.Name
$file.length
}

关于powershell - 将ForEach与Get-ChildItem -recurse一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568221/

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