Quantcast
Channel: xlogI125’s blog
Viewing all articles
Browse latest Browse all 55

PowerShell: フォームにドラッグ&ドロップしたファイルのハッシュ値を表示

$
0
0

メモ

add_DragEnterメソッドとadd_DragDropメソッドの定義をGet-Memberコマンドレットで確認

# PowerShell 5.1, Windows 11 (2023年10月頃)Add-Type -AssemblyName System.Windows.Forms
[Windows.Forms.Form]::new() |Get-Member -Force|Where-Object -Property Name -Match'^add_'

$_Get-Memberコマンドレットで確認

# PowerShell 5.1, Windows 11 (2023年10月頃)Add-Type -AssemblyName System.Windows.Forms

$form=[Windows.Forms.Form]::new()
$form.Text ="クリック"$numClicked=0$form.add_Click({
  # Unary array expression  (, singleObject)
  (,$_) |Get-Member -Force|Out-String -Width80|Write-Verbose -Verbose# $numClicked++$p=[ref]$numClicked$p.Value++Write-Verbose$numClicked -Verbose
})

$form.ShowDialog()

使い捨てスクリプト

# PowerShell 5.1, Windows 11 (2023年10月頃)$ErrorActionPreference="Stop"$VerbosePreference="Continue"Set-StrictMode -Version Latest

Add-Type -AssemblyName System.Windows.Forms

$form=[Windows.Forms.Form]::new()
$form.AllowDrop =$true$form.add_DragEnter({
  param([Object]$sender,[Windows.Forms.DragEventArgs]$e)

  Write-Verbose"DragEnter"$e.Effect =[Windows.Forms.DragDropEffects]::Copy
})

$form.add_DragDrop({
  param([Object]$sender,[Windows.Forms.DragEventArgs]$e)

  Write-Verbose"DragDrop"Get-FileHash -LiteralPath$e.Data.GetFileDropList() |Format-List -Property Algorithm, Hash, @{Name="Name"; Expression={[IO.Path]::GetFileName($_.Path)}} |Out-String -Width80|Write-Host
})

$form.ShowDialog()

Viewing all articles
Browse latest Browse all 55

Trending Articles