現在のバージョンを動作しない-Includeのための変数を使用して:は、Get-ChildItemコマンドレットを質問の
$tbd_list = @()
foreach($i in $tbd) {
# -- If statement prevents duplicate id's
if(!($tbd_list -match $i.id)){
$tbd_list += $i.id
}
}
をこの時点で私は$ tbd_listを印刷する場合、私は取得するには、次のように
私は、配列$ tbd_listを初期化します:
"dce50fdd-2298-45db-8aac-fb13a176fe1a*.*"
"79c1538f-09b1-4ed7-b84c-ff1a7934596a*.*"
"60511686-7a87-4352-a781-62e7c04913e5*.*"
"0821f8ee-c1ca-4568-ab68-bb5e30d07268*.*"
"3b9f5da0-fc2d-49e3-a11d-943f5ac2296a*.*"
"ff7720fd-2c0f-43c8-871a-e283f231c823*.*"
($ tbd_list.GetType()フルネームはSystem.Objectのを返します。)
私はその後、実行しようコード:
Get-ChildItem F:\store_test\ -Recurse -Include $tbd_list
しかし、私は何も返されません。
しかし、私は手動で入力した場合、:
"dce50fdd-2298-45db-8aac-fb13a176fe1a*.*"
"79c1538f-09b1-4ed7-b84c-ff1a7934596a*.*"
"60511686-7a87-4352-a781-62e7c04913e5*.*"
"0821f8ee-c1ca-4568-ab68-bb5e30d07268*.*"
"3b9f5da0-fc2d-49e3-a11d-943f5ac2296a*.*"
"ff7720fd-2c0f-43c8-871a-e283f231c823*.*"
をして(($ tbd_list.GetTypeを同じラインを実行します。この時点で
$tbd_list = "dce50fdd-2298-45db-8aac-fb13a176fe1a*.*", "79c1538f-09b1-4ed7-b84c-ff1a7934596a*.*", "60511686-7a87-4352-a781-62e7c04913e5*.*", "0821f8ee-c1ca-4568-ab68-bb5e30d07268*.*", "3b9f5da0-fc2d-49e3-a11d-943f5ac2296a*.*", "ff7720fd-2c0f-43c8-871a-e283f231c823*.*"
を私は$ tbd_listを印刷する場合、私はまだ取得します)。フルネームはまだSystem.Objectを返します。
Get-ChildItem F:\store_test\ -Recurse -Include $tbd_list
これは完全に機能します。助言がありますか?以下
ソリューション
どちらの答えが正しいですが、私は一つだけを選ぶことができます。
変数が配列であることを確認した後、先頭と末尾の引用符を削除してスクリプトを実行しなければなりませんでした。ありがとう!
'$ TBD_List'が配列の場合、それはそれを説明します...配列か文字列ですか? – JNK
$ tbd_list.GetType()。FullNameはSystem.Stringを返します – jascissom
'$ tbd_list'を二重引用符で囲みます。" "$ tbd_list" ' – JNK