前提・実現したいこと
powershellスクリプトで特定のファイルを除いたファイルのコピー処理を実装しようとしています。
除外するファイルはSQLServerから取得してきています。
発生している問題・エラーメッセージ
実際に動かしてみたところ複数ファイルを除外してコピーしようとするとファイルが除外されず全てコピーされてしまいます。
除外ファイルが1ファイルのみの場合は問題なく除外してコピーすることができています。
なぜ複数ファイルのときのみ上手くいかないのかわかりません。
解決策のご教示をお願いします。
該当のソースコード
#DB接続 $connectionString = "Data Source={0};Initial Catalog={1};Integrated Security=True" -f $appconfig.DbServer,$appconfig.DbCatalog $query = $appConfig.query #クエリ実行 $connection = New-Object -TypeName System.Data.SqlClient.SqlConnection $connection.ConnectionString = $connectionString $command = $connection.CreateCommand() $command.CommandText = $query $adapter = New-Object -TypeName System.Data.SqlClient.SqlDataAdapter $command $dataset = New-Object -TypeName System.Data.Dataset $adapter.Fill($dataset) #クエリ実行結果からコピーから除外するファイルリスト取得 #excludeListの中身は「*AAAAA*,*BBBBB*」 $copymoto = $_.Item('Copymoto') $copysaki = $_.Item('Copysaki') $excludeList = $_.Item('Exclude') #コピー実行 Copy-Item $copymoto $copysaki -Recurse -Exclude $excludeList
試したこと
複数のファイル(AAAAA,BBBBB)ではなく一つのファイル(AAAAA)を除外してコピーすることはできました。
また、「Copy-Item $copymoto $copysaki -Recurse -Exclude $excludeList」ではなく
「Copy-Item $copymoto $copysaki -Recurse -Exclude AAAAA,BBBBB」というように変数を使わず直接除外ファイルを指定するよう書き換えたら上手くコピーできました。
念の為、コピー処理実行直前の$excludeListの中を見てみましたが「AAAAA,BBBBB」となっていました。
補足情報(FW/ツールのバージョンなど)
なし

回答1件
あなたの回答
tips
プレビュー