Copy-Item和PadLeft

时间:2015-04-30 05:33:43

标签: powershell copy-item padleft

我需要检索pdf文件并将此pdf文件从源复制到目标。 pdf名称在txt文件列表中按行标记一个数字:

100
200 
204 
79002 
XS002

我连接了.pdf扩展名

但pdf文件为001 00 .pdf,002 00 .pdf,204 00 .pdf,79002.pdf,XS002。 PDF格式。我需要Padleft,最多5个位置的pdf文件名为

我使用这个命令:

Get-Content $listspec | Foreach-Object{copy-item -Path $source\$_".pdf".PadLeft(5,'0'), -destination $destination -ErrorAction SilentlyContinue -ErrorVariable +errors} 

我收到此错误:

*Copy-Item : Cannot convert 'System.Object[]' to the type 'System.String' required by parameter ' method is not supported.*

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

这是一个简单的拼写错误问题。删除,-path之间的逗号-destination

而不是:

copy-item -Path $source\$_".pdf".PadLeft(5,'0')-destination $destination

使用这样的语法,

copy-item -Path $source\$_".pdf".PadLeft(5,'0') -destination $destination

答案 1 :(得分:0)

我可以将echo str_repeat(' ', 4096); while(true) { echo "data: This is the message."; flush(); sleep(3); } 中指定的文件复制到文件夹files.txt

dest

我必须先包装文件名,然后在将其传递给gc .\files.txt | % { Copy-Item ($_.padRight(5,"0")+".pdf") -Destination "dest\ " } cmdlet之前对其进行评估

这: Copy-Item