[英]PowerShell 5 Copy-Item not working
我正在嘗試從所有文件夾和子文件夾(dirs。和subdirs)復制所有.pdf文件。
Folder1
1.pdf
2.pdf
Folder1\Foder2\3.pdf
Folder1\Folder2\4.pdf
Folder1\Foder2\Folder3\5.pdf
Folder1\Folder2\Folder3\6.pdf
我先用過
$source = "c:\Folder1\"
$desti = "D:\foderA\"
PS> Get-ChildItem -recurse $source -Filter "*.pdf"
它顯示dir和sub dir中的所有文件,但是當我嘗試使用copy-Item時,我得到了錯誤。
PS> Get-ChildItem -recurse $source -Filter "*.pdf" | % {Copy-Item $_ -destination $desti}
錯誤:復制項:無法找到路徑'C:\\ Folder1 \\ Folder2 ....因為它不存在。 錯誤指向源不存在。 我究竟做錯了什么? 是因為我只讀取了源驅動器\\文件夾嗎?
謝謝
您可以將輸出對象從Get-ChildItem
直接傳遞給Copy-Item
(即,您不需要%
[這是ForEach-Object
的別名]); 例如:
Get-ChildItem -Recurse $source -Filter "*.pdf" -File | Copy-Item -Destination $desti
-File
參數僅將搜索限制為文件。
你差不多正確, $_
只是抓取文件名,所以你丟失了路徑,它試圖使用你運行腳本的路徑。 改為使用它來保持完整路徑。
Get-ChildItem -Recurse $source -Filter "*.pdf" | % {Copy-Item $_.FullName -Destination $desti}
cp -Recurse C:\path\to\search\*.pdf C:\path\to\output\copies
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.