Прежде всего, вы вообще не имеете дело с массивами. Ваш код, по-видимому, предназначен для заполнения Hashtable созданными путями к файлам в качестве значений.
Почему бы не использовать простое для l oop для создания этого пути к файлу и добавления к ха sh в то же время?
Что-то вроде:
$number = 4
$myHash = @{}
for ($i = 1; $i -le $number; $i++) {
# construct a file path and add that as value to the hashtable
$file = "C:\myscripts\Powershell_testing\Folder{0}\{1}{1}.txt" -f [char](64 + $i), [char](96 + $i)
$myHash["value$i"] = $file
}
$myHash
Вывод:
Name Value
---- -----
value1 C:\myscripts\Powershell_testing\FolderA\aa.txt
value3 C:\myscripts\Powershell_testing\FolderC\cc.txt
value4 C:\myscripts\Powershell_testing\FolderD\dd.txt
value2 C:\myscripts\Powershell_testing\FolderB\bb.txt
Или, если вы хотите, чтобы это было упорядочено (что по определению не является Hashtable):
$number = 4
$myHash = [ordered]@{}
for ($i = 1; $i -le $number; $i++) {
# construct a file path and add that as value to the hashtable
$file = "C:\myscripts\Powershell_testing\Folder{0}\{1}{1}.txt" -f [char](64 + $i), [char](96 + $i)
$myHash["value$i"] = $file
}
$myHash
Вывод:
Name Value
---- -----
value1 C:\myscripts\Powershell_testing\FolderA\aa.txt
value2 C:\myscripts\Powershell_testing\FolderB\bb.txt
value3 C:\myscripts\Powershell_testing\FolderC\cc.txt
value4 C:\myscripts\Powershell_testing\FolderD\dd.txt
[char](64 + $i)
и [char](96 + $i)
дают необходимые вам символы. ASCII 65 -> A
и ASCII 97 -> a
и т. Д.