Skip to content

Paste clipboard data into files and copy file contents directly via hotkey or context menu

License

Notifications You must be signed in to change notification settings

eltos/PasteIntoFile

Repository files navigation

Paste Into File

Contributors Translations Maintainability Build status Latest release Total downloads

About

Windows explorer can only paste copied files, but is not able to paste images, text and other content copied from within applications or when taking a screenshot. Paste Into File allows you to paste clipboard contents directly into files via a new entry in the file explorer context menu and/or additional hotkeys. It can also do the reverse: copy file contents to the clipboard directly.

Where previously you had to open an image/text/office/archive application, paste what you just copied, hit save, select the folder again and type the filename (or open a file, select everything and copy it) — just to realise your GIF became a static JPEG — Paste Into File helps you to do all this in a single step, preserving transparency and animations. It can even monitor the clipboard and automatically save or append contents as you copy them (batch processing).

Features

Paste Into File Paste Into File screen recording

Related projects

This project started as a fork of sorge13248/PasteIntoFile, itself being a fork of EslaMx7/PasteIntoFile. It is simmilar but more advanced than PasteEx, Paste As File, PasteHere or Paste To File.

This fork comes with many new features, a new fluid GUI and new console options. The full changelog can be found on the release page. See the contributors page for details on collaborators.

Installation

Paste Into File is free

📥 DOWNLOAD 🪙 DONATE ❤️ SAY THANKS 🌐 TRANSLATE 💻 CONTRIBUTE

Tested on Windows 10. If you are running an older Windows version make sure the .NET Framework 4.8+ is installed. If the Microsoft Defender SmartScreen promp appears read this.

Usage

When starting Paste Into File for the first time or after an update, the first launch wizard will guide through the configuration of context menu entry, hotkey, etc.

In addition to the instructions given below, help is also available via GitHub discussions.

Paste clipboard contents

This is the main mode of Paste Into File which allows saving clipboard contents directly into files. To use this mode, run the program from the file explorer context menu, with the hotkey WIN+ALT+V (if enabled), from the tray (if enabled), from the start menu or via command line. If clipboard patching is enabled, the regular paste command and CTRL+V hotkey can also be used.

If autosave mode is enabled, the file to paste will directly be created and selected for renaming. Otherwise, a dialog will prompt for filename and type. By holding SHIFT when the program starts, the autosave mode setting can be temporarily inverted (show the dialog even though autosave is enabled, or skip the dialog even though autosave is disabled). When running Paste Into File from the start menu or tray, the dialog will always be shown.

The filename template can be edited from the dialog or via command line (see below for a description of the available formats). When holding CTRL while the program starts, the file will be saved to a subdirectory. The corresponding template can be configured via command line (see below).

The available file extensions depend on the formats available in the clipboard. For example, if you copy a range of cells from a spreadsheet, the data is available not only as text, but also in DIF, RTF, SLK and HTML formats and even as screenshot. Either select one of the suggested or enter a custom extension (which will be remembered). An appropriate format is then chosen automatically1 and a preview shown. When selecting * as extension or in autosave mode, the file extensions is determined automatically, i.e. the clipboard is saved as image, if available, or else as text. The format is determined by the last used extension for the respective filetype (which can also be set via command line).

A special batch mode exists to monitor the clipboard and save it every time new contents are copied. If enabled, the filename is purely determined by the template (which supports a dedicated counter variable).

Paste into existing files (Append/Replace)

The context menu entry Paste into this file (Append/Replace) allows you to paste clipboard contents into existing files by either appending or replacing them. This works as long as the clipboard contains data compatible with the selected file type. In the case of replace, the old file is moved to the recycle bin and can be restored with the usual undo options of the file explorer (e.g. CTRL-Z).

Copy file contents

To copy the contents of a file to the clipboard, use the file explorer context menu, the hotkey WIN+ALT+C (if enabled) or the command line option. Currently, image and text files are supported. If the file format is not understood, an error message will be shown. For non-text files, the file path is copied as text in addition to the image contents and file.

Filename template format

The filename and/or subfolder template string may contain the following placeholders:

  • {0}: The current date and time, e.g. {0:yyyy-MM-dd HH-mm-ss}. In addition to the standard format specifiers, j for day-of-year and w for week-of-year are supported.
  • {1}: The save counter for batch mode. E.g. {1:000} for 3-digit zero padding. See format specifiers for details.
  • {2}: The clipboard text. E.g. {2:15} to limit it to 15 characters.

Command Line

Use help, help paste, help config etc. as argument to show available command line options, e.g.:

> .\PasteIntoFile.exe help
PasteIntoFile 5.3.0.0
Copyright © PasteIntoFile GitHub contributors

  config     Change configuration (without saving clipboard)
  copy       Copy file contents to clipboard
  help       Display more information on a specific command.
  paste      (Default Verb) Paste clipboard contents into file
  tray       Open in tray and wait for hotkey Win + Alt + V
  version    Display version information.
  wizard     Open the first-launch wizard
> .\PasteIntoFile.exe help paste
PasteIntoFile 5.3.0.0
Copyright © PasteIntoFile GitHub contributors

  --append           (Default: false) Append to file if it exists (and extension
                     supports appending).
  -a, --autosave     Autosave file without prompt (true/false)
  -c, --clear        Clear clipboard after save (true/false)
  -d, --directory    Path of directory to save file into
  -f, --filename     Filename template with optional format variables such as
                     {0:yyyyMMdd HHmmSS} for current date and time
                     {1:000} for batch-mode save counter
                     May also contain a file extension and path fragment if used
                     in paste mode.
  --help             Display this help screen.
  --overwrite        (Default: false) Overwrite existing file without prompt.
                     Requires --autosave=true. If append is also given, this
                     only applies in case appending fails.
  --version          Display version information.

Examples:

  • Add/remove the Paste Into File entry in the File Explorer context menu:
    PasteIntoFile config --register
    PasteIntoFile config --unregister
  • Start Paste Into File manually in system tray and react to hotkeys:
    PasteIntoFile tray
  • En-/disable autostart of Paste Into File in system tray on windows startup:
    PasteIntoFile config --enable-autostart
    PasteIntoFile config --disable-autostart
  • Configure the default filename template format (see format specifiers):
    PasteIntoFile config -f "{0:yyyy-MM-dd HH-mm-ss}"
  • Save clipboard contents in autosave mode to specific location:
    PasteIntoFile -d the/directory -f the_filename --autosave=true
  • Copy file contents to clipboard:
    PasteIntoFile copy path_to/the_file

Footnotes

  1. To force saving plain text data to a file with a special extension, prepend a dot to the file extension (the actual filename will still have only a single dot). For example, when copying syntax highlighted HTML code snippets from a browser, using html will cause the html-formatted text to be saved, while using .html will save the plain text.