見出し画像

Power Automate for desktop(PAD)の「ファイルの削除」に注意(+その代替策)

Power Automate for desktop(PAD)のアクションのなかで、「ファイルの削除」・「フォルダーの削除」・「フォルダーを空にする」には注意が必要です。

なぜなら、削除したファイルやフォルダーは、ごみ箱に残らないからです。ふだんのPC操作と同じ感覚でいると、フロー実行後に復元できませんから気を付けましょう。
(VBAなどをやっていた方には、珍しいことでもないでしょうが。)

ファイルの削除アクション等
注意が必要なアクション

意図しないファイル・フォルダーの削除をしないために、これらのアクションを使うときは、事前に十分テストを行ってから実際にフローを利用し始めることをおススメします。


・・・と、これで終わりでは物足りないので、今回は「ファイルの削除」の代替策もご紹介します。
標準アクションがごみ箱に残してくれないのであれば、「ファイルをごみ箱に捨てる」というアクションを自分で作ってしまえば良いのです。

これにはスクリプトアクションを使います。

代替策
代替策はコメント含め4行です

この例では、PowerShellスクリプトの実行を使っています。スクリプトの画面はこちら👇です。

PowerShellスクリプトの画面
PowerShellスクリプトの画面

なお「PowerShellなんて詳しくないし・・」という方でも平気です。いつものことですが、生成AIに聞けばコードは書いてくれるし、解説もしてくれます。

ついでにコピペ用にフローを下👇に貼り付けました。よろしければ参考にしてください。

# ★下のFileには、自分の都合に合わせた変数設定をしてください★
SET File TO $'''C:\\temp\\test.csv'''
# ★変数Fileを↓のPowerShellスクリプト内で使っています。★
@@copilotGeneratedAction: 'False'
Scripting.RunPowershellScript.RunPowershellScript Script: $'''Add-Type -AssemblyName Microsoft.VisualBasic
$fileToDelete = \"%File%\" # ここに削除するファイルのパスを入力

[Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile(
    $fileToDelete,
    [Microsoft.VisualBasic.FileIO.UIOption]::OnlyErrorDialogs,
    [Microsoft.VisualBasic.FileIO.RecycleOption]::SendToRecycleBin
)''' ScriptOutput=> PowershellOutput ScriptError=> ScriptError

いちおうChatGPTによる解説も付けておきます。このような説明があれば、大体そんなものかと分かりますね。

このPowerShellコードは、指定されたファイルを「ごみ箱」に移動して削除するためのものです。以下に、各行の説明をします:

Add-Type -AssemblyName Microsoft.VisualBasic
ここで、Microsoft.VisualBasic アセンブリを追加しています。このアセンブリは、FileIO クラスなどの.NETのVisualBasic関連機能をPowerShellから利用できるようにするものです。

$fileToDelete = "%File%"
削除するファイルのパスを指定する変数です。ここでは "%File%" というプレースホルダーが使われていますが、実際の使用時には削除対象のファイルパスを設定します。

[Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile(...)
Microsoft.VisualBasic.FileIO.FileSystem クラスの DeleteFile メソッドを使用して、ファイルを削除します。引数で次の3つを指定しています:

$fileToDelete: 削除するファイルのパス。
[Microsoft.VisualBasic.FileIO.UIOption]::OnlyErrorDialogs: 削除時にエラーダイアログだけを表示する設定です。
[Microsoft.VisualBasic.FileIO.RecycleOption]::SendToRecycleBin: ファイルを直接削除するのではなく、ごみ箱に移動します。

このコードを実行すると、指定したファイルがエラーが発生しない限り、静かにごみ箱に移動されます。

ChatGPTによるコード解説

このフローを使えば、ファイルを削除してもごみ箱に残っているので、困ったときは元に戻す事が出来ます。安心ですね。


このように、標準アクションにないことをしたいときは、スクリプトアクションが便利です。加えて最近では、コードは完全に把握していなくても、生成AIが書いてくれるので何とかなるという一例でした。

今回の記事は以上です。
気に入ったら、スキ・フォローお願いします!

KMDS BPMG
ケイ・エム・ディ・エス 業務プロセス改善推進グループ