在数组中使用子项结果对象

时间:2016-09-20 09:10:19

标签: arrays powershell backup

我在PowerShell中遇到了列出其子项的问题。

$file = Get-ChildItem \\compname\c$\folder\ -Recurse -Filter *filename.txt* |
        Select-Object -Property DirectoryName, FullName

当我尝试获取它的对象时它是空的:

$file.FullName

$file.DirectoryName

如果该目录中有多个文件具有相同的文件名,如何通过在其文件扩展名上添加.bak来备份同一文件夹中的文件。

1 个答案:

答案 0 :(得分:1)

您仍在使用PowerShell v2或更早版本。这些早期版本不支持member enumeration数组,这将允许您通过数组对象本身访问数组元素的属性。相反,您会得到一个空结果,因为数组对象没有属性DirectoryNameFullName

如果您无法升级至PowerShell v3,则可以通过循环解决此问题:

$file | ForEach-Object { $_.FullName }

或通过扩展属性:

$file | Select-Object -Expand FullName