How can I disable copying files via drag-and-drop in Windows Explorer in Windows 7?
Note that I don't want to disable drag-and-drop completely nor in the start menu, just disable copying (duplicating) files when users drag-and-drop.
Windows doesn't provide a built-in way to change the default action of drag and drop, but I found a tool called Drag'n'Drop Editor which will let you change the default action to "move".
This doesn't disable copying (you can still hold Ctrl to make a copy), but it should help prevent accidental copies.
What: Prevent accidental drag-drop when you are trying to open a folder with a double click.
Why: You double-click to open a folder, but Mouse moves between the two clicks, Explorer assumes you are dragging a folder.
Solution: Save next 6 lines in a file named:
click on it to install it; restart windows;
and now you will need to drag mouse a lot more to initiate drag/drop.
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Control Panel\Desktop] "DragHeight"="50" "DragWidth"="50"
You can change the default drag and drop behaviour to create a shortcut instead of copying / moving the files.
The folder / files stay in their original place
No copying takes place, so there is no duplication of files / folders and no waste of space
If you want to move of file / folder, you have to use the right mouse button and choose "move" from the context menu
If a user accidently uses drag and drop a shortcut will be created. This is the only drawback, but with very little impact. Optionally you can use a script to delete shortcuts if that seems appropriate.
This approach introduces consistent drag and drop behaviour, which is not the default in windows: By default, if a folder / file is dragged across filesystems, a copy is made. If the same file is dragged within the same filesystem, it is moved. While an IT expert probably knows the background and intentions of it, many users may not.
Copy this into a .reg file and run it with administrator privileges:
Windows Registry Editor Version 5.00
Distribution using group policies with active directory server
Configure a group policy (translated from german, please feel free to replace it with the correct terms if they differ):
Computer configuration > Settings > Windows Settings > Registry
Tested on Windows 7 with Windows Server 2012
Comment on the solution by mosh
While setting a minimum move distance of 50 pixels looks promising first, there are some drawbacks:
The behaviour is not transparent to the users. One user might try to move a file. When he moves the file "far enough" it works. When the folder is nearby, the move doesn't work. The approach breaks the user interface with "inconsistent behaviour".
A quick user can accidently drag 51 pixels - in the end there's no proper value to set for the distance. Too small - no effect. Too big - broken move function.
I work in a large company and we had the problem of accidental dragging of folders in a shared drive. Since there is no built-in functionality in windows to prevent it and I cannot use freeware or third party things, I created a script which runs in an administrative computer with access to the shared folder in question. The script opens an invisible MS Word session and creates a file in the shared folder with a name that places it at the very top if you list the files by name in Explorer. The script finishes but leaves the Word document open in that admin computer. If someone tries to drag the folder, they get an immediate error message telling them they cannot move it because that word document is open. They also cannot delete it. Windows moves the contents of a folder in alphabetical order, that's the importance of that word document having a name that places it at the top
Perform the following steps :
This should do the trick.