2017-05-23 5 views
1

私は重複したファイルを探すスクリプトを作成しようとしています。そのファイルはディレクトリ上のファイルを取得し、見つかったファイルだけでなく数値を持つ変数を返します。なぜ私は可変アペア番号を返すのですか?

返却前と書込み後にWrite-Hostを行い、その数値が2番目のプリントに表示されます。私は数字を表示したくない、私はファイルのパスが欲しいだけです。

function getFiles($Directory){ 
$arrayFiles = [System.Collections.ArrayList]@() 
Get-ChildItem $Directory -Name -Recurse -File | % { 
     $arrayFiles.Add("$Directory\$_") 
    } 
    return $arrayFiles 
} 
$files = getFiles($userInput) 
$files 

答えて

3

ArrayList.Add() methodは、新しく追加された項目を格納するインデックスを発行します。あなたは[void]を入力しAdd()文をキャストして、それを抑制することができます。

function getFiles($Directory){ 
    $arrayFiles = [System.Collections.ArrayList]@() 
    Get-ChildItem $Directory -Name -Recurse -File | % { 
     [void]$arrayFiles.Add("$Directory\$_") 
    } 
    return $arrayFiles 
} 

言われて、全体の機能が不要な...少しだこと - あなたがまったく同じことを達成することができます

$files = @(Get-ChildItem $Directory -Recurse -File |Select -Expand FullName) 
関連する問題