Zeta Folder XCOPY
一个小型类,用于在 C# 中执行基本的 XCOPY 类操作。
引言
在将一些命令脚本迁移到更健壮的解决方案的过程中,该解决方案涉及C# 脚本,我需要用 C# 中的等效代码替换几个 XCOPY 调用。
我想要避免的是简单地 启动一个 CMD.EXE 进程并调用 XCOPY 命令。
相反,我寻找 .NET/C# 中的类/函数,它可以作为替代方案。虽然我 找到了一些解决方案,但没有一个能以我想要的方式工作。
Using the Code
因此,我决定开发自己的小型解决方案,这并不是什么高深的代码,但它满足了我的需求。
它比 XCOPY 具有更少的功能,并且旨在用于复制文件夹(原始 XCOPY 适用于文件和文件夹)。 此外,它被设计为在控制台环境中使用的(即,操作是同步的且会阻塞)。
一个示例调用如下
var options =
new ZetaFolderXCopyOptions
{
FilesPattern = "*.*",
RecurseFolders = true,
CopyEmptyFolders = true,
CopyHiddenAndSystemFiles = true,
OverwriteExistingFiles = true,
CopyOnlyIfSourceIsNewer = false,
FoldersPattern = "*"
}
.AddExcludeSubStrings(
"\\.svn\\",
"\\_svn\\",
"\\_Temporary\\" );
var xc = new ZetaFolderXCopy();
xc.Copy(
sourceFolderPath,
destinationFolderPath,
options );
完整的代码由一个 .CS 文件组成,可以从本文的顶部下载。
只需将其放入您的解决方案/脚本中使用即可。
结语
本文介绍了一个小类,用于执行 XCOPY 和 ROBOCOPY 从您的 C# 代码中执行的基本操作。
如往常一样,我很乐意收到您的反馈、建议和改进。 欢迎在文章的讨论区下方给我留言。
历史
- 2018-05-27 — 最新代码片段位于 此 Pastebin
- 2009-09-25 — 首次发布