0

我正在编写一个实用程序将文件复制到远程驱动器(例如 SkyDrive)。当我要覆盖一个文件时,我会弹出一个常规的“文件存在,是否要覆盖 Y/N”消息框;是否可以改用标准的 Windows 文件覆盖对话框?使用三个选项(复制和替换、不复制、复制但保留两者)和更详细的大小/日期信息?还是我应该写自己的表格来复制它?(说实话,我已经找了两天了,自己写可能会快得多。)

澄清一下:我需要在选择时显示该对话框- 有时我不想显示它而只想覆盖文件。

如果可能的话,我希望它在 C# / .NET 中工作;但是,如果仅存在非托管解决方案,我也会接受。

4

1 回答 1

2

对的,这是可能的!我为Send to Dropbox做了这个,这是我为 Explorer 编写的一个小插件实用程序,用于右键单击并将文件发送到 Dropbox 文件夹。

SHFileOperation.cs复制到您的项目中,您可以像这样调用它:

ShellFileOperation.CopyItems(source, target);

source可以有多个文件/目录。每个项目必须用引号 (") 括起来。

target是目标目录。

例子:

ShellFileOperation.CopyItems("\"c:\\foo.txt\" \"c:\\bar.txt\"", "d:\\xyz");
于 2013-08-16T19:02:32.417 回答