我在PowerShell中遇到了列出其子项的问题。
$file = Get-ChildItem \\compname\c$\folder\ -Recurse -Filter *filename.txt* |
Select-Object -Property DirectoryName, FullName
当我尝试获取它的对象时它是空的:
$file.FullName
或
$file.DirectoryName
如果该目录中有多个文件具有相同的文件名,如何通过在其文件扩展名上添加.bak来备份同一文件夹中的文件。
答案 0 :(得分:1)
您仍在使用PowerShell v2或更早版本。这些早期版本不支持member enumeration数组,这将允许您通过数组对象本身访问数组元素的属性。相反,您会得到一个空结果,因为数组对象没有属性DirectoryName
或FullName
。
如果您无法升级至PowerShell v3,则可以通过循环解决此问题:
$file | ForEach-Object { $_.FullName }
或通过扩展属性:
$file | Select-Object -Expand FullName