A Guide to integrating File/Folder upload directly using Windows Context Menu and File dialog

Note: I originally created this guide for r/Koofr, but I believe it could be useful to share it here as well so that more people can benefit from the information.

For this guide, I’ll be using Koofr as the example since it’s my primary cloud storage solution.

Just a quick note: Koofr Vault is built on Rclone's crypt, meaning Rclone can natively work with Koofr's Vault. Similarly, Koofr can also work with Rclone's crypt.

Feel free to skip the sections My Journey with Koofr and Why Rclone? if you'd like to jump straight into the guide. You can also skip the Conclusion part at the end if you're short on time. :blush:


Hi everyone! I wanted to share my experience and guide for integrating Rclone with Koofr on Windows. Hopefully, it’ll help those new to cloud storage or those looking for advanced integration tips.

My Journey with Koofr

I hadn't used cloud storage much before, relying on two old laptop HDDs for storing all my important data. A few months ago, one of those HDDs crashed, and I almost lost years of personal photos, videos, and documents. Luckily, I managed to recover 95% of my data using Hiren's Boot CD's recovery tools.

That incident was a wake-up call. I needed a reliable and privacy-friendly cloud storage solution to back up my invaluable data. After a month of research and reading Reddit posts, I decided on Koofr due to its stability, privacy-friendly nature, and lifetime deal and bought Koofr's yearly subscription. It worked so well that I upgraded to their lifetime plan through StackSocial after just a week. And that’s how I became a Koofr fan! :blush:

Why Rclone?*

Initially, I wasn’t comfortable with command-line tools, but discovering Rclone was a game-changer. GUI tools like AirLiveDrive, RaiDrive, and MountainDuck didn’t meet my needs. Rclone, despite being a command-line tool, is powerful and highly customizable. With a bit of setup, it integrates beautifully into the Windows ecosystem, making tasks like copying files to Koofr effortless.

This guide is for those who are somewhat familiar with Rclone but want to explore advanced integration with the Windows ecosystem. If you’re new to Rclone, it’s a command-line tool for managing cloud storage like your personal hard drive. Learning the basics will help you follow this guide better.


# Setting Up Rclone for Koofr

I have two configurations for Koofr in Rclone:

  • Koofr : Standard, unencrypted setup

  • Koofr Vault : Encrypted vault setup (compatible with rclone)

In rclone config :


* Koofr (Koofr:)
* Koofr Vault (Koofr:Encrypted)

Now comes to the integration part.

# Creating Batch Files

I created .bat files for automating file uploads to Koofr directly from the Windows Explorer context menu. Here’s how you can do it:

  • You need rclone copy command so setup according to your needs with needed flags.

This is my go-to Rclone command:


rclone "path" copy Koofr:/Sync --create-empty-src-dirs --disable-http2 --transfers 8 --log-level INFO -P

I use a dedicated folder named Sync for uploads, organizing them later.

Batch Script for Koofr

Here’s a batch file to create a .bat file with the following code:

@echo off
rem Set path to rclone executable
set rclonePath="C:\Light\rclone\rclone.exe"

rem Check if at least one file/folder is passed as an argument
if "%~1"=="" (
    echo No file or folder selected.
    pause
    exit /b
)

rem Loop through all arguments passed to the script
for %%F in (%*) do (
    rem Check if the file/folder exists
    if exist "%%~F" (
        rem Ensure that the path is correctly quoted (for paths with spaces)
        echo Uploading "%%~F" to Koofr:/Sync
        "%rclonePath%" copy "%%~F" Koofr:/Sync --create-empty-src-dirs --disable-http2 --transfers 8 --log-level INFO -P
        echo Upload of "%%~F" complete.
    ) else (
        echo "%%~F" does not exist. Skipping.
    )
)

rem Prevent the script from closing automatically
echo Upload process complete. Press any key to exit.
pause

