我正在编写一个实用程序,将文件复制到远程驱动器(例如SkyDrive)。当我要覆盖一个文件时,我会弹出一个常规的"文件存在,你想覆盖Y/N"消息框;是否可以使用标准的Windows文件覆盖对话框?有三个选项(复制并替换、不复制、复制但保留两者)和更详细的尺寸/日期信息?还是我应该写我自己的表格来复制它?(老实说,我已经搜索了两天了,如果只写我自己的,可能会快得多。)
澄清一下:当我选择时,我需要显示对话框——有时我不想显示它,只想覆盖文件。
如果可能的话,我更希望它能在C#/.NET中工作;但是,如果只存在非托管解决方案,我也会接受。
是的,这是可能的!我为Send to Dropbox做了这件事,这是我为Explorer编写的一个小插件实用程序,可以右键单击并将文件发送到Dropbox文件夹。
将SHFileOperation.cs复制到您的项目中,您可以这样调用它:
ShellFileOperation.CopyItems(source, target);
source
可以有多个文件/目录。每个项目都必须用引号(")括起来。
target
是目标目录。
示例:
ShellFileOperation.CopyItems(""c:\foo.txt" "c:\bar.txt"", "d:\xyz");