Back to Aurora Vision Library Lite website

You are here: Start » System » File System » RemoveFile_ByTime

RemoveFile_ByTime


Header: STD.h
Namespace: avl

Removes files older than the specified timestamp from a directory.

Syntax

C++
Python
 
void avl::RemoveFile_ByTime
(
	const atl::Directory& inDirectory,
	const avl::Timestamp& inTimestamp,
	const atl::String& inMask,
	const avl::FileTimeVariant::Type& inTimeVariant,
	const avl::FileNameFilter::Type& inMaskType,
	bool inRecursive,
	bool inRemoveDirectories,
	atl::Array<atl::File>& outRemoved,
	atl::int64& outRemovedSize
)

Parameters

Name Type Default Description
Input value inDirectory const Directory& Directory from which the files will be deleted
Input value inTimestamp const Timestamp& Timestamp to compare files to
Input value inMask const String& \"*\" Filter pattern
Input value inTimeVariant const FileTimeVariant::Type& ModificationTime Variant of the time attribute to use
Input value inMaskType const FileNameFilter::Type& Wildcard Filter type to use with the mask
Input value inRecursive bool False Process subdirectories recursively
Input value inRemoveDirectories bool True Specifies whether to also delete directories that become empty after files are deleted from them
Output value outRemoved Array<File>& List of actually deleted entries
Output value outRemovedSize int64& Size of the deleted files in bytes

Remarks

inMask pattern string
Port inMask specifies wildcard pattern that selects files this filter will operate on. Supported wildcards:
  • * - any string of characters, including no characters
  • ? - exactly one character
You can use any expression like examples below:
Examples:
  • * - all files,
  • *.jpg - files only with extension .jpg,
  • Filename.* - files with name "Filename" and any extension, including no extension e.g. "Filename."
  • Filename.?? - files with name "Filename" and two letter extension,
Using regular expressions
When port inMaskType is set to Regex, the inMask port is interpreted as a regular expression pattern rather than a wildcard. The ECMAScript regular expression grammar is used. See some examples of regular expression patterns below:
Regex patterns examples:
  • .* - all files,
  • .*\.jpg - files only with extension .jpg,
  • Filename\..* - files with name "Filename" and any extension, including no extension e.g. "Filename."
  • Filename\..{2} - files with name "Filename" and two letter extension,
Specifying the time
The inTimestamp port must be set to a Timestamp with the desired value. DateTimeToTimestamp filter can be used to create such an object.
Warning:All tools applied to a specific device or file should be managed within a single thread to ensure centralized tracking, traceability, and consistency throughout the process.

See Also

  • FindFiles – Returns files of the input directory.