Copy-Item不支持给定路径的格式 - 无论如何都要复制

时间:2018-01-06 11:15:21

标签: powershell

我正在尝试将当前文件夹中的所有pdf文件复制到名为“PDFs”的子目录中,如果文件已存在,则重命名文件。 Powershell抛出的错误是不支持路径格式,但无论如何它们都会复制。

$pdfFolder = ".\PDFs"
foreach ($file in Get-ChildItem *.pdf){

    $sourceFile = $file.Name
    $destinationFile = "$pdfFolder\$sourceFile"

    if (Test-Path $destinationFile){
        $i = 0
        While (Test-Path $destinationFile) {
            $i+= 1
            $destinationFile = "$pdfFolder\$file$i.pdf"
        }
    } else {
        New-Item -ItemType File -Path $destinationFile -Force
    }

    Copy-Item -Path $sourceFile -Destination $destinationFile -Force

}

我的程序中有两个这个函数的修改版本,它适用于.doc和.docx文件,但这些似乎没有引起任何错误。

1 个答案:

答案 0 :(得分:0)

解决!需要删除目标文件的.pdf扩展名。

/

应该是

$destinationFile = "$pdfFolder\$file$i.pdf"