Skip to content

path templates

4 posts with the tag "path templates"

Blober Path Templates: Organize Files During Transfer

Complete guide to organizing destination paths with Blober path templates

What Path Templating Means in Blober

Section titled "What Path Templating Means in Blober"

A file transfer normally answers two questions: what should move, and where should it go. Blober adds a third: what destination path should each file receive?

That matters because copying a disorganized source without thinking about paths creates a disorganized backup. A bucket containing clip001.mp4, invoice.pdf, DSC_4821.ARW, and years of nested project folders can be copied exactly as it is, filtered to a useful subset, or rearranged into a new structure while it moves.

Blober path templates are destination rules. They combine ordinary folder text with variables such as {file_ext}, {file_created_date}, and {filename}. Blober evaluates the template separately for every matching file and creates that file's relative destination path.

media/{file_ext}/{file_created_date}/{filename}

For a video named GX015742.MP4 with a reported creation date of July 18, 2026, the relative result is:

media/mp4/2026-07-18/GX015742.MP4

If the selected destination folder is studio-archive, the complete destination becomes:

studio-archive/media/mp4/2026-07-18/GX015742.MP4

No separate organizer, database, script, or integration platform is involved. The organization happens as part of the copy or move.

Path setup spans three numbered sections in the workflow editor. For the step-by-step app reference, see the Workflows guide.

Choose the source provider, authenticate it, then click Browse Files and Folders. You can select individual files, multiple files, folders, or an entire storage root when the provider supports it.

If at least one folder is selected, Advanced Filters (Optional) appears. It can restrict files by:

  • File extension
  • Created-date range
  • File-size range
  • Whether subdirectories are included
  • Include glob pattern
  • Exclude glob pattern

Source selection defines where Blober looks. Filters define which files inside that scope qualify.

Choose the destination provider and Select Destination Folder. Once the destination is complete, expand Advanced Path Template (Optional).

The Template Pattern field is appended beneath the destination folder. The variable list below the field can be clicked to add placeholders. Blober also shows an example output while the pattern is being edited.

The preview shows active filters, the destination template, source items, and expected destination paths. This is where a path rule becomes understandable before files move.

Do not treat preview as decoration. A template can deliberately flatten a hierarchy, split files into new folders, or rename every destination. Preview is the check that the rule means what you think it means.

Leave Advanced Path Template empty and keep Include Subdirectories enabled. Blober automatically retains the relative directory structure beneath the selected folder.

Selected folder:

Projects/
Client-A/
Final/
film.mp4

Destination result:

Client-A/Final/film.mp4

This is the right mode for a faithful backup. You do not need a template merely because templates exist.

Leave the template empty and disable Include Subdirectories. Files are placed by filename without their relative source folders.

This can be useful when collecting documents into one destination, but duplicate filenames from different source folders may target the same destination name. Preview the result carefully.

Enter a path template. The template takes control of the relative destination path. Automatic subdirectory preservation no longer adds the source hierarchy behind the scenes.

That rule is easy to miss:

{file_created_date}/{filename}

organizes by date but does not preserve source subfolders.

To retain relative source folders inside a custom path, explicitly include {file_dir}:

{file_created_date}/{file_dir}/{filename}

Read the dedicated {file_dir} guide before relying on it. Its value depends on whether a file or folder was selected and how deeply the file sits beneath that selected folder.

VariableMeaningExample
{current_date}Current processing date2026-07-20
{current_datetime}Current processing date and time2026-07-20_14-30-00
{file_created_date}Source-reported creation date2026-07-18
{file_created_datetime}Source-reported creation date and time2026-07-18_09-15-30
{file_modified_date}Source-reported modification date2026-07-19
{file_modified_datetime}Source-reported modification date and time2026-07-19_16-45-22
{file_accessed_date}Source-reported access date2026-07-20
{file_accessed_datetime}Source-reported access date and time2026-07-20_12-00-15
{filename}Complete filenameGX015742.MP4
{filename_no_ext}Filename without extensionGX015742
{file_ext}Extension without the dotmp4
{file_size}Exact size in bytes1572864
{file_size_mb}Exact size in MB, rounded to two decimals1.50
{file_dir}Relative directory beneath the selected folderDay-2/Camera-A

These are deterministic metadata substitutions, not AI classifications. Blober does not inspect an image and infer a client, location, or subject. If Client-A is not present in a selected path, filename, or available variable, a template cannot invent it.

