File System - Rename

Declaration

<AMFILESYSTEM ACTIVITY="rename" SUBFOLDERS="yes/no" OVERWRITE="yes/no" ISNEWER="yes/no" ONLYIFEXIST="yes/no" OVERWRITEREADONLY="yes/no" OVERWRITEHIDDEN="yes/no" ARCHIVETURNOFF="yes/no" EXCLUDE="text" RE="yes/no" ISNEWERTHAN="DateSerial" SOURCE="text" DEST="text" RESULTDATASET="text" />

Description:

Renames one or more folders or files from a source path to a destination path. To specify more than one folder/file, use wildcard characters (* or ?). To specify multiple folder/file names or wildcard masks, separate them with a pipe symbol (Example: c:\*.txt|c:\*.bak). Files can also be renamed to a new location.

Practical Usage

Commonly used as an organization tool to the renaming of multiple folders or files. For instance, files can be renamed to include the current date/time, the parent folder name, department name, etc.

Parameters

General

Property

Type

Required

Default

Markup

Description

File/Folder

Text (options)

Yes

File

  1. MODE="file"

  2. MODE="folder"

Indicates what object(s) should be renamed. The available options are:

  • File (default) - One or more files will be renamed.

  • Folder - One or more folders will be renamed.

Original name

Text

Yes

(Empty)

  1. SOURCE="c:\sourcefolder\file.txt"

  2. SOURCE="c:\sourcefolder\*.txt"

  3. SOURCE="c:\folder\*.txt|c:\folder\*.bak"

  4. SOURCE="c:\foldername\subfoldername

Indicates the file(s) or folder(s) to rename. This can be a fully qualified path and filename/foldername (preferred) or a filename/foldername only (requires use of the Change folder activity). Wildcard characters (* or ?) can be used to specify multiple files/folders matching a certain mask. Multiple file masks can be specified by separating each entry with a pipe symbol (Example: c:\*.txt|c:\*.bak).

New name

Text

Yes

(Empty)

  1. DEST="c:\destfolder\file.txt"

  2. DEST="c:\destfolder\*.txt

  3. DEST="c:\destfolder\*.*"

  4. DEST="c:\destfolder\

Indicates the destination folder and (optionally) the filename for the files being renamed. This can be a fully qualified path or a filename. Folders specified that do not exist will be automatically created at runtime. Wildcard characters (* or ?) may be used.

Create and populate dataset with result

Text

No

(Empty)

RESULTDATASET="DatasetName"

The name of a dataset to be created and populated with status regarding this operation. More information about the fields that this dataset creates are entered below under Datasets.

File Options

Property

Type

Required

Default

Markup

Description

Include Subfolders

Yes/No

No

No

SUBFOLDERS="YES"

If set to YES, denotes that, if present, subfolders should be searched for files matching the mask specified in the Source parameter. If set to NO (default value), subfolders are altogether ignored.

Preserve Folder Structure

Yes/No

No

Yes

KEEPFOLDERSTRUCT="NO"

If set to YES (default value), subfolders found in the source folder will be created in the destination folder and source files will be moved into their respective folders rather than directly into the root of the target folder specified in the Destination parameter. If set to NO, source files will be moved into the root of the target folder instead. This parameter is active only if the Include Subfolder parameter is set to YES.

Include Empty Subfolders

Yes/No

No

No

EMPTYFOLDERS="YES"

If set to YES, subfolders found in the source folder will be created in the destination folder even if they do not contain any files. If set to NO (default value), empty subfolders are ignored. This parameter is active only if the Include Subfolder parameter is set to YES.

Only Folder Structure

Yes/No

No

No

ONLYFOLDERSTRUCT="YES"

If set to YES, subfolders found in the source folder will be created in the destination folder but no files will be moved. Enabling this option causes all other file-specific parameters to be ignored. This parameter is set to NO by default and active only if the Include Subfolder parameter is set to YES.

Overwrite if Exist

Yes/No

No

No

OVERWRITE="YES"

If set to YES, matching destination files will be overwritten. This parameter is set to NO by default.

Only if Newer

Yes/No

No

No

ISNEWER="YES"

If set to YES, only source files that are newer than those that match in the destination folder will overwrite existing files. Set to NO by default. This parameter is active only if the Overwrite if Exist parameter is set to YES.

Only if Exist in Destination

Yes/No

No

No

ONLYIFEXIST="YES"

If set to YES, only files that already exist in the destination will be moved from the source. All other files, regardless of whether they match the mask or other parameter settings will be bypassed. This parameter is set to NO by default and is active only if the Overwrite if Exist parameter is set to YES.

Overwrite Read-Only Files

Yes/No

No

No

OVERWRITEREADONLY="YES"

If set to YES, already existing files should be overwritten even if the file in the destination is marked with the read-only attribute. By default, read-only files are not overwritten. This parameter is active only if the Overwrite if Exist parameter is set to YES.

Overwrite Hidden Files

Yes/No

No

No

OVERWRITEHIDDEN="YES"

