FILE2 (正規表現) 属性
- 最終更新日2022/05/19
FILE2 (正規表現) 属性
正規表現 (RegEx) とは、指定したパス内のファイルを検索するために定義された文字列のパターンです。正規表現 (regex) を使用して文字列のパターンを作成する際に、FILE2
属性を使用します。
例: 特定の文字列を含むファイル (たとえば Hello.txt
) のフォルダー パスを検索する場合。。File2
属性タイプを使用して、次の正規表現パターンを入力します。Hell
または ell
で、検索条件に一致するファイルを探します。このトピックは、次の場所にある Package SDK 内で利用可能な File2TypeDemo サンプルに基づいています。<PackageSDK>\src\main\java\com\automationanywhere\botcommand\samples\commands\basic\types\File2TypeDemo.java.
FILE2 の使用
- 以下のパッケージをインポートしたことを確認し、サンプルで説明されているようにすべての機能が動作することを確認してください。
import com.automationanywhere.commandsdk.annotations.*; import com.automationanywhere.commandsdk.model.AttributeType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
-
@BotCommand
注釈を追加して、クラスを Control Room のアクションとして作成します。注釈の詳細については、「注釈」をご覧ください。@BotCommand
-
@CommandPkg
注釈を追加して、UI 関連のすべてのコンポーネント (ラベル、説明、アイコン、リターン タイプ、名前) を定義します。@CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
- クラス内にメソッド (例: regexFile) を作成し、以下に説明するようにフィールドを定義します。
- コンパイル中にメソッドを実行するには、
@Execute
でメソッドに注釈を付けます。 - 以下の例では、
@Idx
、@Pkg
、および@NotEmpty
がメソッドのパラメーターとして定義されています。それらがクラスのメンバーとして使用される場合は、set
とget
メソッドを使用してそれらを定義する必要があります。-
@Idx
- アクションのインデックスを定義します。(@Idx(index = "1", type = AttributeType.FILE2)
) -
@Pkg
- インターフェースに表示されるすべてのパラメーターとメンバー変数を定義します (@Pkg(label = "[[File2TypeDemo.localFile.label]]")
)。@Idx
を付ける必要があります。そうでない場合、この注釈は無視されます。 -
@NotEmpty
- このパラメーターを空にできないことを定義します (@NotEmpty @LocalFile FileValue fileValue)
)。@BotCommand @CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo") public class File2TypeDemo { private static Logger logger = LogManager.getLogger(File2TypeDemo.class); @Execute public void regexFile( @Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue)
-
- コンパイル中にメソッドを実行するには、
- カスタム パッケージをビルドし、Control Room にアップロードします。パッケージのアップロードの詳細については、「パッケージ SDK の使用」をご覧ください。
- Bot を作成します。
- アクションをキャンバスにドラッグすると、ファイルを検索するための正規表現を入力できるようになります。この画像のような入力ボックスが表示されます。
正規表現を印刷する - フォルダー名とファイルの場所
Log4j パッケージから取得したロガーインターフェースを使用して、操作されているオブジェクトの情報を提供します。以下のサンプルでは、debug
メソッドを使用してフォルダー名とローカル ファイルの場所をログに記録できます。
@BotCommand
@CommandPkg(label = "[[File2TypeDemo.label]]",
description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
public class File2TypeDemo {
private static Logger logger = LogManager.getLogger(File2TypeDemo.class);
@Execute
public void regexFile(
@Idx(index = "1", type = AttributeType.FILE2) @Pkg(label = "[[File2TypeDemo.localFile.label]]") @NotEmpty @LocalFile FileValue fileValue) {
if (fileValue.isRegex()) {
RegexFile regexFile = fileValue.getRegex();
logger.debug("folder name {}", regexFile.getFolder());
logger.debug("local file location {}", regexFile.getFileNamePattern().toString());
} else {
logger.debug("Regex option is not selected");
}
}