簡體   English   中英

PowerShell 5 Copy-Item無法正常工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM