Search code examples
batch-filecmdqr-codeopen-with

pass a file to command prompt by OpenWith dropdown menu


Well, There is an application called QRCP which can share files through LAN by Qr Code. It uses a command in cmd to share the file:

qrcp help

I want to add this to SendTo dropdown menu, but the problem is I can't pass it the file that I want to share.

I need something like this:

shortcut

Which I could pass the file location with %1 and the final command should be like
qrcp send "D:\Program Files\file.exe"

But it seems it's not how it works!


Solution

  • Here is an example that I tried on my side.

    This batch file can create a shortcut on SendTo Folder and may be can do the trick for you too , just change the path of QRCP on your side :


    @echo off
    Title QRCP Batch File
    REM Create a shortcut on SendTo Folder
    REM "Call :CreateShortcut_SendTo" - This command calls the CreateShortcut_SendTo subroutine,
    REM which creates a shortcut in the SendTo folder that can be used to easily execute the script.
    Call :CreateShortcut_SendTo
    REM This command sets the QRCP_Path variable to the location of the QRCP.exe file in the same directory as the batch file.
    Set QRCP_Path="%~dp0QRCP.exe"
    Set FilePath=%1
    
    If "%FilePath%" == "" (
        Color 0C & echo No File was passed throw this Program, Exiting ... & Timeout /T 5 /NoBreak>nul & Exit
    )
    
    %QRCP_Path% %1
    echo File %1 passed to QRCP
    Exit /B
    
    ::---------------------------------------------------------------------------------------------------
    :CreateShortcut_SendTo
    Powershell -Command "If (Test-Path '%Appdata%\Microsoft\Windows\SendTo\%~n0.lnk') { Remove-Item '%Appdata%\Microsoft\Windows\SendTo\%~n0.lnk' }"
    Powershell ^
    "$s=(New-Object -COM WScript.Shell).CreateShortcut('%Appdata%\Microsoft\Windows\SendTo\%~n0.lnk'); ^
    $s.TargetPath='%~dpnx0'; ^
    $s.WorkingDirectory='%~dp0'; ^
    $s.IconLocation='%QRCP_Path%,0'; ^
    $s.Save()"
    Exit /B
    ::---------------------------------------------------------------------------------------------------