conty9
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите свести в одно целое две половинки Уже не раз обсуждавшаяся задача: найти перебором на дисках файл и запустить его. Задача усложняется тем, что при переборе дисков может попасться нечитаемый - например, картридер без карточки. При обычном опросе выполнение на таком диске приостановится с запросом системы - пропустить/игнорировать/отменить. Но, как оказалось, можно использовать для проверки доступности диска команду dir - если диск недоступен, она тихо и скромно сообщит об этом. Прямо это использовать не смог, зато можно проанализировать наличие инфы о диске, для нечитаемых дисков это всегда будет нулевой файл, для доступных - какая-то инфа по диску. Например, следующая конструкция запустит my_prog.exe с диска D:\ и промолчит, если диск недоступен. Код: For /f "tokens=1*" %%A in ('dir /d D:\') do set res=%%A if %res% NEQ "" start D:\my_prog.exe & exit | Всё замечательно, только вот соединить перебор дисков и "тихую" проверку никак не могу Код: For %%D In (C D E F G H I J K ) Do ( For /f "tokens=1*" %%A in ('dir /d %%D:\') do set res=%%A if %res% NEQ "" start %%D:\my_prog.exe & exit ) |
| Всего записей: 1700 | Зарегистр. 27-11-2006 | Отправлено: 22:46 02-02-2011 | Исправлено: conty9, 22:50 02-02-2011 |
|