【エンジニアの方もそうでない方も、必読級テクニック】AIによるPowershellでGUIアプリ作成

概要

本記事は、AIの活用事例です。

エンジニアの方もそうでない方も、必読級テクニックです!

読み飛ばして終わりにを読むと幸せになれるかもしれません。

作成したスクリプト

親フォルダ直下のフォルダをZIP圧縮。圧縮後削除するツールVer1.0

PowerShell
# Windowsフォームのアセンブリをロード
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

# フォームの新規作成
$form = New-Object System.Windows.Forms.Form
$form.Text = 'フォルダをドラッグ&ドロップしてください'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.AllowDrop = $true

# ドラッグ&ドロップイベントの処理
$form.Add_DragEnter({
    if ($_.Data.GetDataPresent([Windows.Forms.DataFormats]::FileDrop)) {
        $_.Effect = [Windows.Forms.DragDropEffects]::Copy
    }
})

$form.Add_DragDrop({
    $folderPath = $_.Data.GetData([Windows.Forms.DataFormats]::FileDrop)
    $folderPath = [System.IO.Directory]::GetDirectories($folderPath[0])

    foreach ($dir in $folderPath) {
        $zipPath = "$dir.zip"
        Compress-Archive -Path $dir -DestinationPath $zipPath
        Remove-Item -Path $dir -Recurse -Force
    }
    
    # 処理完了通知
    [System.Windows.Forms.MessageBox]::Show("ZIP圧縮と削除が完了しました。", "完了通知")
})

# フォームを表示
$form.ShowDialog()

上記内容を「hogehoge.ps1」として、Powershellから実行すると

実行してみた

このような画面が出てきます。後は、圧縮したいフォルダが大量にあるフォルダの親フォルダを
Drag&Drop。

実例

親フォルダ

子フォルダ

以下、実行後のフォルダ

AIにお願いした内容

こちらでも使用していたCopilotです。

「Powershellで指定したフォルダ直下のフォルダをZIP圧縮した後に、回答するスクリプトを書いて下さい。お願いいたします。」

ここで、スクリプトを書いてくれます。(略)

「指定フォルダをDrag&Dropで指定できるようにして。例えばWindows.Formsとか使えば出来ますよね?必要なんです!お願いします。
頑張って下さい!」

超がんばって書いてくれたのが一番上に書いてあるスクリプトです。お疲れ様です。Copilotちゃん。

終わりに

え?これの何が凄いの?(非エンジニア向け)

通常、このようなグラフィック表示は専用の開発者向けツールが必要です。しかし、これは、
Windows標準搭載のPowershellのみで完結します。同じ作業を繰り返す事務処理等にご活用ください。(物によっては色々インストール必要ですが)

注意:AIは嘘つきです!

hogehoge.ps1の「.ps1」が作成できない

「Windows 拡張子 表示」で検索してください。

場合によっては、PS1ファイルを実行するにはセキュリティポリシー設定が必要

何で、「お願いします!頑張って下さい!」とか余計な事を言っているの?

ポジティブワードを使用することによってAIは人間にとってより良い結果を得られるという論文からこのような言葉を使っています。(え?AIって意識ってあるの?意識とは?いずれ記事にします。(知識学(現代の哲学の1命題)および、ニューラルネットワーク機械学習この2つのキーワードがあれば、答えが出ない答えがでます。))

エンジニア向け

Pythonと繋いで見てください。飛ぶぜ!(工数が)

コメント

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