Powershell Copy-Item 不会到达目的地

Powershell Copy-Item Not going to destination

我运行 下面PS 将文件从一个目录移动到另一个目录。我遇到的问题是它不会将项目复制到目的地,而是将它们复制到我从中调用脚本的目录。目的地是我映射的文件共享。

$originalPath1 = "C:\Source\Source\"
$targetFile1 = "Q:\destination\"

Get-ChildItem $originalPath1\* -Include  *.xxx, *.yyy, *.ddd, *.eee, *.ttt |
   ForEach-Object{ $targetFile1 = $htmPath + $_.FullName.SubString($originalPath1.Length);
 New-Item -ItemType File -Path $targetFile1 -Force;
 Copy-Item $_.FullName -destination $targetFile1 }

作为'poor mans backup',您可以使用以下代码将匹配模式的文件复制到目标文件夹。

这还将创建原始文件所在的子文件夹结构:

$originalPath = 'C:\Source\Source'
$destination  = 'Q:\destination'
$includeThese = '*.xxx', '*.yyy', '*.ddd', '*.eee', '*.ttt'

Get-ChildItem -Path $originalPath -File -Recurse -Include $includeThese |
ForEach-Object {
    # create the destination folder
    $target = Join-Path -Path $destination -ChildPath $_.DirectoryName.Substring($originalPath.Length)
    $null = New-Item -ItemType Directory -Path $target -Force
    # copy the file to the target path
    $_ | Copy-Item -Destination $target -Force
}