アップロードまたはダウンロード直後のファイルをローカルコンピューター上で移動する方法

ファイル転送が成功した後に、ローカルコンピューター上の別フォルダーへファイルを移動する必要がある場合は、ポスト転送トリガーを使用してください。

ポスト転送トリガーは、リモートサーバーとローカルコンピューター間のファイル転送成功後に実行され、任意のプログラム、PowerShellスクリプト、またはbatファイルを起動できます。パラメーターとして、転送されたファイルのローカルコンピューター上での完全パスを表す %local_file% variable、日付関連変数、その他のFTPGetter組み込み変数を利用できます。

例 #1: 転送されたファイルをローカルコンピューター上の別フォルダーへ移動する

この操作を実行するには、任意のテキストエディターで以下の内容を含むbatファイルを作成してください。


SET "fullpath=%~dp2"
if not exist "%fullpath%" mkdir "%fullpath%"
move /Y %1 %2

このファイルを任意のフォルダーに my-move.bat として保存します。

重要! WindowsサービスモードでFTPGetterを使用している場合は、サービス実行アカウントがこのフォルダーへの完全アクセス権を持っていることを確認してください。

FTPGetterでは、このbatファイルを以下のように呼び出します:


D:\my-bats\my-move.bat

"%local_file%" ""

ローカルPC上でファイルを移動するためのbatファイル

動作説明: ファイル転送成功後、FTPGetter は2つのパラメーターを使用して my-move.bat を実行します。最初のパラメーターは、最近転送されたファイル(ローカルコンピューター上)の完全パスを含む %local_file% 変数です。2番目のパラメーターは、転送されたファイルを移動する先となるローカルコンピューター上フォルダーへの完全パスです。

重要! 転送されたファイルの移動、名前変更、削除は推奨しません。次回FTPGetterがスケジュールされたタスクを実行する際、ローカルコンピューター上でそのファイルを見つけられなくなり(先ほど名前変更/移動/削除したため)、再度転送してしまう可能性があります。転送されたファイルをまず別フォルダーへコピーし、その後そこで各種操作を行うことを推奨します。

以下は、ファイル名変更用のさまざまなbatファイル例です:

例 #2: 現在の日付をファイル名に追加してファイルを移動する


D:\my-bats\my-move.bat

"%local_file%" "%local_file_name_only%-%c_yyyy%-%c_mm%-%c_dd%.%local_file_name_ext%"

ローカルPC上でファイルを移動するためのbatファイル

例 #3: 新しい .done 拡張子を付けてファイルを移動する


D:\my-bats\my-move.bat

"%local_file%" "%local_file_name_only%.%local_file_name_ext%.done"
ローカルPC上でファイルを移動するためのbatファイル

例 #4: 現在の日付を追加したサブフォルダーへファイルを移動する


D:\my-bats\my-move.bat

"%local_file%" "\%c_yyyy%-%c_mm%-%c_dd%\%local_file_name_only%.%local_file_name_ext%"
ローカルPC上でファイルを移動するためのbatファイル

次に、最近ダウンロードされたファイルを コピー名前変更、または 解凍 する方法を見ていきます。

転送後に SFTPサーバー上でファイルを移動 する必要がありますか?

ページトップへ戻る