Darwin.CopyFile 1.0.0

dotnet add package Darwin.CopyFile --version 1.0.0                
NuGet\Install-Package Darwin.CopyFile -Version 1.0.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="Darwin.CopyFile" Version="1.0.0" />                
对于支持 PackageReference 的项目,请将此 XML 节点复制到项目文件中,以引用此包。
paket add Darwin.CopyFile --version 1.0.0                
#r "nuget: Darwin.CopyFile, 1.0.0"                
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此复制到交互工具或脚本的源代码中,以引用此包。
// Install Darwin.CopyFile as a Cake Addin
#addin nuget:?package=Darwin.CopyFile&version=1.0.0

// Install Darwin.CopyFile as a Cake Tool
#tool nuget:?package=Darwin.CopyFile&version=1.0.0                

Darwin.CopyFile

绑定到 Darwin 操作系统 copyfile API。

Darwin copyfile API 可以复制文件、它们的元数据、扩展属性、递归目录,并支持使用克隆进行快速复制(适用于托管在 macOS 和 iOS 上的 APFS 文件)。

您可以使用此作为 NuGet(《Darwin.CopyFile》),或者您只需将单个 C# 文件复制到您的项目中即可。

API 文档

您可以浏览 API 文档

使用 API

主要 API 是

public class CopyFile {
    static Status Copy (string from, string to, Flags flags, State state = null);
}

通常,您将通过传递要传递的标志来配置操作,以控制是否执行嵌套复制,是否使用克隆,复制属性等。

示例

复制文件

CopyFile.Copy ("/etc/hosts", "/tmp/hostscopy", CopyFile.Flags.All);

使用克隆复制文件

CopyFile.Copy ("/etc/hosts", "/tmp/hosts", CopyFile.Flags.All | CopyFile.Flags.Clone);

使用克隆复制文件两次

CopyFile.Copy ("/etc/hosts", "/tmp/hosts2", CopyFile.Flags.All | CopyFile.Flags.Clone);

// This fails, becaue Clone refuses to override the file if the target exists:
CopyFile.Copy ("/etc/hosts", "/tmp/hosts2", CopyFile.Flags.All | CopyFile.Flags.Clone);

// Tell Copy to unlink (remove) the target if it is present:
CopyFile.Copy ("/etc/hosts", "/tmp/hosts2", CopyFile.Flags.All | CopyFile.Flags.Clone | CopyFile.Flags.Unlink);

仅当目标不存在时复制文件(返回 EEXIST 错误)

CopyFile.Copy ("/etc/hosts", "/tmp/hosts", CopyFile.Flags.All | CopyFile.Flags.Excl)  

递归复制目录,使用克隆

CopyFile.Copy ("/Users/miguel/Desktop", "/tmp/CopyDesktop", CopyFile.Flags.All |  CopyFile.Flags.Clone | CopyFile.Flags.Recursive);

控制递归复制

使用 状态 对象来控制递归复制的方式,您创建一个状态对象,并可以通过向它提供一个回调并从回调中访问状态对象来进一步自定义复制过程。

产品 兼容和额外的目标框架版本。
.NET net5.0 已计算。 net5.0_windows 已计算。 net6.0 已计算。 net6.0_android 已计算。 net6.0_ios 已计算。 net6.0_maccatalyst 已计算。 net6.0_macos 已计算。 net6.0_tvos 已计算。 net6.0_windows 已计算。 net7.0 已计算。 net7.0_android 已计算。 net7.0_ios 已计算。 net7.0_maccatalyst 已计算。 net7.0_macos 已计算。 net7.0_tvos 已计算。 net7.0_windows 已计算。 net8.0 已计算。 net8.0_android 已计算。 net8.0_browser 已计算。 net8.0_ios 已计算。 net8.0_maccatalyst 已计算。 net8.0_macos 已计算。 net8.0_tvos 已计算。 net8.0_windows 已计算。
.NET Core netcoreapp1.0 已计算。 netcoreapp1.1 已计算。 netcoreapp2.0 已计算。 netcoreapp2.1 已计算。 netcoreapp2.2 已计算。 netcoreapp3.0 已计算。 netcoreapp3.1 已计算。
.NET Standard netstandard1.5 兼容。 netstandard1.6 已计算。 netstandard2.0 已计算。 netstandard2.1 已计算。
.NET Framework net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。
MonoAndroid monoandroid 已计算。
MonoMac monomac 已计算。
MonoTouch monotouch 已计算。
Tizen tizen30 已计算。 tizen40 已计算。 tizen60 已计算。
Xamarin.iOS xamarinios 已计算。
Xamarin.Mac xamarinmac 已计算。
Xamarin.TVOS xamarintvos 已计算。
Xamarin.WatchOS xamarinwatchos 已计算。
兼容的目标框架
包含的目标框架(包中包含)
了解更多关于 目标框架.NET Standard

NuGet 包

此包没有被任何 NuGet 包使用。

GitHub 仓库

此包没有被任何流行的 GitHub 仓库使用。

版本 下载 最后更新
1.0.0 1,093 6/6/2018