2016-09-20 46 views
1

我在列出其子項時遇到了PowerShell中的問題。在數組中使用子項目結果對象

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

當我嘗試這樣得到它的對象是空的:

$file.FullName 

$file.DirectoryName 

如果有許多文件在該目錄與文件名相同,如何我可以通過在其文件擴展名上添加.bak來備份同一文件夾中的這些文件。

回答

1

您仍在使用PowerShell v2或更早版本。這些早期版本不支持數組上的member enumeration,這將允許您通過數組對象本身訪問數組元素的屬性。相反,您會得到空的結果,因爲該數組對象沒有屬性DirectoryNameFullName

如果您不能升級到至少PowerShell的V3可以解決這個問題有一個循環:

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

或通過擴展屬性:

$file | Select-Object -Expand FullName 
相關問題