PowerShellで複数のファイルをドラック&ドロップしてみた。

コンピュータ
以前にPowerShellスクリプトにファイルをドラック&ドロップする方法を掲載しましたが、その際ドラック&ドロップをするファイルは1つを想定してサンプルスクリプトを作りました。
PowerShellのスクリプトにファイルをドラックアンドドロップする方法
はじめに PowerShellのスクリプトで引数を取る場合CUIでファイル名を指定するのもよいですがファイルをドラックアンドドロップ出来てほしい場面もあります。 やり方としてはps1ファイルへのショートカットを作成してそちらにファイ...

複数ファイルが引き渡された場合どのような振る舞いになるか気になりましたので試してみました。
スポンサーリンク

スクリプト

<#
# 引数をメッセージボックスで表示するスクリプト
# ファイル名:msgbox2.ps1
#>
Add-Type -Assembly System.Windows.Forms

$file = ""
foreach($arg in $Args) {
if ($file -eq "") {
$file = $arg
} else {
$file = $file + "`n" + $arg
}
}


# メッセージボックスの表示
[System.Windows.Forms.MessageBox]::Show("${file}", "引数の値")

結果

前回の記事を参考にスクリプトのショートカットを作成し適当なファイルを複数選択しドラック&ドロップしてみます。

結論としてはドラック&ドロップした複数ファイルのパスが、変数の$Argsに配列の要素として引き渡されます。

ある意味当たり前と言えば当たり前ですが、PowerShellの場合パイプの処理のようなケースもありますので念の為試してみた次第です。
PowerShellパイプの振る舞い
スクリプト # # パイプのテスト # function TestFunc { param ( $val ) begin { ...

コメント