Suppose the destination folder is:

Archive

The selected source folder is:

Shoots

and one matching file is:

Shoots/Wedding-2026/Camera-A/DSC_4821.ARW

For that file:

{file_dir} = Wedding-2026/Camera-A
{filename} = DSC_4821.ARW
{filename_no_ext} = DSC_4821
{file_ext} = arw

This template:

originals/{file_dir}/{filename}

produces:

Archive/originals/Wedding-2026/Camera-A/DSC_4821.ARW

This template:

by-type/{file_ext}/{filename}

produces:

Archive/by-type/arw/DSC_4821.ARW

The second rule intentionally discards the source folder hierarchy because it does not contain {file_dir}.

Variables and Filters Solve Different Problems

Section titled "Variables and Filters Solve Different Problems"

Filters decide whether a file participates. Variables decide where a participating file lands.

For example:

Include pattern: **/*.{jpg,png}
Exclude pattern: **/thumbnails/**
Template: images/{file_created_date}/{filename}

The include pattern rejects non-image extensions. The exclude pattern removes thumbnails. The path template organizes the remaining files by creation date.

Keeping those concepts separate makes workflows easier to reason about:

  1. Select a source boundary.
  2. Filter the files inside it.
  3. Build the destination path for each match.
  4. Preview.
  5. Copy or move.

Path templates use metadata supplied by the source provider or filesystem. Not every backend describes dates and sizes in exactly the same way.

  • A cloud object may expose upload or modification time rather than the camera's original capture time.
  • Access time may be unavailable or unhelpful on object storage.
  • Unknown file size becomes NO_SIZE or NO_SIZE_MB when used in a template.
  • {file_size_mb} creates an exact numeric folder such as 142.53; it does not automatically create human categories such as small or large.
  • File extensions come from filenames. A misleading extension is not content inspection.

These limits do not make templates unreliable. They define what the rule can truthfully know. Use preview to inspect real metadata from the selected source.

Use Copy when:

  • Creating a backup
  • Testing a new destination structure
  • Building a second organized library
  • Keeping the source as the working location

Use Move when:

  • The destination has been verified
  • The source should be cleaned up
  • Files are being retired from expensive active storage

A move deletes the source after successful transfer. For any new path rule, run a representative copy first.

Blober can also reorganize between supported locations on the same provider, but source and destination cannot overlap. Do not place a destination inside the selected source tree. Choose a separate folder, bucket, container, or account.

  1. Create a new workflow and choose Copy.
  2. Select one folder containing several levels, file types, and sizes.
  3. Choose a separate destination folder.
  4. Enter {file_ext}/{file_dir}/{filename}.
  5. Inspect every example in Preview & Summary.
  6. Save and run the workflow.
  7. Verify the actual destination before scaling up.

That small test reveals exactly how the source provider reports dates, extensions, sizes, and relative folders. Once the output is correct, the same saved workflow can handle a much larger selection.

Download Blober at blober.io to organize files as they move between cloud storage, object storage, local disks, and network drives.

How the Blober file_dir Path Template Variable Really Works

How the file_dir path template variable preserves relative folders in Blober

{file_dir} is the directory path relative to the folder you selected as the source boundary. It is the part of the path that sits below that folder, not the file's full path and not always its immediate parent folder.

Blober works it out as it scans the files inside a folder you selected:

file_dir = directory containing the file - selected folder path

This distinction determines whether a custom path template preserves nested source structure.

In a workflow:

  1. Open Source Configuration.
  2. Click Browse Files and Folders.
  3. Select a folder and submit the selection.
  4. Complete Destination Configuration.
  5. Expand Advanced Path Template (Optional).
  6. Add {file_dir} to the Template Pattern.

A common preservation template is:

{file_dir}/{filename}

This produces a clean filename when {file_dir} is empty and adds nested directories when it is not. Blober removes the empty path segment rather than creating a leading slash.

Case 1: You Select an Individual File

Section titled "Case 1: You Select an Individual File"

Selected item:

Clients/Acme/Final/report.pdf

Because you picked the file itself, Blober has no selected folder to measure it against. Its relative directory is null, which becomes an empty {file_dir} value.

Template: {file_dir}/{filename}
Result: report.pdf

Blober does not produce:

Clients/Acme/Final/report.pdf

The original parent path is not automatically inferred into {file_dir} for a directly selected file.

This matters when several individual files are selected from different folders. A {file_dir}/{filename} template will not recreate each file's original parent folder. If retaining those parent folders matters, select their containing folders instead.

Case 2: You Select a Folder and the File Is at Its Root

Section titled "Case 2: You Select a Folder and the File Is at Its Root"

Selected folder:

Shoots/Wedding-2026

File:

Shoots/Wedding-2026/cover.jpg

The file's containing directory and the selected folder are the same. The relative path between them is empty.

{file_dir} = ""
Template: {file_dir}/{filename}
Result: cover.jpg

The selected folder name Wedding-2026 is not included in {file_dir}. The selected folder is the boundary, so relative calculation starts inside it.

If you want the selected folder name in the destination, add it as static text:

Wedding-2026/{file_dir}/{filename}

or select the parent folder Shoots, which changes the relative boundary.

Case 3: You Select a Folder and the File Is Nested

Section titled "Case 3: You Select a Folder and the File Is Nested"

Selected folder:

Shoots

Nested file:

Shoots/Wedding-2026/Camera-A/RAW/DSC_4821.ARW

Now the directory between the selected folder and the file is:

Wedding-2026/Camera-A/RAW

Therefore:

{file_dir} = Wedding-2026/Camera-A/RAW

and:

Template: originals/{file_dir}/{filename}
Result: originals/Wedding-2026/Camera-A/RAW/DSC_4821.ARW

{file_dir} can contain several levels. It holds the full relative path between the selected folder and the file, not only the single parent folder directly above it.

The same physical file can receive different {file_dir} values depending on the source selection.

File:

Archive/2026/Client-A/Final/video.mp4
Selected source{file_dir}
The file itselfempty
Archive/2026/Client-A/Finalempty
Archive/2026/Client-AFinal
Archive/2026Client-A/Final
Archive2026/Client-A/Final

This is intentional. Selection defines the root that should not be repeated at the destination.

Why file_dir Matters With Custom Templates

Section titled "Why file_dir Matters With Custom Templates"

Without a custom template, Blober can automatically preserve subdirectories when Include Subdirectories is enabled.

Once a custom template is entered, that automatic path is replaced. Consider:

by-date/{file_created_date}/{filename}

Every qualifying file is grouped by date. Existing source subfolders disappear from the destination path.

To organize by date while retaining relative folders:

by-date/{file_created_date}/{file_dir}/{filename}

For:

Selected folder: Projects
File: Projects/Acme/Final/report.pdf

the result becomes:

by-date/2026-07-18/Acme/Final/report.pdf

Blober allows multiple source selections. You can select one folder and several individual files.

Their {file_dir} values do not behave identically:

  • Files discovered inside the folder receive a relative path beneath that folder.
  • Files directly selected receive an empty value.
  • Files at the selected folder's root also receive an empty value.

If the destination must retain a meaningful folder for every file, avoid mixing individual-file selection with a template that depends entirely on {file_dir}. Select common parent folders or add another stable prefix such as {file_ext} or {file_created_date}.

Preserve the relative hierarchy:

{file_dir}/{filename}

Add an archive prefix:

archive/{file_dir}/{filename}

Split by type while preserving hierarchy:

{file_ext}/{file_dir}/{filename}

Group by creation date while preserving hierarchy:

{file_created_date}/{file_dir}/{filename}

Rename while preserving hierarchy:

{file_dir}/{file_created_datetime}_{filename}

Expecting the selected folder's name to appear. It will not. {file_dir} starts below the selected folder.

Selecting individual files and expecting parent folders. Directly selected files have no relative selected-folder context, so {file_dir} is empty.

Assuming Include Subdirectories adds folders to a custom template. A custom path expression takes precedence. Add {file_dir} explicitly.

Using {file_dir} without {filename}. The variable describes directories, not the final filename. A template normally needs both.

Use a small test tree containing:

Test/
root.txt
Level-1/
nested.txt
Level-2/
deep.txt

Select Test and preview {file_dir}/{filename}. Expected relative results:

root.txt
Level-1/nested.txt
Level-1/Level-2/deep.txt

That one preview demonstrates the complete rule before it is applied to a large archive.

Continue with the complete Blober path-template guide or learn how selection and glob filters define which files reach the template.

Organize Cloud Files by Created, Modified, or Backup Date

Organize cloud files by created modified accessed or backup date with Blober

Why Date Organization Solves Real Retrieval Problems

Section titled "Why Date Organization Solves Real Retrieval Problems"

Dates are one of the few metadata fields shared by photos, videos, documents, exports, and cloud objects. When filenames are meaningless and folders are inconsistent, a date-based destination gives users a predictable place to start.

Examples:

  • A photographer needs all files created during a shoot.
  • An agency needs exports modified during the current campaign.
  • A business needs monthly snapshots of reports.
  • An IT team needs each backup run separated from previous runs.
  • A creator needs footage grouped by the date supplied by the source.

Blober supports two different date operations: filtering which files qualify and placing qualified files into date-based paths.

After selecting a source folder, expand Advanced Filters (Optional) in Source Configuration. Created Date Range can restrict the source to any time, the last 24 hours, 7 days, 30 days, or 90 days.

After selecting the destination folder, expand Advanced Path Template (Optional). Date variables can then appear anywhere in the destination path.

The source date filter currently evaluates file creation time. Choosing a path variable is independent: matching files can be arranged by created, modified, accessed, or current processing date.

Use:

{current_date}
{current_datetime}

These represent when Blober processes the file. They answer, "When did this workflow place the file here?"

backup-runs/{current_date}/{file_dir}/{filename}

This is useful for snapshots and migration batches. It is not the file's historical creation date.

Use:

{file_created_date}
{file_created_datetime}

These use creation metadata reported by the source adapter.

created/{file_created_date}/{filename}

This is often suitable for camera media and newly produced documents, but cloud providers may interpret "created" as the time an object entered that service rather than the original camera capture time.

Use:

{file_modified_date}
{file_modified_datetime}

Modification time is useful for edited deliverables, reports, design exports, and files whose important event is the last save rather than initial creation.

last-edited/{file_modified_date}/{file_dir}/{filename}

Use:

{file_accessed_date}
{file_accessed_datetime}

Access time can be useful on filesystems that maintain it accurately. It is often weaker for object storage, where an access timestamp may not be exposed, may not mean "last viewed," or may be mapped from other provider metadata.

Do not choose access date merely because it exists in the variable list. Preview real values from the intended source first.

The date form creates broader groups:

2026-07-20

The datetime form includes hours, minutes, and seconds:

2026-07-20_14-30-00

Use a date for browsable daily folders. Use a datetime when separating runs, reducing filename collisions, or preserving event ordering matters.

For example:

exports/{file_modified_date}/{filename}

creates one folder per modification day, while:

exports/{file_modified_datetime}_{filename}

adds the timestamp to each filename.

A date-only template can merge files from unrelated source folders:

{file_created_date}/{filename}

To keep project or camera subfolders beneath the selected source boundary:

{file_created_date}/{file_dir}/{filename}

Remember that {file_dir} is empty for directly selected files and files at a selected folder's root. Read how file_dir is calculated before using it as the only project identifier.

Select the whole wedding folder, include RAW and video extensions, and use:

originals/{file_created_date}/{file_dir}/{filename}

This groups media by source-reported creation day while retaining nested camera folders.

Select the reports folder and use:

report-archive/{current_date}/{file_dir}/{filename}

Each workflow run enters a dated snapshot folder. Use Copy so the working reports remain untouched.

Select campaign folders, include PDF/SVG/PNG/WebP, exclude draft folders, and use:

deliverables/{file_modified_date}/{file_dir}/{filename}

The destination reflects when deliverables were last changed.

When an export must be tied to the exact transfer:

exported/{current_datetime}/{file_dir}/{filename}

The workflow time is explicit even if source dates are inconsistent.

What Blober Can and Cannot Know From a Date

Section titled "What Blober Can and Cannot Know From a Date"

Blober organizes from the metadata each source provides. It does not read EXIF capture dates from inside an image or work out a date from what the photo shows.

Before a large transfer:

  1. Select a representative folder.
  2. Enter the intended date template.
  3. Review several source and destination examples.
  4. Check files from different providers or upload histories.
  5. Use Copy for the first run.

If the source reports upload time as creation time, the preview will reveal it. Choose modified date, current date, or a simpler preserved hierarchy based on the actual data rather than the variable's name alone.

See the complete path-template guide for every variable and the copy-versus-move guide for a safe rollout.

Organize Cloud Files by Type and Extension

Organize cloud files by type and extension during transfer with Blober

When users say "organize by type," they may mean either:

  1. Transfer only certain types.
  2. Transfer many types but place each in a type-specific destination.

Blober supports both operations without inspecting file contents.

  • File Types in Source Configuration > Advanced Filters decides which extensions qualify.
  • {file_ext} in Destination Configuration > Advanced Path Template inserts the matching file's extension into its path.

An extension is the suffix from the filename. For DSC_4821.ARW, {file_ext} is arw and {filename_no_ext} is DSC_4821.

After selecting a folder, expand Advanced Filters (Optional). Built-in groups include:

  • Images: JPG, JPEG, PNG, GIF, BMP, SVG, WebP
  • Videos: MP4, MOV, AVI, MKV, WebM
  • Documents: PDF, DOC, DOCX, TXT, MD
  • Raw Photos: CR2, NEF, ARW, DNG, RAW
  • Code: JS, PY, JAVA, CPP, HTML, CSS

You can combine extensions. If a required extension is not represented by a convenient category, use a glob include:

**/*.{mxf,braw,r3d}

