Quick Operations
Various shortcut operations can be performed on the path list filtered by Path Matching and File Attribute Filtering.
- Read-Only Operations
> Perform read-only operations on source path data without modification or deletion.
list: List matching paths.search: Search text file content.fdups: Find duplicate files.archive: Archive files.unarchive: Unarchive files.mirror: Incremental Sync.
- Read/Write Operations
> Perform modification or deletion operations on source path data (write operations take effect immediately).
replace: Text find and replace.rmdir: Delete empty directories.clean: Clean files.wipe: Secure File Erasure.
Note: All shortcut operations are selected and executed via button B3 in the diagram below.
T0GUI-Shortcut Operations

A. Path Matching - Multiple Paths
Drag and drop one or more directories/files into Area A to be processed.
- A1. Paste paths from the system clipboard;
- A2. Open path selector, select one or more files;
- A3. Open path selector, select a directory;
- A4. Clear the drag-and-drop area;
B. Select Operation - Execute with One Click
- B1. File attribute filtering conditions;
- B2. Choose whether to execute immediately. If not executed immediately, only the corresponding command will be output;
- B3. Select the operation type and execute with one click;
C. Commands Ready
Command source: Commands generated after selecting an operation, or batch commands loaded via configuration.
- C1. List of commands to be executed
- C2. Command execution progress
- C3. Execute commands in batch
D. Output Results
T1GUI-list
Functionality is consistent with what is described in Getting Started - Path Matching - Single Path, but here it supports multiple path matching.
T2GUI-search
Functionality is consistent with what is described in Getting Started - Text Search - Execution Results, but here it supports text search within multiple paths.
T3GUI-fdups
File content duplication is determined by its hash value (HashValue).

Output data (including parameter settings):
ft fdups --pattern="**" --source=~/Downloads/ft --fields=ok,action,type,modified,size,extra -v
ft fdups --pattern="**" --source=~/Downloads/xft --fields=ok,action,type,modified,size,extra -v
| Ok | Action | Type | Size | Modified | Path | Extra |
|---|---|---|---|---|---|---|
| 1 | fdups | f | 1.2K | May 03 14:52 | ~/Downloads/ft/README copy.md | hash:8770095025493393364 |
| 1 | fdups | f | 1.2K | Aug 12 14:57 | ~/Downloads/ft/README.md | hash:8770095025493393364 |
| 1 | fdups | f | 373B | Aug 12 14:55 | ~/Downloads/xft/pubspec copy.yaml | hash:4918059497035380282 |
| 1 | fdups | f | 373B | Aug 10 15:20 | ~/Downloads/xft/pubspec.yaml | hash:4918059497035380282 |
T4GUI-archive
Archives one or more paths to a specified target file.
Archive type and target path can be adjusted in Settings->Target->Archive.

Output data (including parameter settings):
ft archive --pattern="**" --excludes="/**/.**" --source=~/Downloads/ft --fields=ok,action,type --target=~/Documents/FileShows/archive/ft.tgz --type=tgz -v
| Ok | Action | Type | Path |
|---|---|---|---|
| 1 | archive | f | ~/Downloads/ft/test/ft_test.dart |
| 1 | archive | f | ~/Downloads/ft/bin/ft.dart |
| 1 | archive | f | ~/Downloads/ft/CHANGELOG.md |
| 1 | archive | f | ~/Downloads/ft/example/ft_example_action.dart |
| 1 | archive | f | ~/Downloads/ft/example/ft_example.dart |
| 1 | archive | f | ~/Downloads/ft/pubspec.lock |
| 1 | archive | f | ~/Downloads/ft/README.md |
| 1 | archive | f | ~/Downloads/ft/pubspec.yaml |
| 1 | archive | f | ~/Downloads/ft/lib/ft.dart |
T5GUI-unarchive
Extracts one or more archive files to a specified target directory.
The extraction target directory can be adjusted in Settings->Target->Unarchive.

Output data (including parameter settings):
Note: During extraction, the --pattern and --excludes parameters will be ignored.
ft unarchive --source=~/Downloads/ft.tgz --fields=ok,action,type --target=~/Documents/FileShows/unarchive/ft.tgz -v
| Ok | Action | Type | Path |
|---|---|---|---|
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/bin/ft.dart |
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/CHANGELOG.md |
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/example/ft_example.dart |
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/README.md |
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/pubspec.yaml |
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/.gitignore |
| 1 | unArchive | f | ~/Documents/FileShows/unarchive/ft.tgz/lib/ft.dart |
T6GUI-mirror
Incrementally synchronizes one or more source paths to a target directory.
The target directory can be adjusted in Settings->Target->Sync.

