6

こんにちは、NTTデータ WinActor技術支援チームです。
いつもユーザーフォーラムをご利用いただき、ありがとうございます。

早速ですが、ライブラリ13_ファイル関連に「ファイル移動」というライブラリがあります。
ですが、WinActorの同梱ライブラリの中には、フォルダを移動してくれるライブラリはありません。

では、「フォルダごと移動したいのに!」という時はどうすれば良いか。
今回はフォルダの移動方法についていくつかの方法をご紹介します。

【フォルダ移動方法その1:プチライブラリを使う】

こちらは一番簡単な方法ですが、プチライブラリには「フォルダ移動(MoveHere)」
というライブラリがあります。
設定は、移動元と移動先のフォルダ名を絶対パスで設定するだけですのでとても簡単です。

ちなみに、プチライブラリには「フォルダ移動(MoveFolder)」という類似ライブラリもあります。
少し仕様が違いますので、興味がある方は見比べてみてください。

【フォルダ移動方法その2:「ファイル移動」のスクリプトを編集する】

次は、WinActorの同梱ライブラリ「ファイル移動」のスクリプトを少しだけ書き換えて
「フォルダ移動」をする仕様に編集する方法です。
手順は以下です。

1)「ファイル移動」をフローチャートに出し、プロパティのスクリプトタブを開きます。

2)以下2か所の文字列を編集します。
   編集1 SetUMSVariable "$FILE_PATH_TYPE", "11"
       ↓
        SetUMSVariable "$FILE_PATH_TYPE", "14"

   編集2 objFileSys.MoveFile before, after
       ↓
        objFileSys.MoveFolder before, after
        

あとは移動先入力欄に移動するフォルダパス、移動先入力欄に移動先のフォルダパスを設定するだけです。
※スクリプト修正後のライブラリは、プロパティのバージョン情報タブが無くなります。
 また、動作保証はされなくなりますので十分に動作確認をしたうえでご利用ください。

【フォルダ移動方法その3:「コマンド実行」を使う】

最後に「コマンド実行」を使った方法です。
会社のポリシー等によりプチライブラリのダウンロードやスクリプト修正はできない。という方もたくさんいらっしゃるかと思います。
WinActorの同梱ノード、ライブラリしか使用できない場合は、ノード「コマンド実行」を使うと便利です。

ノード「コマンド実行」単体でフォルダ移動をする場合の設定例は、以下です。

コマンド:値⇒cmd
オプション:値⇒/c move 移動元フォルダパス 移動先フォルダパス

もしオプション入力欄のフォルダパスが可変の場合は下図のように「文字列の連結」の連結結果を
オプション入力欄に変数設定すると良いと思います。

今回はフォルダの移動方法を3つご紹介しました。
やりたいことが同梱ノード、ライブラリではできない場合でも
探してみると意外な方法が見つかるかもしれません。
特にプチライブラリ、スイートライブラリを探してみるとやりたいことにピッタリ、
ということがよくありますので是非検索してみてください。

【動作検証環境】
OS:Windows10
WinActor:バージョン7.3.1

<お願い>
 本投稿に関しての問合せにつきましては、
 恐れ入りますがコメントではなく、個別問合せにてお願いいたします。
★お問合せ方法はこちらのコラムをご参照ください
 【WA0116】ユーザーフォーラムで質問を投稿するときの手順

技術支援チーム53 質問の編集
回答とコメントは、会員登録(無料)で閲覧できるようになります。