首页 > 解决方案 > Powershell脚本将具有相同名称的不同文件类型移动到共享文件夹

问题描述

我的源文件夹包含一堆 *.pdf 和 *.csv 文件。我需要将所有具有相同名称的对移动到共享文件夹以进行进一步处理。如何确保只有现有文件对将移动到共享文件夹?

$sourcefolder = "C:\output"
$importfolder = "\\NB-AP-37\Import"

$pdf = Get-ChildItem $sourcefolder | Where-Object {$_.Extension -eq ".pdf"}
$csv = Get-ChildItem $sourcefolder | Where-Object {$_.Extension -eq ".csv"}

foreach ($p in $pdf){
    foreach($c in $csv){
        if($c.BaseName -match $p.BaseName){
        # move both the files to $importfolder
    }
}

标签: powershellfilenamesmove

解决方案


我想你快到了:Move-Item -Path C:\src.txt -Destination E:\Dir应该做(doc):

foreach ($p in $pdf){
    foreach($c in $csv){
        if($c.BaseName -eq $p.BaseName){
            # move both the files to $importfolder
            Move-Item -Path $p.FullName -Destination $importfolder
            Move-Item -Path $c.FullName -Destination $importfolder
        }
    }
}

而且,我将比较更改为-eq因为我得到了一些误报(运营商)。


推荐阅读