For Koofr vault, same like this just path to Koofr vault rclone config path so there will be two .bat files, 1 for normal upload and another one for your private vault.

Example: Koofr.bat, Koofrencrypted.bat

Adjustments

  • Replace C:\Light\rclone\rclone.exe with your Rclone executable path.
  • Replace the Rclone copy command according to your needs.

Save this as name.bat:

Now let's go to context menu part.

# Registry File for Context Menu

To integrate these scripts into the Windows Explorer context menu, use the following .reg file:

Windows Registry Editor Version 5.00

; Add "Backup to Koofr" sub-menu for all files
[HKEY_CLASSES_ROOT\*\shell\UploadOptions]
"MUIVerb"="Backup to Koofr"  ; The text that will appear in the context menu
"Icon"="C:\\Light\\rclone\\files\\ico\\koofr-white.ico"  ; Icon path
"subCommands"="Upload;EncryptedUpload"

; Add "Backup to Koofr" sub-menu for directories (folders)
[HKEY_CLASSES_ROOT\Directory\shell\UploadOptions]
"MUIVerb"="Backup to Koofr"  ; The text that will appear in the context menu
"Icon"="C:\\Light\\rclone\\files\\ico\\koofr-white.ico"  ; Icon path
"subCommands"="Upload;EncryptedUpload"

; Define "Koofr" command for files and folders
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Upload]
@="Koofr"
"Icon"="C:\\Light\\rclone\\files\\ico\\koofr.ico"  ; Icon path
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Upload\command]
@="\"C:\\Light\\rclone\\copy menu.bat\" \"%1\""

; Define "Koofr Vault" command for files and folders
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\EncryptedUpload]
@="Koofr Vault"
"Icon"="C:\\Light\\rclone\\files\\ico\\vault.ico"  ; Icon path
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\EncryptedUpload\command]
@="\"C:\\Light\\rclone\\encrypted copy.bat\" \"%1\""

Adjustments

  • Replace icon paths to your .ico to to get your desired icon.
  • Replace .bat path to your one that just created for normal copy operation and vault copy, you can change context menu; submenu name to your preferences.

Save the following as a .reg file and import it. Thats it, its so simple with few steps, now your explorer context menu will show rclone integrated menu for Koofr.

*You have to keep those .bat file on a better location to prevent mistake delete, myself using rclone location for these files.
*You can even automate full script modification with help of ChatGPT by telling it your path, name etc to get easily.
*Optional but keep a registry file for past applied .reg when you need to delete/modify config.

You can remove previously added .reg files if needed in the future using this way:

Windows Registry Editor Version 5.00

; Remove "Backup to Koofr" sub-menu for all files
[-HKEY_CLASSES_ROOT\*\shell\UploadOptions]

; Remove "Backup to Koofr" sub-menu for directories (folders)
[-HKEY_CLASSES_ROOT\Directory\shell\UploadOptions]

; Remove "Koofr" command from CommandStore
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Upload]

; Remove "Koofr Vault" command from CommandStore
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\EncryptedUpload]

Example after succesfully integrating conext menu:

rich text editor image

Rclone integrated Koofr specific 'Copy' context menu on Windows Explorer for simplifying your upload/copy process to cloud storage.

Preview for upload that will show up in cmd.exe after passing some files/folders using context menu :

rich text editor image

Copy/upload progress will show instantly on cmd window, you can close that window after upload completed by pressing any key from your keyboard.

# Creating Icon for Context Menu

Enhance the context menu's visual appearance by adding a Koofr logo icon. You can easily create .ico files using the following methods:

  1. Koofr provides official press materials, including logos that you can use to create icon files.
  2. Using favicon directly from website.

Option 1:

  1. Download the branding materials from the official link: Koofr Branding Materials.
  2. Navigate to the 1 - Logo folder and select the 32x32 versions of the original and white logos.
  3. Convert the logo files into .ico format using an online tool such as ICO Converter.
  4. Ensure you select the 32x32 size option during the conversion.
  5. Place the .ico files in a safe folder, such as the Rclone path (C:\Light\rclone\files\ico ), to easily reference them in your registry file.

