Attribut FILE2 (Regex)
Reguläre Ausdrücke (RegEx) sind Muster von Zeichenketten, die für die Suche nach einer Datei in einem bestimmten Pfad definiert sind. Verwenden Sie die FILE2
Attribut, wenn Sie reguläre Ausdrücke (regex) verwenden, um Zeichenkettenmuster zu erstellen.
Zum Beispiel: Wenn Sie einen Ordnerpfad nach einer Datei durchsuchen wollen (zum Beispiel Hallo.txt
)die eine bestimmte Zeichenfolge enthält. . Sie verwenden Datei2
Attributtyp, um das folgende Regex-Muster einzugeben: Hölle
oder ell
der die Datei findet, die den Suchkriterien entspricht. Dieses Thema basiert auf dem File2TypeDemo Beispiel, das im Paket SDK an folgendem Ort verfügbar ist <PackageSDK>\src\main\java\com\automation\botcommand\samples\commands\basic\types\File2TypeDemo.java.
Verwendung der FILE2
- Stellen Sie sicher, dass Sie die folgenden Pakete importiert haben, um sicherzustellen, dass alle Funktionen wie im Beispiel beschrieben funktionieren.
import com.automationanywhere.commandsdk.annotations.*; import com.automationanywhere.commandsdk.model.AttributeType; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger;
- Fügen Sie den
@BotCommand
Annotation hinzu, um eine Klasse als Aktion im Kontrollraum zu erstellen. Für weitere Informationen über Anmerkungen siehe Anmerkungen.@BotCommand
- Hinzufügen der
@CommandPkg
Annotation hinzu, um alle UI-bezogenen Komponenten zu definieren - Beschriftungen, Beschreibung, Symbol, Rückgabetypund Name.@CommandPkg(label = "[[File2TypeDemo.label]]", description = "[[File2TypeDemo.description]]", icon = "sample.svg", name = "file2TypeDemo")
- Erstellen Sie eine Methode (Zum Beispiel: regexFile) innerhalb Ihrer Klasse und definieren Sie die Felder wie unten beschrieben.
- Annotieren Sie die Methode mit
@Ausführen
um die Methode während der Kompilierung auszuführen. - In dem folgenden Beispiel,
@Idx
,@Pkg
und@NotEmpty
sind als Parameter der Methode definiert. Wenn sie als Mitglied der Klasse verwendet werden, dann sollten Sieset
undget
Methoden zu definieren.@Idx
- Legt den Index einer Aktion fest. (@Idx(index = "1", type = AttributeType.FILE2)
)@Pkg
- Definiert alle Parameter und Mitgliedsvariablen, die in der Schnittstelle angezeigt werden (@Pkg(label = "[[File2TypeDemo.localFile.label]]")
). Muss von der Option "@Idx" begleitet werden.@Idx
begleitet sein, andernfalls wird diese Anmerkung ignoriert.@NotEmpty
- Legt fest, dass dieser Parameter nicht leer sein darf (@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)
- Annotieren Sie die Methode mit
- Ziehen Sie die Aktion in den Canvas und Sie können den Regex eingeben, um eine Datei zu finden. Sie sehen ein Eingabefeld ähnlich diesem Bild.
Drucken Sie den Regex - Ordnernamen und den Dateispeicherort
Verwenden Sie den Logger Schnittstelle aus dem Log4j-Paket, um Informationen über die zu bearbeitenden Objekte bereitzustellen. In dem folgenden Beispiel können Sie den Ordnername und den lokalen Dateispeicherort zu protokollieren, indem Sie die Fehlersuche
Methode.
@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");
}
}