41

Windows コマンドライン (デフォルトで XP Pro 以降で利用可能) を使用してファイルをコピーし、プロセス中に進行状況を表示する必要があります。

進行状況インジケーターは、端末または GUI ウィンドウに表示できます。これは、バッチ ファイルのスクリプト作成中に使用することを目的としています。

4

8 に答える 8

59

/z スイッチを指定して copy コマンドを使用し、ネットワーク ドライブ経由でコピーしました。ローカル ドライブ間のコピーにも使用できます。XP Home エディションでテスト済み。

于 2011-02-12T13:10:00.620 に答える
20

ロボコピー:

Robocopy、または「堅牢なファイル コピー」は、コマンドラインディレクトリおよび/またはファイル レプリケーションコマンドです。Robocopy は機能的にXcopyを置き換え、より多くのオプションを備えています。これは、Windows NT 4.0 以降のWindows リソース キットの一部として提供されており、 Windows VistaおよびWindows Server 2008で標準機能として最初に導入されました。コマンドはrobocopy...

于 2008-09-12T12:07:12.117 に答える
6

これらすべての方法に関するいくつかの興味深いタイミング。ギガビット接続を使用している場合は、/z フラグを使用しないでください。接続速度が低下します。Robocopy または dism は、フル スピードで進行状況バーを表示する唯一のツールです。wdscase は、WDS サーバーからのマルチキャスト用であり、5 台以上のコンピューターをイメージングしている場合は高速になる可能性があります。1:17 のタイミングを取得するために、ギガビット接続を 920Mbps で最大にしていたので、一度に 2 つの接続でそれを取得することはできません。また、大きな wim ファイルから小さな wim インデックスをエクスポートすると、全体をコピーするよりも時間がかかりすぎることに注意してください。

Model  Exe       OS       switches     index    size    time   link speed 
8760w  dism      Win8     /export-wim  index 1  6.27GB  2:21   link 1Gbps
8760w  dism      Win8     /export-wim  index 2  7.92GB  1:29   link 1Gbps
6305   wdsmcast  winpe32  /trans-file  res.RWM  7.92GB  6:54   link 1Gbps
6305   dism      Winpe32  /export-wim  index 1  6.27GB  2:20   link 1Gbps
6305   dism      Winpe32  /export-wim  index 2  7.92GB  1:34   link 1Gbps
6305   copy      Winpe32  /z           Whole    7.92GB  25:48  link 1Gbps
6305   copy      Winpe32  none         Wim      7.92GB  1:17   link 1Gbps
6305   xcopy     Winpe32  /z /j        Wim      7.92GB  23:54  link 1Gbps
6305   xcopy     Winpe32  /j           Wim      7.92GB  1:38   link 1Gbps
6305   VBS.copy  Winpe32               Wim      7.92    1:21   link 1Gbps
6305   robocopy  Winpe32               Wim      7.92    1:17   link 1Gbps

robocopy.exe を使用できない場合は、ファイルのコピー元のネットワーク共有から実行してみませんか? 私の場合は、変更を加えるたびに WinPE の boot.wim ファイルを再構築して、多数のフラッシュ ドライブを更新する必要がないように、そうするのが好きです。

于 2013-08-12T21:49:56.097 に答える
1

このtechnetリンクには、大きなファイルをコピーするための良い情報があります. 記事に記載されている交換サーバー ユーティリティを使用しました。このユーティリティは、進行状況を示し、非バッファー コピー機能を内部で使用して転送を高速化します。

別のシナリオでは、robocopy を使用しました。Robocopy GUIを使用すると、コマンド ライン オプションを簡単に正しく設定できます。

于 2008-09-12T12:19:07.733 に答える
0

ファイルをコピーして「進行状況」を確認したい場合は、別のスクリプトからベースとして使用したバッチで以下のスクリプトをお勧めします

スクリプトがゲーム ファイル「Nuclear throne」をコピーする間、進行状況バーとパーセンテージを使用しました。

@echo off
title NTU Installer
setlocal EnableDelayedExpansion

@echo Iniciando instalacao...
if not exist "C:\NTU" (
    md "C:\NTU
)
if not exist "C:\NTU\Profile" (
    md "C:\NTU\Profile"
)
ping -n 5 localhost >nul

for %%f in (*.*) do set/a vb+=1
set "barra="
::loop da barra
for /l %%i in (1,1,70) do set "barra=!barra!Û"
rem barra vaiza para ser preenchida
set "resto="
rem loop da barra vazia
for /l %%i in (1,1,110) do set "resto=!resto!"
set i=0
rem carregameno de arquivos
for %%f in (*.*) do (
    >>"log_ntu.css" (
        copy "%%f" "C:\NTU">nul
        echo Copiado:%%f
    )
    cls
    set /a i+=1,percent=i*100/vb,barlen=70*percent/100
    for %%a in (!barlen!) do echo  !percent!%% /                         
    [!barra:~0,%%a!%resto%]
    echo Instalado:[%%f] / Complete:[!percent!%%/100%]
    ping localhost -n 1.9  >nul
)
xcopy /e "Profile" "C:\NTU\Profile">"log_profile.css"              

@echo Criando atalho na area de trabalho...
copy "NTU.lnk" "C:\Users\%username%\Desktop">nul
ping localhost -n 4  >nul

@echo Arquivos instalados!
pause
于 2021-01-29T01:01:19.797 に答える
0

私が使用するスクリプトは次のとおりです。

@ECHO off
SETLOCAL ENABLEDELAYEDEXPANSION
mode con:cols=210 lines=50
ECHO Starting 1-way backup of MEDIA(M:) to BACKUP(G:)...
robocopy.exe M:\ G:\ *.* /E /PURGE /SEC /NP /NJH /NJS /XD "$RECYCLE.BIN" "System Volume Information" /TEE /R:5 /COPYALL /LOG:from_M_to_G.log
ECHO Finished with backup.
pause
于 2012-12-04T03:46:44.707 に答える
-5

これを行うプログラムは簡単に作成できます。ファイルのコピー時にコピーされたバイトを表示するプログラムをいくつか作成しました。興味のある方はコメントいただければリンクを貼っておきます。

于 2008-09-12T12:07:02.787 に答える