我正在嘗試創建一個用於還原備份的菜單。 理想情況下,用戶將看到一個文件夾列表,每個文件夾編號,然後提示選擇。列表和選擇選項需要是動態的。根據循環中的文件名創建數組
問題是我對循環和數組的理解有限。 這裏是我想與之合作的數組:
$saved_backups = Get-ChildItem $backup_folder |Where-Object {$_.Name -like "*$target_username"} | select-object @{n="Saved Backups:";e={$_.Name}}
[array]::Reverse($saved_backups)
從用戶的角度來說,我想它看起來像:
1) $saved_backups[0]
2) $saved_backups[1]
或
1) 2015.04.21_laptop
2) 2015.04.20_laptop
哪裏備份實際上是文件夾名稱。 然後用戶可以選擇編號並將選擇保存到我以後可以使用的變量中。
任何幫助表示讚賞!
編輯#1: 我能夠簡化與以下所需的文件夾名稱:
$saved_backups = Get-ChildItem $backup_folder |Where-Object {$_.Name -like "*$target_username"}
[array]::Reverse($saved_backups)
$saved_backups = $saved_backups.name
編輯#2: 感謝馬特,我開始明白使用索引的想法。 現在的問題是我的數組,因爲它將兩個對象計數爲一個,然後對它計數兩次。
$saved_backups = Get-ChildItem $backup_folder |Where-Object {$_.Name -like "*$target_username"}
[array]::Reverse($saved_backups)
$saved_backups = $saved_backups.name
For($folderIndex = 1; $folderIndex -le $saved_backups.Count; $folderIndex++){
Write-Host "[$folderIndex]$saved_backups"
}
電流輸出:
[1] Folder1 Folder2
[2] Folder1 Folder2
理想的情況下它會看起來像:
[1] Folder1
[2] Folder2
一旦我明白了聲明,我會選擇菜單上的工作。
你只是在尋找一個循環,將數字條目?爲了獲得最大的價值,你可以包括你的選擇結構/代碼? – Matt
是的,我不知道什麼類型的循環將允許每個找到的文件夾($ saved_backups)首先顯示一個計數,然後在數組中顯示相應的值。我需要選擇結構方面的幫助,但正計劃將其包含在循環中。 – semtex41