Подтвердить что ты не робот

Скопировать файлы в командной строке Windows с успехом

Кто-нибудь знает о командной строке Windows (доступной на XP Pro или более поздней версии по умолчанию), которая может копировать файл, показывая прогресс. Мне все равно, есть ли индикатор прогресса в терминале или в окне графического интерфейса.

Это предназначено для использования во время командного сценария

4b9b3361

Ответ 1

используется команда копирования с/z-переключателем для копирования по сетевым дискам, также работает для копирования между локальными дисками. на домашней странице XP

Ответ 2

robocopy:

Robocopy, или "Robust File Copy", является командной строки и/или репликацией файла command. Robocopy функционально заменяет Xcopy с дополнительными опциями. Он был доступен как часть Windows Resource Kit, начиная с Windows NT 4.0, и был впервые представлен как стандартная функция в Windows Vista и Windows Server 2008. Команда robocopy...

Ответ 3

Параметр Esentutl/y позволяет копировать (одиночные) файлы файлов с индикатором выполнения следующим образом:

enter image description here

команда должна выглядеть так:

esentutl /y "FILE.EXT" /d "DEST.EXT" /o

Команда доступна на всех машинах Windows, но опция y представлена ​​в Vista. Поскольку это работает только с одиночными файлами, это не очень полезно для небольших. Другим ограничением является то, что команда не может перезаписывать файлы. Вот обертка script, которая проверяет место назначения и, если необходимо, может удалить его (помощь можно увидеть путем передачи /h).

Ответ 4

Некоторые интересные моменты, касающиеся всех этих методов. Если у вас есть Gigabit соединения, вы не должны использовать флаг /z или он убьет вашу скорость соединения. Robocopy or dism - единственные инструменты, которые работают на полной скорости и показывают индикатор выполнения. wdscase предназначена для многоадресной передачи с сервера WDS и может быть быстрее, если вы создаете 5+ компьютеров. Чтобы получить время 1:17, я максимизировал соединение Gigabit со скоростью 920 Мбит/с, так что вы не получите это сразу по двум подключениям. Также обратите внимание, что экспорт небольшого индекса 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, почему бы не запустить его из общего сетевого ресурса, с которого вы копируете свои файлы? В моем случае я предпочитаю делать это, поэтому мне не нужно перестраивать Win. boot файл WinPE каждый раз, когда я хочу внести изменения, а затем обновить десятки флешек.

Ответ 5

Эта техническая ссылка ссылка содержит некоторую полезную информацию для копирования больших файлов. Я использовал утилиту сервера обмена, упомянутую в статье, которая показывает прогресс и использует небуферизованные функции копирования внутри для более быстрой передачи.

В другом сценарии я использовал robocopy. Robocopy GUI упрощает правильную настройку параметров командной строки.

Ответ 6

Вот script я использую:

@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

Ответ 7

Вы можете легко написать программу для этого, у меня есть несколько, которые я написал, которые отображают байты, скопированные при копировании файла. Если вам интересно, прокомментируйте, и я отправлю ссылку на один.