はじめに
やり方としてはps1ファイルへのショートカットを作成してそちらにファイルをドラックアンドドロップすると引数としてファイル名が引き渡されスクリプトが実行されます。
ショートカットのリンク先は以下のように記述します。
powershell.exe -NoProfile -File (ps1ファイルへのパス)
せっかくですのでショートカットを作るスクリプトを作ってみました。
PowerShellスクリプトを初めて実行する場合
Powershellのps1ファイルを実行する方法
PowersehllをはじめるにあたりWindowsのコマンドラインインターフェースであるPowershellはコマンドレットと言われる命令をテキストファイルに記述したスクリプトファイルを実行することが出来ます。Powershellはその名...
ショートカットを作るスクリプト
スクリプトのソース
<#
# デスクトップにps1ファイルのショートカットを作成
#
# ファイル名: Create-Shortcut.ps1
#>
$src = $Args[0]
$basename = [System.IO.Path]::GetFileNameWithoutExtension($src);
$dst = (Join-Path "${env:USERPROFILE}`\Desktop" "${basename}.lnk")
echo "${src} ${dst}"
$wsh = New-Object -ComObject WScript.Shell
$shortcut = $wsh.CreateShortcut($dst)
$shortcut.TargetPath = "${PSHOME}`\powershell.exe"
$shortcut.Arguments = "-NoProfile -File ${src}"
$shortcut.IconLocation = "${PSHOME}`\powershell.exe"
$shortcut.WindowStyle = 7
$shortcut.Save()
スクリプトの使い方
.\Create-Shortcut.ps1 (ショートカット化したいps1ファイルのパス)
を実行。パスは絶対パスをセットしてください。引数をメッセージボックスで表示するスクリプト
スクリプトのソース
<#
# 引数をメッセージボックスで表示するスクリプト
# ファイル名:SampleDandD.ps1
#>
Add-Type -Assembly System.Windows.Forms
$file = $Args[0];
# メッセージボックスの表示
[System.Windows.Forms.MessageBox]::Show("${file}", "引数の値")
スクリプトの使い方
デスクトップに出来上がったショートカットに適当なファイルをドラックアンドドロップしてください。
メッセージボックスにドラックアンドドロップしたファイルのパスが表示されれば成功です。
スクリプトの実行環境
- プロダクト名
- Windows 10 Home
- ビルド番号
- 17763.316
- Powershellバージョン
- 5.1.17763.316
- .NET Framework
- .NET Framework 4.7.2
コメント