powershellの配列について
あるフォルダのファイルの名前を配列に順番に入れていきたいのですが、うまくいきません。
なぜか、要素数が1つの状態で、各ファイル名がつながった状態で格納されます。
lang
1$sh = New-Object -ComObject Shell.Application 2 3#フォルダ取得 4$f = $sh.Namespace('C:\work\ps_practice\test') 5 6#ファイル名の一覧を取得 7$fileList = Get-ChildItem('C:\work\ps_practice\test\') -Name 8 9[string]$array = @() 10 11foreach($file in $fileList){ 12 $array += $file;} 13 14$array.Count 15$array 16
PS C:\Users\aaa> C:\work\ps_practice\20200211_test.ps1
1
aaa.txtbbb.txtccc.txtddd.txteee.txtfff.txtggg.txt
また、回避策として、要素数を指定して実行すればうまくいくのではないかと考えましたが、エラーになってしまいました。
lang
1$sh = New-Object -ComObject Shell.Application 2 3#フォルダ取得 4$f = $sh.Namespace('C:\work\ps_practice\test') 5 6#ファイル名の一覧を取得 7$fileList = Get-ChildItem('C:\work\ps_practice\test\') -Name 8 9[string]$array = @() 10 11$i = 0 12 13foreach($file in $fileList){ 14 $array[$i] += $file; 15 $i += 1 16} 17 18$array 19
PS C:\Users\aaa> C:\work\ps_practice\20200211_test.ps1
型 System.String のオブジェクトにインデックスを付けることはできません。
原因と対処方法について教えてください
回答1件
あなたの回答
tips
プレビュー