Copy Linked File

by flutterspike
5
4
3
2
1
Score: 35/100

Description

This plugin has not been manually reviewed by Obsidian staff. Copy the vault file or local file URL behind a link or file menu item to the Windows clipboard.

Reviews

No reviews yet.

Stats

stars
downloads
0
forks
1
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Copy Linked File

Copy Linked File is a Windows desktop plugin for Obsidian. It adds a right-click action that copies the real file behind an internal link, local file URL, embed, or file menu item to the Windows clipboard.

Use it when a note contains a file link such as:

[[paper.pdf]]
![[data.xlsx]]
[[attachments/report.docx|report]]
[spreadsheet](attachments/book.xlsx)
[slides](<file:///I:/data/Research/20260509-0900%20Meeting/20260509-0900%20JC.pptx>)

After choosing Copy linked file, paste into File Explorer, email, chat apps, or browser upload controls as if you had copied the file from Explorer.

Requirements

  • Obsidian desktop
  • Windows
  • PowerShell available as powershell.exe

The plugin is marked isDesktopOnly because it uses Node.js and Windows clipboard APIs. macOS, Linux, iOS, and Android are not supported.

Usage

Right-click one of these targets and choose Copy linked file:

  • A vault file in Obsidian's file explorer
  • An internal wikilink or embed in the editor
  • A Markdown link that points to a local file:/// URL
  • A rendered internal file link or embed when Obsidian provides the linked file menu

The plugin resolves vault targets using Obsidian's link resolver, resolves local file:/// URLs directly, then writes the target file into the Windows clipboard as a file drop list.

Privacy and security

  • No network requests
  • No telemetry
  • No account required
  • No note or attachment modifications
  • Reads only the target vault file path needed for the copy action
  • Invokes Windows PowerShell locally to write the file path into the system clipboard

The plugin encodes file paths as UTF-16LE base64 before passing them to PowerShell. This preserves paths containing spaces, commas, non-ASCII characters, and punctuation such as em dashes.

Development

Install dependencies:

npm install

Run checks:

npm test
npm run typecheck

Build the release asset:

npm run build

The release asset main.js is generated at the repository root and is intentionally ignored by git. Upload main.js and manifest.json to the GitHub release whose tag matches the manifest version.

Release checklist

  1. Update manifest.json and versions.json.
  2. Run npm test and npm run typecheck.
  3. Run npm run build.
  4. Create a GitHub release with a tag matching manifest.json version.
  5. Attach main.js and manifest.json to the release.
  6. Submit the plugin to obsidianmd/obsidian-releases.

Community plugin entry template:

{
  "id": "copy-linked-file",
  "name": "Copy Linked File",
  "author": "Ximkool",
  "description": "Copy the vault file behind an internal link or file menu item to the Windows clipboard.",
  "repo": "YOUR_GITHUB_USERNAME/obsidian-copy-linked-file"
}

License

MIT