我正在尝试将所有pdf文件从当前文件夹复制到名为"PDF"的子目录,如果文件已经存在,则重命名它们。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文件,但这些似乎没有引发任何错误。
解决了!需要删除目标文件的.pdf扩展名。
$destinationFile = "$pdfFolder$file$i.pdf"
应该是
$destinationFile = "$pdfFolder$file$i"