3

I'm trying to create a script that will let me copy an item from one location to a specified location in a PowerShell script. Before it's mentioned, I know that I can put a shortcut in the Send To directory to perform this action, but I would like to add additional features (that's for a different time). I do apologize if there is another post relating to this, I've been looking for a day and a half to find one.

What I would like to know is if there is a way I can pass the current-item-that-I-am-right-clicking's file path to PowerShell to be used with the Copy-Item function. So if there is an item on the desktop, I can use this PowerShell script to Copy-Item C:\Users\USERNAME\Desktop\File.ext using the path as a variable (I believe that would be the appropriate term) from the "Send To" Selection in the context menu.

Austin Kargl
  • 89
  • 2
  • 10

1 Answers1

5

You don't have to do anything special to get the Send To context menu to send the file path to the target - it happens automatically.

Try the following:

Create a new script, let's call it C:\Copy-SendTo.ps1

param($SourceFile)

Copy-Item $SourceFile -Destination C:\your\specific\location\

Now, create a shortcut in $env:APPDATA\Microsoft\Windows\SendTo with the name "CopyTo" and the following target:

%windir%\System32\WindowsPowerShell\v1.0\powershell.exe C:\Copy-SendTo.ps1 -SourceFile

Now right-click a file on your desktop, select Send To > CopyTo.

Voila, your file has been copied

Mathias R. Jessen
  • 157,619
  • 12
  • 148
  • 206