每當我想使用熟悉的 CMD 命令列時,我都會嘗試習慣使用 PowerShell,而我已經知道并且在過去幾十年里并不十分喜歡這種命令列。我開始內化 Copy-Item,但是在復制大檔案時我真正想念的一件事是 /Z 引數。如果您不熟悉 /Z 引數,它會添加一個快速進度指示器(見下文)。對于小檔案,這是完全沒有必要的,但在復制大檔案時,它是一個明智的保護措施,尤其是在網路速度較慢的情況下。

PowerShell中是否有任何與 COPY /Z 類似的不涉及大量代碼的東西?我希望有一些簡單易記的東西,比如一個簡單的論點,或者可能是一個 pipable cmdlet,如下所示:
Copy-Item -Path "C:\Source\File.exe" -Destination "C:\Destination\" | Show-Progress
我不走運,還是已經存在這樣的事情?
uj5u.com熱心網友回復:
雖然某些PowerShell cmdlet 支持進度顯示,Copy-Item但不支持.
對于那些支持進度顯示的,例如
Invoke-WebRequest,邏輯通常是相反的。默認情況下會顯示進度,并且必須根據需要將其靜音,$ProgressPreference = 'SilentlyContinue'雖然 PowerShell 提供了
Write-Progress用于創建您自己的進度顯示的 cmdlet,但這在這里對您沒有幫助,因為您無法跟蹤另一個命令正在處理的單個物件的內部進度。
但是,您可以通過以下方式簡單地從 PowerShell呼叫cmd.exes 內部命令:copycmd /c
cmd /c copy /z C:\Source\File.exe C:\Destination\
筆記:
- 正如Jeroen Mostert指出的那樣,請考慮
robocopy.exe改用(您也可以從 PowerShell 中呼叫) - 有關詳細資訊,請參閱他對問題的評論。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518218.html
標籤:电源外壳脚本命令行界面
