File Cooker

approved

by PageClear

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

65 stars17,405 downloadsUpdated 15d agoApache-2.0

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

SourceHow to useNotes
📋 ClipboardCopy file links (e.g. search results) first, then run clipboard commandsPlain text content can also be added to Canvas
📄 Current fileOpen a file, then run current-file-link commandsReads links / unresolved links / content / selection
🔍 Search resultsOpen the Obsidian search panel, then run search results commandsOperates directly on the results in the panel
📊 Dataview querySelect a DQL or DataviewJS query in the editor, then run Dataview commandsRequires the Dataview plugin; DataviewJS supported since v1.7.1
🗄️ Bases queryOpen a Bases view, then run Bases commandsNew in v2.0.0; only rows mappable to real files are processed
🖱️ Context menuRight-click in the editor or file explorerNew in v2.0.0

Supported operations

OperationExample commandNotes
📁 MoveMove ... to folderBatch move to a target folder
✏️ RenameRename ...Batch rename
🏷️ Edit propertiesEdit Properties ...Add / modify / delete frontmatter, multi-value supported
🗑️ DeleteDelete ... !Destructive — highlighted red in the confirmation modal
🔗 MergeMerge ... to ...Merge into a target file
🆕 CreateCreate links ...Create files from unresolved links
📤 Sync to flomoSync ... to flomoFile links / content / selection
📋 Copy linksCopy ... links!Copy result links to the clipboard
🖼️ Add to CanvasAdd ... to canvasFiles / 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.

⚙️ Settings

SettingPurposeDefault
LimitMaximum number of files processed per batch300
flomoAPIflomo API endpoint, used to sync notes to flomoempty

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
  • 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.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

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.