Extension matching is case-insensitive. CLIP.MP4 and clip.mp4 qualify as the same type.

To transfer a mixed selection and create one folder per exact extension:

by-type/{file_ext}/{filename}

Examples:

by-type/mp4/interview.mp4
by-type/arw/DSC_4821.ARW
by-type/pdf/release-form.pdf
by-type/svg/logo.svg

This is literal extension organization. It creates both jpg and jpeg folders because those are different extensions. It also creates separate doc and docx folders.

If broader categories such as images, video, and documents are required, use separate workflows:

Workflow: Archive video
File Types: video extensions
Template: video/{file_dir}/{filename}
Workflow: Archive RAW photos
File Types: RAW extensions
Template: raw/{file_dir}/{filename}

Separate workflows are clearer than pretending {file_ext} knows that .mov and .mp4 belong to a business category called video.

A pure type split can mix unrelated clients:

{file_ext}/{filename}

For project-based work, retain the relative hierarchy:

{file_ext}/{file_dir}/{filename}

Selected folder:

Agency

Source file:

Agency/Client-A/Campaign-7/Final/hero.webp

Destination:

webp/Client-A/Campaign-7/Final/hero.webp

The selected Agency boundary is not repeated. {file_dir} begins below it.

One shoot folder contains RAW originals, JPEG previews, TIFF edits, and MP4 behind-the-scenes clips.

  • Archive RAW files to low-cost storage.
  • Copy JPEG/TIFF deliverables to a client share.
  • Send video to a separate editing volume.

Each workflow selects the same shoot folder but uses different extensions and destinations.

A project tree contains editable sources plus SVG, PNG, PDF, and WebP exports. Filter to export extensions and exclude drafts:

Include: **/*.{svg,png,pdf,webp}
Exclude: **/drafts/**
Template: deliverables/{file_ext}/{file_dir}/{filename}

A shared drive mixes invoices, scanned receipts, spreadsheets, and temporary office files. Create a durable document archive:

Include: **/*.{pdf,xls,xlsx,doc,docx}
Exclude: **/{temp,autosave}/**
Template: records/{file_ext}/{file_modified_date}/{filename}

Copy configuration and source files while excluding generated dependencies:

Exclude: **/{node_modules,dist,build,coverage}/**
Template: code-backup/{file_ext}/{file_dir}/{filename}

Limits of Extension-Based Organization

Section titled "Limits of Extension-Based Organization"

An extension is not a MIME-content inspection.

  • A renamed executable ending in .jpg still looks like a JPG to an extension rule.
  • Files without extensions produce an empty extension value.
  • Similar types can use several suffixes.
  • Sidecar files such as XMP may need explicit inclusion.

For trusted working files, extension rules are fast and understandable. For security validation or deep media classification, use a tool designed to inspect contents.

Select a small mixed folder and preview:

{file_ext}/{file_dir}/{filename}

Check:

  • Uppercase extensions normalize as expected.
  • Files without extensions have a sensible destination.
  • Duplicate filenames remain separated by {file_dir}.
  • Sidecar files are either deliberately included or excluded.

Continue with glob filtering for more exact type rules or size organization when large media and small documents need different storage.