Option 2:

If you prefer, you can download the favicon directly from the Koofr website:

  • Use this URL to extract the favicon: Get Favicon.
  • Provide the Koofr website URL to fetch its favicon and save it as an .ico file.

This way you can integrate these icons into your context menu registry entries for a consistent and visually appealing setup.


Alternatively,

You can use native windows file / folder selection dialog (file picker) to select and upload using this simple script by double clicking on .bat file, that can be placed on your desktop for easy access.

Make a Powershell file (.ps1) using script below:

# Set the path to the rclone executable
$rclonePath = "C:\Light\rclone\rclone.exe"

# Load the .NET System.Windows.Forms library for the file/folder dialog
Add-Type -AssemblyName 'System.Windows.Forms'

# Create the file dialog
$dialog = New-Object System.Windows.Forms.OpenFileDialog
$dialog.InitialDirectory = [System.Environment]::GetFolderPath('MyDocuments')  # Default directory
$dialog.Title = "Select the File or Folder to Copy"
$dialog.Filter = "All Files (*.*)|*.*"

# Show the dialog and get the selected file/folder path
if ($dialog.ShowDialog() -eq 'OK') {
    $sourcePath = $dialog.FileName

    # If you selected a folder, set sourcePath to that folder
    if (-not $sourcePath) {
        $dialog = New-Object System.Windows.Forms.FolderBrowserDialog
        $dialog.Description = "Select Folder to Copy"
        $dialog.ShowDialog()
        $sourcePath = $dialog.SelectedPath
    }

    # Run the rclone copy command with the selected path
    $destination = "Koofr:/Sync"
    $rcloneCmd = "$rclonePath copy `"$sourcePath`" $destination --create-empty-src-dirs --disable-http2 --transfers 8 --log-level INFO -P"
    
    # Execute the rclone command
    Write-Host "Executing rclone command: $rcloneCmd"
    Invoke-Expression $rcloneCmd
} else {
    Write-Host "No file/folder selected, exiting."
}

Now adjust your windows path to powershell script

  • set to your rclone path
  • set your custom copy command

Now make a .bat file for your .ps1 file like this and set path to your powershell file to simplify process.

Code:

@echo off
powershell -ExecutionPolicy Bypass -File "C:\Light\rclone\rclone.ps1"

Thats it. Now you can upload any file / folder using native windows file selection dialog to Koofr easily.

Example of copy dialog:

rich text editor image

A double click on .bat file to select any file / folder for copy or your own command using windows dialog rather than every time typing 'rclone copy ' on cmd.


Conclusion

As I continue to explore more about rclone and its integration with Windows, I wanted to share my latest methods for working with Koofr using rclone. This approach is not limited to Koofr—by understanding the code/script structure, you can easily adapt it to other services as well. It’s mostly about rclone's folder path selection and commands.

This was my first time writing a guide, so I apologize for any mistakes I may have made. If anything I said was incorrect or caused any offense, I sincerely apologize. Thank you so much for taking the time to read my guide. A special thanks to Koofr for providing the most compatible rclone-supported cloud storage! I truly love Koofr, and I'm so happy to use it in my daily life with peace of mind. A huge thanks to rclone team as well for making our lives easier than ever—it's hard to imagine life without it now, as it has become such an integral part of my daily routine. :smiling_face_with_three_hearts:

If anyone has experience with Windows integration and rclone, please feel free to share your insights with the community. Sharing is caring, and if you know of a better way, let us know so we can make our lives a little easier. Additionally, If you’ve successfully used my guide to work with rclone to integrate with Windows, please share your experience as well.

Thank you, everyone! :blue_heart:

Reference: Creating custom context menu for Windows file explorer. | Liam Collod's Blog

1 Like