指定ファイルのファイル名に日付を付与して指定フォルダに移動するサンプルシナリオ

2019.02.19【13_ファイル関連】

WinActorのファイル関連ライブラリを用いたサンプルシナリオです。
フルパスで指定したファイルのファイル名に日付を付与して、フルパスで指定された別フォルダに移動するサンプルシナリオとなります。

※本サンプルシナリオをダウンロードする前に、こちらの注意事項を必ずご確認ください。

DOWNLOAD
62.4 KB


指定ファイルのファイル名に日付を付与して指定フォルダに移動するサンプルシナリオ

はじめに

WinActorのファイル関連ライブラリを使用して、フルパスで指定したファイルのファイル名に日付を付与して、フルパスで指定された別フォルダに移動するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。

注意事項

本サンプルシナリオ利用時の注意事項はこちらです。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • 指定されたファイルのフルパスからファイル名を抽出します。
  • 指定されたフォルダのフルパスと抽出したファイル名と日付を結合し、移動後のファイルのフルパスを生成します。
  • 生成されたフルパスに対し、ファイルを移動します。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • 07_文字列操作/02_切り出し・分割/文字列分割.ums5

  • 08_日付関連/日付取得(yyyymmdd).ums5

  • 13_ファイル関連/02_ファイル操作/ファイル移動.ums5

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10

  • WinActor 5.3.0

本サンプルシナリオの使い方

本サンプルシナリオの実施方法は以下の通りです。

Step 1. WinActorで本サンプルシナリオを読み込み

WinActorを起動し、展開したフォルダに含まれている本サンプルシナリオを読み込みます。

Step 2. 動作に必要な変数を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で更新します。 本サンプルシナリオの実行にあたり、事前に設定が必要な変数は下記の2つです。

  • 移動元ファイル名
    • 移動させるファイルのファイル名。フルパスで指定します。 例) C:\winactor\abc.txt
  • 移動先フォルダ名
    • ファイルを移動させるフォルダのフォルダ名。フルパスで指定します。 例) C:\winactor\temp
変数表示画面
変数表示画面

Step 3. WinActorで本サンプルシナリオを実行

本サンプルシナリオを実行開始します。 ファイルの移動が完了すると、本サンプルシナリオは終了します。

Step 4. サンプルシナリオ終了

本サンプルシナリオの実行終了後、移動元ファイル名移動先フォルダ名に移動しています。 Step2の例の場合、「C:\winactor\abc.txt」が「C:\winactor\temp\yyyymmdd_abc.txt」として移動しています。yyyymmddには、実行した日付が入ります。

トラブルシューティング

本サンプルシナリオでは、誤ったファイル名/フォルダ名を指定した場合、エラーメッセージが出力されます。

詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて説明します。

フルパスからファイル名の抽出

本サンプルシナリオでは、フルパスからファイル名のみを抽出しています。

該当箇所
該当箇所

下記のようなファイルパスの場合を例に、本サンプルシナリオでの抽出方法についてご説明します。

  • C:\winactor\test\sample.txt

ファイルパスは、上記のように「\」でいくつかのフォルダ名とファイル名を結合して指定されています。 この例の場合、

  • C:
    フォルダ名

  • winactor
    フォルダ名

  • test
    フォルダ名

  • sample.txt
    ファイル名

のように4つの要素から構成されており、ファイル名は必ず最後の要素となります。

つまりファイルパスにおいてのファイル名は、「ファイルパスを、最後の要素がファイル名」という特徴があるといえます。 この特徴を用いて、本サンプルシナリオでは文字列操作のライブラリの「文字列分割」によりファイル名を抽出しています。

文字列分割」ライブラリは、「分割元文字列」を「区切文字列」で分割し、分割結果より何番目の情報を読み取るかを「インデックス」で指定するライブラリになります。 また、いくつの要素に分割できたかを「分割サイズ」として取得が可能です。 このライブラリに、「分割元文字列」として「ファイルパス」を、「区切文字列」として「\」を、「インデックス」として「最後の要素が何番目か」を指定すれば、特徴からファイル名のみを取得できます。

ただし、現在のWinActorライブラリでは、「最後の要素が何番目か」を取得するライブラリがないため、「文字列分割」ライブラリを一度同じように実行し、「分割元文字列」として「ファイルパス」を、「区切文字列」として「\」を、「インデックス」として「0」を指定して実行し、「分割サイズ」がいくつになるかを取得します。 上記の例であれば、「分割サイズ」として「4」の値が得られます。 その後に、「最後の要素が何番目か」を指定して改めて「文字列分割」を実行します。

この時、「最後の要素が何番目か」はプログラミングの配列のインデックスで指定するため、実際のサイズよりも1小さい値となります。 そのため、指定すべき分割サイズから1引いた値を指定する必要があります。 上記の例であれば、「3」を指定します。

複数の値の結合

本サンプルシナリオでは、「ノード」内にある「変数値設定」により、複数の値の結合を行っております。

該当箇所
該当箇所
  • %移動先フォルダ名%\%取得日付%_%変更前ファイル名%
    上記の例では、「移動先フォルダ名」変数と「\」と「取得日付」変数と「_」と「変更前ファイル名」変数の5つの値を結合しています。変数は、%変数名%と記述することで、文字列としての値を参照することができます。
変数設定例
変数設定例

変更履歴

版数日付修正内容
1.0版 2019/02/19 初版
Twitterでシェア Facebookでシェア
ページの最上部に移動します