Output data (including parameter settings):
ft mirror --pattern="**" --excludes="/**/.**" --source=~/Downloads/ft --fields=ok,action,type --target=~/Documents/FileShows/mirror/ft -v
| Ok | Action | Type | Path |
|---|---|---|---|
| 1 | mirror | f | ~/Documents/FileShows/mirror/ft/bin/ft.dart |
| 1 | mirror | f | ~/Documents/FileShows/mirror/ft/CHANGELOG.md |
| 1 | mirror | f | ~/Documents/FileShows/mirror/ft/example/ft_example.dart |
| 1 | mirror | f | ~/Documents/FileShows/mirror/ft/README.md |
| 1 | mirror | f | ~/Documents/FileShows/mirror/ft/pubspec.yaml |
| 1 | mirror | f | ~/Documents/FileShows/mirror/ft/lib/ft.dart |
T7GUI-replace
Text replacement is an additional feature of Text Search.

Output data (including parameter settings):
ft search --pattern="**.yaml" --excludes="/**/.**" --source=~/Downloads/ft --fields=ok,action,type --regexp="version: 1.0.\d+" --replace="version: 1.0.1" -v
| Level | LineNo | ReplaceTo | Path |
|---|---|---|---|
| i | L:3 | version: 1.0.1 | F:~/Downloads/ft/pubspec.yaml |
T8GUI-rmdir
Recursively deletes empty directories (i.e., directories containing no files or subdirectories).
If a directory is not empty, you can first use the clean command to clear its contents, then perform the deletion operation.
Output data (including parameter settings):
ft rmdir --pattern="**" --source=~/Downloads/2.0.1 --fields=ok,action,type -v
| Ok | Action | Type | Path |
|---|---|---|---|
| 1 | rmdir | d | ~/Downloads/2.0.1/example/android/app/src/debug |
| 1 | rmdir | d | ~/Downloads/2.0.1/example/android/app/src/main |
| 1 | rmdir | d | ~/Downloads/2.0.1/example/android/app/src |
| 1 | rmdir | d | ~/Downloads/2.0.1/example/android/gradle |
| 1 | rmdir | d | ~/Downloads/2.0.1/example/android/app |
| 1 | rmdir | d | ~/Downloads/2.0.1/example/android |
| 1 | rmdir | d | ~/Downloads/2.0.1/example |
| 1 | rmdir | d | ~/Downloads/2.0.1 |
T9GUI-clean
Recursively cleans files.

Common cleanup patterns:
**.DS_StoremacOS desktop service storage files.**.sw[p|o|n]Emacs/Vi swap files.**.unVim undo files.**~Emacs/Nano backup files.**#Emacs auto-save files.
Output data (including parameter settings):
ft clean --pattern="**" --source=~/Downloads/textfile-3 --fields=ok,action,type -v
ft clean --pattern="**" --source=~/Downloads/mdocs1 --fields=ok,action,type -v
| Ok | Action | Type | Path |
|---|---|---|---|
| 1 | clean | f | ~/Downloads/textfile-3 |
| 1 | clean | f | ~/Downloads/mdocs1/readme 2.md |
| 1 | clean | f | ~/Downloads/mdocs1/readme 3.md |
| 1 | clean | f | ~/Downloads/mdocs1/readme 1.md |
T10GUI-wipe
Multi-pass secure file erasure.
Overwrites files multiple times with random content to ensure data cannot be recovered.
Due to extensive write operations, this feature has high demands on storage device performance. Unless necessary, avoid recursively performing secure erasure on entire directories.
Output data (including parameter settings):
ft wipe --pattern="**" --source=~/Downloads/2412229998-report.pdf --fields=ok,action,type -v
ft wipe --pattern="**" --source=~/Downloads/q.sql --fields=ok,action,type -v
ft wipe --pattern="**" --source=~/Downloads/order.xlsx --fields=ok,action,type -v
| Ok | Action | Type | Path |
|---|---|---|---|
| 1 | wipe | f | ~/Downloads/2412229998-report.pdf |
| 1 | wipe | f | ~/Downloads/q.sql |
| 1 | wipe | f | ~/Downloads/order.xlsx |