
As in the screenshot above I have all the default entries along with some added by myself manually in the send to menu folder which I opened using shell:SendTo.
But not all the entries are showing up in the send to menu.
How to fix this?

As in the screenshot above I have all the default entries along with some added by myself manually in the send to menu folder which I opened using shell:SendTo.
But not all the entries are showing up in the send to menu.
How to fix this?
According to https://winhelponline.com/xp/sendtofix.htm, it could be a problem with some registry entries that manage the SendTo functionality. They have a script that should fix it.
It was originally for Windows XP, Vista, and 7, so I've made a slight change to get it to work for Windows 10.
Save the following script to a file fixsendto.vbs, and execute it using command prompt wscript.exe "C:\Scripts\fixsendto.vbs". Change the file path accordingly. You'll probably have to run wscript from an admin-level command prompt.
'-----------------------------------------------------------------
'Compatibility : Windows XP, Windows Vista and Windows 7 (added 8 and 10)
'Author : Ramesh Srinivasan - Microsoft MVP (Windows Shell)
'Created on : February 19, 2005
'Revised on : November 01, 2010
'Description : Fixes the Send To menu (missing all the shortcuts)
'Homepage : http://windowsxp.mvps.org
'More Info : http://windowsxp.mvps.org/sendtofix.htm
'Requirement : Needs Administrative privileges
'-----------------------------------------------------------------
Set WshShell = CreateObject("WScript.Shell")
strComputer = "."
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\cimv2")
'Determine OS version
Set colOperatingSystems = objWMIService.ExecQuery _
("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
if instr(objOperatingSystem.Caption,"Vista") Or instr(objOperatingSystem.Caption,"Windows 7") Or instr(objOperatingSystem.Caption,"Windows 8") Or instr(objOperatingSystem.Caption,"Windows 10") then
strSendTo = "%USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo"
elseif instr(objOperatingSystem.Caption,"XP") Then
strSendTo = "%USERPROFILE%\SendTo"
else
MsgBox "This script runs in Windows 10/8/7/Vista/XP systems only"
wscript.Quit
end if
Next
USFolderPath = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
On Error Resume Next
WshShell.RegWrite "HKCR\exefile\shellex\DropHandler\", "{86C86720-42A0-1069-A2E8-08002B30309D}", "REG_SZ"
WshShell.RegWrite "HKCR\lnkfile\shellex\DropHandler\", "{00021401-0000-0000-C000-000000000046}", "REG_SZ"
WshShell.RegWrite USFolderPath & "\SendTo", strSendTo, "REG_EXPAND_SZ"
Wshshell.RUN ("regsvr32.exe shell32.dll /i /s")
'Get curr. user name
Set colItems = objWMIService.ExecQuery("Select * From Win32_ComputerSystem")
For Each objItem in colItems
strCurrentUserName = objItem.UserName
Next
'Restart user shell
Set colProcessList = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'Explorer.exe'")
For Each objProcess in colProcessList
colProperties = objProcess.GetOwner(strNameOfUser,strUserDomain)
If strUserDomain & "\" & strNameOfUser = strCurrentUserName then
objProcess.Terminate()
End If
Next
MsgUser = Msgbox ("Fixed the Send To menu.", 4160, "'Send To' menu fix for Windows 10/8/7/Vista/XP.")
Set WshShell = Nothing
Here's the PowerShell equivalent of Ramesh's code (without version checking). This can be pasted into a PowerShell Admin Console or saved as a .ps1 file.
New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT | out-null
$Splat = @{
'Path' = 'HKCR:\exefile\shellex\DropHandler\'
'Value' = '{86C86720-42A0-1069-A2E8-08002B30309D}'
}
Set-Item @Splat
$Splat = @{
'Path' = 'HKCR:\lnkfile\shellex\DropHandler\'
'Value' = '{00021401-0000-0000-C000-000000000046}'
}
Set-Item @Splat
$Splat = @{
'Path' = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'
'Name' = 'SendTo'
'Value' = '%USERPROFILE%\AppData\Roaming\Microsoft\Windows\SendTo'
'Type' = 'ExpandString'
}
Set-ItemProperty @Splat
start-Process -FilePath regsvr32.exe -ArgumentList shell32.dll, /i, /s
Get-Process Explorer | Stop-Process
Note that all other answers (as of 27th Dec 2021) explains a fix for a issue where shortcuts is not recognized by the SendTo menu. It does not solve the "issue" (or lacking Windows feature) of adding files directly to the shell:SendTo folder.
You see, only certain file extensions will be recognized by the SendTo menu if you add them directly in shell:SendTo. This includes *.cmd, *.bat and *.vbs. Most other files however, will simply not show up in the "Send to" menu this way.
One way to make it work is to add a shortcut referencing the file and place this shortcut in shell:SendTo. The shortcut must include the path to executable associated with that file extension.
As an example does the shortcut need to include the path to AutoHotkey.exe for *.ahk file shortcuts to work (even though ahk files is associated with AutoHotkey.exe elsewhere in Windows):
"C:\Program Files\AutoHotkey\AutoHotkey.exe" D:\TEMP\test.ahk
I had similar issues that were solved by this thread, so I thought I would detail what my symptoms were, thinking that people searching for those issues will be directed to this thread.
The symptoms:
SendTo folder to check if the corresponding shortcuts have gone.C:\Users\User\AppData\Roaming\Microsoft\Windows\ and double-click the SendTo folder. Explorer hangs. Not for 10 seconds but forever.cd to the folder. No problems, and I can get a dir of the SendTo folder. All of the missing shortcuts are there, they just don't all make it to the context menu. The shortcuts in the context menu that are displayed are the entries in the folder (sorted alphabetically) up to but not including one I had recently added to send a file to a "Print To PDF" batch file. I nuked that one plus a couple of other suspect looking ones, and File Explorer no longer hangs in the folder. I still have the truncated context menu however.My suspicion is that the damage was caused by the addition of the SendTo item to print a PDF to File, or possibly an update of FoxIt Reader (something I did around the same time).
I'm still not 100% sorted. Printing is broken (Printing from Chrome hangs on the preview screen - the only exit is to kill the Chrome task), as is opening PDF's with Foxit. Acrobat reader is OK (the document opens and displays, but we can't print).
I hope this helps someone.