powershell アウトプットファイルの画面選択(SaveFileDialogの利用)

PowerShell

SaveFileDialogを利用すると、出力先ファイル名を指定させるダイアログを表示させ、指定したファイル名

にアウトプットを保存することができる。$FileBrowser.FileNameにファイル名を指定しておくことで

ダイアログ表示時にデフォルトファイル名も指定することができる。

using namespace System.Windows.Forms
using namespace System.IO
Set-PSDebug -Strict
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.IO


$FileBrowser = New-Object System.Windows.Forms.SaveFileDialog
$FileBrowser.InitialDirectory = [Environment]::GetFolderPath('Desktop')
$FileBrowser.Filter = 'あらゆるファイル (*.txt,*.csv,*.*)|*.txt;*.csv;*.*'
$FileBrowser.Title = 'ファイルを選択してください'
$FileBrowser.RestoreDirectory = $true
$FileBrowser.FileName = 'test.txt'


if($FileBrowser.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK){
    

    $Stream = New-Object StreamWriter($FileBrowser.FileName,$true, [Text.Encoding]::GetEncoding("Shift_JIS"))
    if($Stream -ne $null )
    {
       $Stream.WriteLine([System.DateTime]::Now.ToString() +' ' +  [System.Environment]::UserName + ': test')
       $Stream.Close()
       [System.Windows.MessageBox]::Show('選択したファイルに書き込みました:' + $FileBrowser.FileName)
    }


}else{
    [System.Windows.MessageBox]::Show('ファイルは選択されませんでした!')
}

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました