使用PowerShell V5,搜索特定文件夹(S)将这些文件夹/文件复制到另一个驱动器



我是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:RoboticsAAConfigFilesAutomation Anywhere FilesAutomation AnywhereMy Tasks' -recurse -Force}

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

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

有什么建议?

  • 要将Get-Childitem限制在文件夹中,我插入了-Directory
  • Copy-Item接受管道中的输入,无需ForEach-Object
  • -replace是基于正则义务的,需要路径中的后斜线 S:由另一个后斜线S:\逃脱。

$DestBase = 'C:RoboticsAAConfigFilesAutomation Anywhere FilesAutomation AnywhereMy 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参数。

相关内容

  • 没有找到相关文章

最新更新