
【AlteryxTips】ファイル移動する方法について
こんにちはSFです。
今回はAlteryx Designerツール一覧に存在しない「ファイル移動」をコマンド実行ツールを使って実現する方法をご紹介したいと思います。
コマンド実行ツールでできる事
外部プログラム(exeまたはbat形式)を実行することが可能です。本例はコマンド実行ツールからbatファイルを実行、batからPowershellプログラムを呼び出しする事で、特定ファイルをFolder A⇒Folder Bへファイル移動するフローとなります。
WorkFlow作成例
ファイルパス書き込み
ファイル格納パスのみをデータ出力する様、「5 出力フィールドを引用」:"常に非表示"に設定します。
FileをFolderA⇒Bへ移動
コマンドにファイル移動bat(MoveFile.bat)の格納先パス、ソースの書き込みに出力ファイルパスをそれぞれ設定します。なおソースの書き込みは処理に関係しませんが、指定しないと実行エラーとなりますので、ダミーファイルを指定してます。
MoveFile.batの中身はこちらとなります。
呼び出すPowerShellファイル(MoveFile.ps1)のパスに和名が含まれているため文字化けしない様、「chcp 65001」を指定してます。詳細はbatコマンドの関連サイトをご参照頂ければと思います。
chcp 65001 powershell -NoProfile -ExecutionPolicy Unrestricted .'C:\Users\~~~\FileMove\MoveFile.ps1' >log.txt 2>&1
MoveFile.ps1の中身はこちらとなります。
1行目でファイル格納パス(MoveFile.csv)を読み込みし、8行目でFolderBへファイル移動します。詳細はPowerShellコマンドの関連サイトをご参照頂ければと思います。
$rs = Import-Csv C:\Users\~~~\TEST\FileMove\MoveFile.csv -Encoding utf8 -Header FileName foreach ($r in $rs) { Write-Host $r.FileName #チェックシートファイル記述子 $FileName = $r.FileName try { #チェックシートを登録作業中フォルダへ移動 Move-Item -path "$FileName" -destination "C:\Users\~~~\20250917_KCME_Techブログ\TEST\FolderB" } catch { $error[0] | Out-String | Out-File "error.log" } }
※Alteryx Designer 2023.2.1.226時点の情報です