繁体   English   中英

使用PowerShell v5,搜索特定的文件夹,将这些文件夹/文件复制到其他驱动器的路径中

[英]Using PowerShell v5, search for specific folder(s) copy those folders/files, AND the paths to another drive

我是PowerShell的新手。 花了几天时间试图做到这一点,认为我已经很接近了,但是需要专家向我展示最后一步。

使用PowerShell v5,需要搜索与特定名称匹配的文件夹,然后将这些文件夹及其文件以及文件夹的路径复制到另一个驱动器。

现在脚本:

Get-ChildItem s:\ -Filter (Read-Host -Prompt "Enter") -Recurse -ErrorAction SilentlyContinue -Force | 
    Select-Object FullName | ForEach-Object {Copy-Item -Path $_.FullName -Destination 'C:\Robotics\AA\ConfigFiles\Automation Anywhere Files\Automation Anywhere\My Tasks\' -recurse -Force}

这将搜索文件夹,返回结果,然后将文件夹和内容复制到目标位置。

问题是,我实际上需要将源路径附加到我的目标路径。 来源是可变数量的文件夹。

有什么建议么?

  • 要将Get-ChildItem限制为我插入的文件夹-Directory
  • Copy-Item接受来自管道的输入,不需要ForEach-Object
  • -replace基于RegEx,并且要求路径S:\\中的反斜杠由另一个反斜杠S:\\\\进行转义。

$DestBase = 'C:\Robotics\AA\ConfigFiles\Automation Anywhere Files\Automation Anywhere\My Tasks\'
$Search = Read-Host -Prompt "Enter folder:"
Get-ChildItem -Path S:\ -Filter $Search -Directory -Recurse -ErrorAction SilentlyContinue -Force | 
    Copy-Item -Destination {$($_.Fullname) -replace 'S:\\',"$DestBase"} -Recurse -Force -Whatif

如果输出看起来正常,请在最后一行删除-WhatIf参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM