FILE2(정규식) 속성

정규식(RegEx)은 지정된 경로에서 파일을 검색하도록 정의된 문자열 패턴입니다. 정규식(regex)을 사용하여 문자열 패턴을 생성할 때 FILE2 속성을 사용합니다.

예: 특정 문자열이 포함된 파일(예: Hello.txt)에 대한 폴더 경로를 검색하고자 하는 경우. . File2 속성 유형을 사용하여 다음 정규식 패턴을 입력합니다. Hell 또는 ell을 입력하여 검색 기준과 일치하는 파일을 찾습니다. 이 항목은 <PackageSDK>\src\main\java\com\automationanywhere\botcommand\samples\commands\basic\types\File2TypeDemo.javaPackage SDK 내에서 제공되는 File2TypeDemo 샘플을 기반으로 합니다.

FILE2 사용

  1. 모든 기능이 샘플에 설명된 대로 작동하도록 다음 패키지를 가져왔는지 확인합니다.
    import com.automationanywhere.commandsdk.annotations.*;
    import com.automationanywhere.commandsdk.model.AttributeType;
    import org.apache.logging.log4j.LogManager;
    import org.apache.logging.log4j.Logger;
  2. @BotCommand 주석을 추가하여 클래스를 Control Room의 작업으로 만듭니다. 주석에 대한 자세한 정보는 라벨의 내용을 참조하십시오.
    @BotCommand
  3. @CommandPkg 주석을 추가하여 모든 UI 관련 컴포넌트(labels, description , icon, return type, name)를 정의합니다.
    @CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
  4. 클래스 내에 메소드(예: regexFile)를 만들고 아래 설명과 같이 필드를 정의합니다.
    1. 컴파일 도중 메서드를 실행하려면 메서드에 @Execute 주석을 추가합니다.
    2. 아래 샘플에서 @Idx, @Pkg@NotEmpty는 메소드의 매개변수로 정의됩니다. 클래스의 멤버로 사용되는 경우 setget 메소드를 사용하여 이를 정의해야 합니다.
      1. @Idx - 작업의 인덱스를 정의합니다. (@Idx(index = "1", type = AttributeType.FILE2))
      2. @Pkg - 인터페이스에 표시된 모든 매개변수와 구성원 변수를 정의합니다(@Pkg(label = "[[File2TypeDemo.localFile.label]]") ). @Idx가 동반되어야 하며, 그렇지 않은 경우 이 주석은 무시됩니다.
      3. @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)
  5. 사용자 지정 패키지를 빌드하고 Control Room에 업로드합니다. 패키지 업로드에 대한 자세한 정보는 Package SDK 사용 안내의 내용을 참조하십시오.
  6. Bot을 생성합니다.
  7. 작업을 캔버스로 드래그하면 정규식을 입력하여 파일을 찾을 수 있습니다. 이 이미지와 유사한 입력 상자가 표시됩니다.

    Variable SDK 데모를 보여주는 이미지

정규식 인쇄 - 폴더 이름 및 파일 위치

Log4j 패키지에서 가져온 Logger 인터페이스를 사용하여 조작되는 객체에 대한 정보를 제공합니다. 아래 샘플에서 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");
    }
  }