If set to YES, specifies that already existing files should be overwritten even if the file in the destination is marked with the hidden attribute. By default, hidden files are not overwritten. This parameter is active only if the Overwrite if Exist parameter is set to YES.

Turn Archive Attribute Off

Yes/No

No

No

ARCHIVETURNOFF="YES"

If set to YES, specifies that the archive attribute of the source files should be switched OFF. The Windows archive attribute is generally used to track whether a file has been backed-up. Turning the source file's archive attribute off indicates to many backup programs that the file has already been backed-up. This parameter is set to NO by default.

Exclude Mask

Text

No

(Empty)

EXCLUDE="*.txt"

Causes this action to omit files matching the mask(s) specified. File names or wildcard masks may be used. Multiple entries may be specified by separating them with a pipe symbol (|), for example: *.txt|*.bak

Regular expression

Yes/No

No

No

RE="YES"

If set to YES, specifies that the value entered in the Exclude mask parameter will be interpreted as a regular expression. If set to NO (default), the value will be interpreted as normal readable text.

Only if Newer Than

Date

No

(Empty)

ISNEWERTHAN=

"%DateSerial(2001,10,12) + TimeSerial(00,00,00)%"

If enabled, causes this action to only act on files that are newer than the date/time specified. If this parameter is left blank or disabled (default), file dates are ignored.

Click the Custom button to select from a list of pre-defined date parameters. Enable the Expression option to allow entry of a date/time expression.

Only if Older Than

Date

No

(Empty)

ISOLDERTHAN=

"%DateSerial(2001,10,12) + TimeSerial(00,00,00)%"

If enabled, causes this action to only act on files that are older than the date/time specified. If this parameter is left blank or disabled (default), file dates are ignored.

Click the Custom button to select from a list of pre-defined date parameters. Enable the Expression option to allow entry of a date/time expression.

File Filter

Property

Type

Required

Default

Markup

Description

Attributes

Text (Options)

No

(Empty)

 

 

a)ATTRFILTER="+R+A-H"

b)ATTRFILTER="-S"

 

This group of settings causes the action to filter which files are moved based on the attribute settings of the source file(s). In visual mode, a group of controls are provided to assist in the selection of this parameter. In markup mode, a single text item must be specified that contains the attributes of the files you wish to move.

Available Options:

  • R—Read-only: Specifying "+R" causes files with this attribute turned on to be included, "-R" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • A—Archive: Specifying "+A" causes files with this attribute turned on to be included, "-A" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • S—System: Specifying "+S" causes files with this attribute turned on to be included, "-S" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • H—Hidden: Specifying "+R" causes files with this attribute turned on to be included, "-H" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

  • C—Compression: Specifying "+C" causes files with this attribute turned on to be included, "-C" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

Description

Error Causes

On Error

Datasets

A dataset is a multiple column, multiple row container object. This activity creates and populates a dataset containing a specific set of fields. The table below describes these fields (assuming the dataset name assigned was theDataset).

Name

Type

Return Value

theDataset.Source

Text

The path and file name of the source folder/ file.

theDataset.Size

Number

The size of the folder/file (in kb).

theDataset.Destination

Text

The path and file name of the destination file.

theDataset.Result

True/False

Returns TRUE if result of activity is a success, otherwise, returns a FALSE.

theDataset.Message

Text

The textual information associated to the result.

Example

NOTE: The sample AML code below can be copied and pasted directly into the Steps panel of the Task Builder.

Description:  This sample task will demonstrate how can rename a filename to its parent folder name. The ExtractFilePath() function is used to extract the path from a filename. ExtractFilePath returns the path part (including drive letter) from the filename. The path consists of all characters before the last directory separator character ('/' or '\'), including the directory separator itself. In case there is only a drive letter, that will be returned. ExtractFilePath can be used against a literal string, e.g.,%ExtractFilePath('c:\test1\test2\test3\test4.txt')% or a variable, e.g.,%ExtractFilePath(AMTrigger.Filename)%.

 

<AMVARIABLE NAME="var1">C:\test1\test2\test3\test4.txt</AMVARIABLE>

<AMVARIABLE NAME="var2">%ExtractFilePath(var1)%</AMVARIABLE>

<AMVARIABLE NAME="var3"></AMVARIABLE>

<AMVARIABLE NAME="var4"></AMVARIABLE>

<AMVARIABLE NAME="theIndex"></AMVARIABLE>

<AMTEXTREMOVE REMOVE="user" CHARACTERS="\" ACTION="remove_end" TEXT="%var2%" RESULTVARIABLE="var3" />

<AMFINDTEXT TEXT="%var3%" FIND="\" TOTALMATCHESVARIABLE="var4" />

<AMFINDTEXT TEXT="%var3%" FIND="\" RESULTVARIABLE="theIndex" INDEX="%var4%" />

<AMTEXTGETSUBTEXT TEXT="%var3%" STARTPOSITION="%theIndex + 1%" RESULTVARIABLE="var4" />

<AMFILESYSTEM ACTIVITY="rename" SOURCE="%var1%" DEST="%var2&amp;var4%.txt" />