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

アップロードまたはダウンロード操作が正常に完了した後にファイル名を変更する必要がある場合は、post-transfer trigger を使用してください。

post-transfer trigger は、リモートサーバーとローカルコンピューター間でファイル転送が正常に完了した後に実行され、任意のプログラム、PowerShell スクリプト、または bat ファイルを実行できます。パラメータとして、転送されたファイルのローカルコンピューター上でのフルパスを表す %local_file% variable などの FTPGetter 組み込み変数や、日付関連変数などを使用できます。

例 #1: ローカルコンピューター上で転送済みファイルの名前を変更する。

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


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

このファイルを任意のフォルダーに my-copy.bat として保存してください。

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

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


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

"%local_file%" "new_%local_file_name_only%.%local_file_name_ext%"

ローカル PC 上のファイル名を変更する bat ファイル

動作説明。ファイル転送が正常に完了すると、FTPGetter は 2 つのパラメータを付けて my-copy.bat を実行します。最初のパラメータは、最近転送されたファイルのローカルコンピューター上でのフルパスを含む %local_file% variable です。2 番目のパラメータは、転送済みファイルが存在するフォルダーへのパス、ファイル名へ追加するプレフィックス、および現在のファイル拡張子を表す変数の組み合わせです。

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

例 #2: 現在の日付をファイル名に追加して名前を変更する。


D:\my-bats\my-rename.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-rename.bat

"%local_file%" "%local_file_name_only%.%local_file_name_ext%.done"
ローカル PC 上のファイルをコピーする bat ファイル

宛先ファイルに対して新しいドライブやパスを指定することはできない点に注意してください。

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

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

トップへ戻る