gpt4 book ai didi

PowerShell 使用 xcopy、robocopy 或 copy-item

转载 作者:行者123 更新时间:2023-12-02 10:10:07 24 4
gpt4 key购买 nike

从批处理文件切换到 powershell 脚本的原因是为了改进流程的错误检查。用于复制的 cmdlet 在这方面有优势吗?

如果批处理文件已经存在,使用 xcopy 按文件名单独复制文件,将语法转换为复制项有什么好处吗?

使用 robocopy、xcopy 和 copy-item 有哪些优势(相互比较)?例如,robocopy 在通过可靠网络处理大量小文件时是否具有优势。如果要在数百台计算机上同时运行此脚本以将数百个文件复制到每台计算机上,这会影响决策吗?决策是否应该主要关注文件的权限?

最佳答案

主要优点是您可以通过管道而不是字符串或文件规范将对象发送到Copy-Item。所以你可以这样做:

Get-ChildItem '\\fileserver\photos\*.jpeg' -File | `
Where-Object { ($_.LastAccessTime -ge (Get-Date).AddDays(-1)) -and ($_.Length -le 500000) } | `
Copy-Item -Destination '\\webserver\photos\'

这是一个糟糕的例子(您可以使用Copy-Item -Filter来做到这一点),但它是一个很容易即时提出的例子。在处理文件时,以 Get-ChildItem 的管道结束是很常见的,我个人倾向于这样做,只是因为 -Recurse -Include bug与删除项目

您还可以获得 PowerShell 的错误捕获、特殊参数,例如 -Passthru-WhatIf-UseTransaction 以及所有常见参数。 Copy-Item -Recurse 可以复制 xcopy 的一些树复制功能,但它非常简单。

现在,如果您需要维护 ACL、所有权、审核等,那么 xcopy 或 robocopy 可能会更容易,因为该功能是内置的我不确定 Copy-Item 如何处理将加密文件复制到非加密位置(xcopy 有一定的能力做到这一点),并且我不相信 Copy-Item/code> 支持直接管理归档属性。

如果您追求的是速度,那么我怀疑 xcopy 和 robocopy 会胜出。托管代码通常具有较高的开销。 Xcopy 和 robocopy 还可以更好地控制它们与网络的配合情况。

关于PowerShell 使用 xcopy、robocopy 或 copy-item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27324725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com