Powershell 的 Copy-Item 的 -container 参数的含义是什么?
我正在为 MS PowerShell 编写脚本。 该脚本使用Copy-Item
命令。 此命令的可选参数之一是“-container
”。 该参数的文档指出,指定该参数“在复制操作期间保留容器对象”。
这一切都很好,因为我是最后一个在复制操作期间想要未保留的容器对象的人。 但严肃地说,这个论证有什么作用呢? 特别是在我将磁盘目录树从一个地方复制到另一个地方的情况下,这对 Copy-Item 命令的行为有何影响?
I am writing a script for MS PowerShell. This script uses the Copy-Item
command. One of the optional arguments to this command is "-container
". The documentation for the argument states that specifying this argument "Preserves container objects during the copy operation."
This is all well and good, for I would be the last person to want unpreserved container objects during a copy operation. But in all seriousness, what does this argument do? Particularly in the case where I am copying a disk directory tree from one place to another, what difference does this make to the behavior of the Copy-Item
command?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我也发现该文档没有什么帮助。 我做了一些测试,看看复制文件和文件夹时
-Container
参数如何与-Recurse
结合使用。请注意,
-Container
表示-Container: $true
。这是我用于示例的文件结构:
X:\
。1) 仅复制源文件夹(空文件夹):
以下给出错误:
2) 要复制包含文件的整个文件夹结构:
3) 将所有后代(文件和文件夹)复制到单个文件夹:
I too found the documentation less than helpful. I did some tests to see how the
-Container
parameter works in conjunction with-Recurse
when copying files and folders.Note that
-Container
means-Container: $true
.This is the file structure I used for the examples:
X:\
.1) To copy just the source folder (empty folder):
The following gives an error:
2) To copy the whole folder structure with files:
3) To copy all descendants (files and folders) into a single folder:
文档中讨论的容器是文件夹结构。 如果您正在进行递归复制并希望保留文件夹结构,则可以使用 -container 开关。 (注意:默认情况下 -container 开关设置为 true,因此您实际上不需要指定它。如果您想将其关闭,可以使用
-container: $false
。)一个问题是...如果您执行目录列表并将其通过管道传输到 Copy-Item,它将不会保留文件夹结构。 如果要保留文件夹结构,则必须指定 -path 属性和 -recurse 开关。
The container the documentation is talking about is the folder structure. If you are doing a recursive copy and want to preserve the folder structure, you would use the -container switch. (Note: by default the -container switch is set to true, so you really would not need to specify it. If you wanted to turn it off you could use
-container: $false
.)There is a catch to this... if you do a directory listing and pipe it to Copy-Item, it will not preserve the folder structure. If you want to preserve the folder structure, you have to specify the -path property and the -recurse switch.