|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] зависает robocopy |
|
|
VBS/WSH/JS - [решено] зависает robocopy
|
Ветеран Сообщения: 547 |
фрагмент скрипта:
Set WshShell = WScript.CreateObject("WScript.Shell") Wscript.echo "robocopy /mir /MOVE /r:1 /w:1 /xj " & SrcDir & " " & DstDir set robojob=WshShell.Exec("robocopy /mir /MOVE /r:1 /w:1 /xj " & SrcDir & " " & DstDir) While robojob.status=0 Wscript.sleep (500) Wend если ручками копипастнуть в cmd вывод Wscript.echo "robocopy /mir /MOVE /r:1 /w:1 /xj " & SrcDir & " " & DstDir то все отрабатывается. |
|
------- Отправлено: 17:08, 08-10-2014 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Опиум, у Вас «SrcDir» и «DstDir», надо полагать, не пустые? Покажите их задание.
|
Отправлено: 17:25, 08-10-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать нет, они не пустые и контрольно перед запуском отображаются. я же написал.
суть в том что копировании начинается корректно... но виснет. |
------- Отправлено: 17:33, 08-10-2014 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Опиум, если Вам не трудно — Вы не могли бы читать меня полностью:
Цитата Iska:
Я видел, что Вы написали. Но что именно у Вас отображается «контрольно», какие именно несколько файлов копирует, на каком файле «виснет», как именно Вы определяете, что несколько файлов копирует, что именно «виснет» — знаете пока только Вы. |
|
Отправлено: 17:38, 08-10-2014 | #4 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать тестировал скрипт на папках с фотками. много jpg файлов размером 2-5мб.
несколько файлов копируется в DstDir... и сразу видно на каком завис - jpg открывается с ошибкой. процесс robocopy висит, ресурсов cpu не потребляет, копирование не идет. Сейчас удивился, на w7 отработал, а на w2008r2 виснет. Цитата Iska:
если robocopy c этими параметрами не запускать из скрипта, а копипастнуть руками в cmd то все отработает. |
||
------- Отправлено: 17:51, 08-10-2014 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Продолжайте «копипастить в cmd» и дальше, коль «оно громоздко и не суть», и Вам сложно скопировать сие сюда. Как скажете.
|
Отправлено: 18:03, 08-10-2014 | #6 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать загрузил скриншот. там видно src и dst папки.
в dst виден файл на котором завис robocopy (DSC_0215.JPG) |
------- Отправлено: 18:17, 08-10-2014 | #7 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать короче. той инфо что давал вам было достаточно. разобрался сам. дело в выводе.
перенаправил все в лог файл и все заработало. ключи robocopy /np /log+: |
------- Отправлено: 09:55, 09-10-2014 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Дело не в выводе, а в отсутствии чтения из внутренних буферов для потоков вывода и ошибок в Вашем скрипте: Hang When Reading StdErr/StdOut Properties of WshScriptExec Object.
|
Отправлено: 15:32, 09-10-2014 | #9 |
Ветеран Сообщения: 547
|
Профиль | Сайт | Отправить PM | Цитировать Iska, все верно. нет вывода - нет проблемы. Я так решил, хотя, как указано по ссылке, можно было просто вычитывать буфер.
|
------- Отправлено: 15:46, 09-10-2014 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2008 R2 - Копирование папок с помощью Robocopy | PsyDuck | Windows Server 2008/2008 R2 | 3 | 08-10-2014 17:35 | |
CMD/BAT - robocopy - долго копирует! | Anatoliy2004 | Скриптовые языки администрирования Windows | 2 | 16-06-2014 17:06 | |
2008 R2 - ROBOCOPY: папки в которые делается бэкап становятся скрытыми | belui | Windows Server 2008/2008 R2 | 29 | 29-11-2012 12:39 | |
CMD/BAT - [решено] Как указать подстановочные символы в ROBOCOPY | SynergyIT | Скриптовые языки администрирования Windows | 1 | 27-07-2012 07:53 |
|