inq*_*one 15 powershell cmdlets copy-item powershell-3.0
使用Powershell 3.0时,-Filter或-Include参数是否适用于任何人?我已经尝试了以下两个命令:
Copy-Item -Path c:\temp -Include "*.TXT" -Destination C:\temp2
和
Copy-Item -Path c:\temp -Filter "*.TXT" -Destination C:\temp2
实际上,对于-Filter选项,在c:\ TEMP2中创建一个空的"temp"文件夹.我知道以下命令有效:
Copy-Item -Path c:\temp\*.TXT -Destination C:\temp2
但只是想知道是否有人之前遇到过这个问题?
HAL*_*256 29
这是因为您要输入Copy-Item的项目是文件夹,而不是文件夹中的文件.
执行时:
Copy-Item -Path c:\temp -Include "*.txt" -Destination C:\temp2
你说的是:复制项目,其中Path是文件夹c:\ temp.被选中复制的唯一项目是目录C:\ TEMP.然后我们说,只有 - 包含与"*.txt"匹配的项目.由于唯一的项目(文件夹"temp")与模式不匹配,我们什么都不做.
为了证明这一点,让我们将Include过滤器更改为"temp",然后重新执行它:
Copy-Item -Path c:\temp -Include "temp" -Destination C:\temp2
瞧!在目标文件夹中,我们有一个新的空文件夹:c:\ temp2\temp.(它是空的,因为我们告诉它复制的唯一项目是文件夹"temp",我们没有告诉它复制其他任何东西)
所以对于第2部分,执行时:
Copy-Item -Path c:\temp\*.txt -Destination C:\temp2
它的工作原理,因为你说,与*.TXT,通过目录匹配模式*.TXT的所有项目进行迭代,养活这些路径复制-项目,并复制到目的地.
为了证明这一点,让我们改变它,并指定一个包含过滤器:
Copy-Item -Path c:\temp\* -Include "*.txt" -Destination C:\temp2
我们在这里说,拿在文件夹c的所有项目:\ TEMP(也就是我们得到的所有项目中的文件夹C:\ TEMP,而不是在文件夹C:\ TEMP),只包括匹配的项目进行筛选"*.txt",并复制到目的地.
| 归档时间: | 
 | 
| 查看次数: | 18994 次 | 
| 最近记录: |