Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

File Cooker

PageClearPageClear17k downloads

Deal batch notes from search results,current file, or Dataview query string.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates33

Cook your notes like a chef: pick the ingredients, fire the pan, confirm before it's served ✅

中文文档

File Cooker

File Cooker is an Obsidian plugin for batch file operations. Treat a batch of files (from search results, clipboard, current file links, Dataview / Bases queries …) as ingredients, then run a single command to move, rename, edit properties, delete, merge, sync to flomo, or add to Canvas — like cooking them in one pan.

  • 🧺 Any source: clipboard · current file · search results · Dataview query · Bases query · context menu
  • 🍳 Rich operations: move / rename / edit properties / delete / merge / create / sync to flomo / copy links / add to Canvas
  • 🛡️ Confirm before acting: every operation shows a confirmation modal; destructive ones (delete) are highlighted in red
  • 📱 Mobile friendly: not desktop-only (isDesktopOnly: false)

✨ Features

  • Batch edit properties: add / modify / delete frontmatter properties; tags / alias / cssclasses support comma-separated multi-value edits and - prefix to remove a single value; no MetaEdit plugin needed (built-in since v1.8.0)
  • Batch move / rename: organize selected files into a target folder or rename them in one go
  • Batch merge: merge multiple files into one target file (YAML ignored)
  • Batch create: materialize unresolved links of the current file into real files
  • Sync to flomo: sync file links, file content, or current selection (requires flomoAPI)
  • Copy links: copy Dataview / Bases result links to the clipboard
  • Add to Canvas: batch-add files, text / selection, or Dataview tasks into a target canvas
  • ⭐ Bases integration (new in v2.0.0): run file operations directly on Bases query results
  • ⭐ Context menu (new in v2.0.0): right-click access from editor and file explorer
  • Presentation mode (new in v1.9.0): one-click larger font and wider editor for screen sharing

📸 Screenshot

Demo: search results + clipboard + Dataview query — all sources share the same "Select → Cook → Confirm" flow.

🍳 How it works: Select → Cook → Confirm

  1. Select: pick a batch of files from any supported source
  2. Cook: run the matching operation command
  3. Confirm: review the targets in the confirmation modal, then execute

Supported input sources

Source How to use Notes
📋 Clipboard Copy file links (e.g. search results) first, then run clipboard commands Plain text content can also be added to Canvas
📄 Current file Open a file, then run current-file-link commands Reads links / unresolved links / content / selection
🔍 Search results Open the Obsidian search panel, then run search results commands Operates directly on the results in the panel
📊 Dataview query Select a DQL or DataviewJS query in the editor, then run Dataview commands Requires the Dataview plugin; DataviewJS supported since v1.7.1
🗄️ Bases query Open a Bases view, then run Bases commands New in v2.0.0; only rows mappable to real files are processed
🖱️ Context menu Right-click in the editor or file explorer New in v2.0.0

Supported operations

Operation Example command Notes
📁 Move Move ... to folder Batch move to a target folder
✏️ Rename Rename ... Batch rename
🏷️ Edit properties Edit Properties ... Add / modify / delete frontmatter, multi-value supported
🗑️ Delete Delete ... ! Destructive — highlighted red in the confirmation modal
🔗 Merge Merge ... to ... Merge into a target file
🆕 Create Create links ... Create files from unresolved links
📤 Sync to flomo Sync ... to flomo File links / content / selection
📋 Copy links Copy ... links! Copy result links to the clipboard
🖼️ Add to Canvas Add ... to canvas Files / text / tasks

Bases integration (new in v2.0.0)

When a Bases data source is available, File Cooker provides a Bases command group aligned with the Dataview file commands (move / rename / edit properties / delete / merge / sync to flomo / copy links / add to canvas / add task).

Behavior boundaries:

  • File-only mapping: only rows that can be mapped to real vault files are processed
  • Ignore non-file rows: unmapped rows are skipped, and a notice reports the ignored count
  • No row writes: File Cooker does not modify Bases row fields in this flow

Context menu (new in v2.0.0)

  • Editor context menu:
    • File Cooker > Selection: sync the selection to flomo / add it to a canvas (only when a selection exists)
    • File Cooker > Current file links: run link-based batch operations from the current file
  • File explorer context menu:
    • File Cooker > Target file: rename / edit properties / delete the right-clicked file

Notes: destructive actions (like delete) still require confirmation. If no active file exists, current-file-link operations are safely blocked with a notice.

🛟 Backup & Undo (new)

Every batch write operation — edit properties / move / rename / delete / merge / create — now takes a snapshot before applying, so you can undo a whole batch or revert selected files individually afterwards.

  • Automatic snapshots: applied operations create a persistent backup record (content + paths); canceled or failed operations leave no residue
  • Undo history: Undo last batch operation ... opens history and focuses the most recent record; Open backup & undo history ... lists all records (time / type / file count / status)
  • Per-file revert: expand a record, check the files you want to restore, and revert — move/rename are reversed via Obsidian's rename (links auto-updated), deletes are rebuilt from the snapshot, created/copied files are trashed
  • Drift protection: if a file was modified after the operation, it is marked modified and disabled — enable force override to overwrite it explicitly; nothing is ever silently overwritten
  • Retention: keeps the most recent N records (default 20) and cleans up older backups automatically

