在 Linux 中我們可以使用 cp 指令來複製檔案 cp 是 copy 的縮寫。在 PowerShell 中則是使用 Copy-Item 指令。
在 PowerShell 中可以替指令加上別名,我們使用 Get-Alias 指令查看 Copy-Item 指令的別名可以發現有 copy, cp, cpi ,使用這三個指令實際上都是在執行 Copy-Item 指令:
註: 若路徑中沒有空白,可以省略雙引號
上面的指令只會複製資料夾,如果需要包含完整的子資料夾和檔案則需要加上 -Recurse 參數。
附加 -Force 參數就可以強制覆蓋資料夾,避免出現已經存在的錯誤訊息:
參考資料:
Microsoft.Learn - Copy-Item
在 PowerShell 中可以替指令加上別名,我們使用 Get-Alias 指令查看 Copy-Item 指令的別名可以發現有 copy, cp, cpi ,使用這三個指令實際上都是在執行 Copy-Item 指令:
Get-Alias -Definition Copy-Item
CommandType Name Version Source
----------- ---- ------- ------
Alias copy -> Copy-Item
Alias cp -> Copy-Item
Alias cpi -> Copy-Item
複製檔案
將 my.png 檔案複製到 C:\Users\ruyut\Desktop 資料夾中:
cp "my.png" "C:\Users\ruyut\Desktop"
註: 若路徑中沒有空白,可以省略雙引號
複製檔案(包含所有子資料夾和檔案)
將 C:\Users\ruyut\Desktop 資料夾複製到 C:\Users\ruyut\Documents 資料夾中:
cp "C:\Users\ruyut\Desktop" "C:\Users\ruyut\Documents"
上面的指令只會複製資料夾,如果需要包含完整的子資料夾和檔案則需要加上 -Recurse 參數。
cp "C:\Users\ruyut\Desktop" "C:\Users\ruyut\Documents" -Recurse
強制覆蓋
如果複製的檔案中子資料夾已經存在,則會跳出 already exists 的錯誤訊息:
cp "C:\Users\ruyut\Desktop" "C:\Users\ruyut\Documents" -Recurse
Copy-Item: An item with the specified name C:\Users\ruyut\Documents\test already exists.
附加 -Force 參數就可以強制覆蓋資料夾,避免出現已經存在的錯誤訊息:
cp "C:\Users\ruyut\Desktop" "C:\Users\ruyut\Documents" -Recurse -Force
參考資料:
Microsoft.Learn - Copy-Item
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com