Task FileRenamer Extended

Wofür?

Die Task FileRenamerExtended erweitert die FileRenamer Task:

Beispiel aus Praxis

Die Task FileRenamer wurde erweitert um den Ablauf bei Workflows beim Abholen und Verarbeiten von Dateien zu vereinfachen. Oft steht man vor der Herausforderung die neue Datei nach einem bestimmten Muster zu benennen.

Konkrete Aufgabe: Über einen Webservice bekommt man eine neue Datei die importiert werden soll. Der Name der Datei einem bestimmten Muster entsprechen, zB. Import_YYYYMMDD_N.

Setting

<?xml version="1.0" encoding="utf-8" ?>
<Tasks>
  <!--
    FilesRenamer is a sequential task that renames a collection of files on the file system.
    To see how to use it, refer to the documentation of The ListFiles and Xslt tasks.
  -->
  <Task id="$int" name="FilesRenamerExtended" description="$string" enabled="true|false">
    <!-- 
      The files loaded by the task having as id the $taskId will be renamed.
    -->
    <Setting name="folder" value="$string" />
    <Setting name="folder" value="$string" />
    <!--  The Counter File path.-->
    <Setting name="file1" value="$string" />
    <Setting name="filetrigger" value="$string" />
    <!-- Optional and defaults to false. Overwrite the file if a file with the new file name already exists.-->
    <Setting name="overwrite" value="true|false" />
  </Task>
</Tasks>

Über das Setting filetrigger kann ein FileTrigger gesetzt werden sobald mindestens eine Umbenennung erfolgt ist.

Über das Setting file1 kann eine Datei mit einen Zählerwert mitgegeben werden.

Dieser Zähler sorgt dann dafür das in dem Dateinamen eine laufende Nummer hochgezählt wird. Im Dateinamen wird dann „_N“ durch die laufende Nummer + 1 ersetzt. In der Zählerdatei wird die laufende Nummer eins hochgezählt.

Workflow

Task 1 lädt 4 Dateien.

Task 2 überträgt die Dateien aus Task 1 in eine Liste.

Task 3 benennt alle Dateien aus Task 2 um.

<Workflow xmlns="urn:wexflow-schema" id="36" name="Workflow_FilesRenamer" description="Workflow_FilesRenamer">
	<Settings>
		<Setting name="launchType" value="trigger" />
		<Setting name="enabled" value="true" />
	</Settings>
	<Tasks>
		<Task id="1" name="FilesLoader" description="Loading files" enabled="true">
			<Setting name="file" value="C:\WexflowTesting\YYYYMMDD_file_N.txt" />
			<Setting name="file" value="C:\WexflowTesting\YYYYMMDD_file_N.txt" />
			<Setting name="file" value="C:\WexflowTesting\YYYYMMDD_file_N.txt" />
			<Setting name="file" value="C:\WexflowTesting\YYYYMMDD_file_N.txt" />
		</Task>
		<Task id="2" name="ListFiles" description="Listing files" enabled="true">
		</Task>
		<Task id="3" name="FilesRenamer" description="Renaming files" enabled="true">
			<Setting name="selectFiles" value="2" />
			<Setting name="overwrite" value="false" />
			<Setting name="file1" value="C:\WexflowTesting\counter.txt" />
		</Task>
	</Tasks>
</Workflow>

Folgende Pattern werden ersetzt:

KWxx_YYYY
KW-1_YYYY
KWxx
KW-1
YYYYMMDDHHMMSS
YYYYMMDD-HHMMSS
YYYYMMDD_HHMMSS
YYYYMMDD-HHMM
YYYYMMDD_HHMM
YYYYMMDDHHMM
YYYYMMDD
YYMMDD_HHMMSS
YYMMDD.HHMM
YYMMDD
DDMMYYYY-HHMMSS
DDMMYYYY_HHMMSS
DDMMYYYYHHMMSS
DDMMYYYY-HHMM
DDMMYYYY_HHMM
DDMMYYYYHHMM
DDMMYYYY
DDMMYY

_N ==> nächste laufende Nummer aus CounterFile

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.