Backup folder: backups are stored inside your vault (default .file-cooker/backups). The dot prefix hides it from the file explorer by default; you can also add it to Settings → Files and links → Excluded files (e.g. .file-cooker) to keep it out of search and graph. Out of scope: Canvas operations and flomo sync are not backed up (they write through internal APIs / the network and don't touch vault files).

⚙️ Settings

Setting Purpose Default
Limit Maximum number of files processed per batch 300
flomoAPI flomo API endpoint, used to sync notes to flomo empty
Enable backup Create a snapshot for every batch write so it can be reverted on
Backup folder Vault folder where backups are stored (dot-prefix hides it) .file-cooker/backups
Retention Number of recent backup records to keep 20

flomo sync commands will notify "Please config flomoAPI first!" when the API is not configured.

📦 Installation

Method 1: Community plugins (recommended)

  1. Settings → Third-party plugin → turn off Safe mode
  2. Click Browse, search for File Cooker
  3. Click Install, then enable the plugin

Method 2: Manual installation

  1. Download the latest release
  2. Extract the obsidian-file-cooker folder into <vault>/.obsidian/plugins/

    Note: on some machines the .obsidian folder is hidden. On macOS press Command+Shift+Dot to reveal it.

  3. Reload Obsidian and enable the plugin in Settings

Requirements

  • Obsidian ≥ 1.12.3 (since v2.0.0)
  • Dataview plugin: only needed for the "Dataview query" source
  • flomoAPI: only needed for "Sync to flomo" commands
  • Everything else works out of the box with no extra dependencies

🛡️ Safety & limits

  • Always confirm: every command opens a confirmation modal before any change is made
  • Delete is highlighted: delete commands are marked in red in the confirmation modal
  • Backup before apply: every batch write takes a snapshot first and can be reverted from history; drifted (mid-edited) files are never silently overwritten
  • Batch limit: a single batch is limited to 300 files by default (adjustable in Settings)
  • Visible failures: no files, no active file, missing config, etc. are always reported via Notice — never silently

💬 Feedback & support

Questions or suggestions? Feel free to add me on WeChat: IvyOdds, or open an issue on GitHub Issues.

If File Cooker helps you, please share it with your Obsidian friends 🙏

📜 License

  • MIT License — see LICENSE
  • Issues and pull requests are welcome

📝 Changelog

2.2.0

  • New Backup & Undo: every batch write (properties / move / rename / delete / merge / create) is snapshotted and can be reverted per-file from history; drift detection prevents silent overwrites
  • New settings: backup toggle, backup folder, retention

2.0.0

  • New Bases query source for batch file operations (file-only rows; no Bases field writes)
  • New context menu entries (editor: selection / current file links; file explorer: target file)
  • Upgraded Obsidian dependency to 1.12.3

1.9.0

  • New presentation mode: one-click larger font and wider editor for screen sharing

1.8.1

  • Multi-value property editing: tags / alias / cssclasses batch add/remove via comma-separated values

1.8.0

  • Built-in batch property editing — no MetaEdit plugin required

1.7.8

  • New search results commands, operate directly on the search panel results

1.7.7

  • Add Dataview tasks to Canvas

1.7.6

  • Add text to Canvas

1.7.1

  • Support DataviewJS page queries

1.7.0

  • Batch-add files to Canvas

1.0 ~ 1.6

  • Core capabilities: move, rename, merge, delete, create from unresolved links, sync to flomo, copy links

☕ Buy me a coffee

HealthExcellent
ReviewCaution
About
Batch-edit and manage multiple notes selected from search results, the current file, clipboard links, Dataview/DataviewJS queries, or Bases query results. Add or remove tag, alias and CSS class values; move, copy, rename, merge or delete files; create files from unresolved links; sync to flomo; and add files, text or tasks to Canvas.
FilesTagsProperties
Details
Current version
2.0.2
Last updated
3 days ago
Created
4 years ago
Updates
33 releases
Downloads
17k
Compatible with
Obsidian 1.12.3+
Platforms
Desktop, Mobile
License
Apache-2.0
Report bugRequest featureReport plugin
Author
PageClearPageClearpageclear
mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA4MjQ1ODIzMA==&scene=124#wechat_redirect
GitHubivaneye
  1. Community
  2. Plugins
  3. Files
  4. File Cooker

Related plugins

Front Matter Title

Define a title in frontmatter to be displayed as the filename.

Multi Properties

Add properties to multiple notes at once. Either right-click a folder or select multiple notes and right-click the selection.

Badges

Add inline badges/callouts to notes.

Colored Bases Properties

Color property lists and formula properties in Bases.

Tags Overview

An extended tags panel where tagged files can be easily viewed, filtered, and accessed.

Notebook Navigator

A better file browser and calendar inspired by Apple Notes, Bear, Evernote and Day One.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Advanced URI

Control everything with URI.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.