Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Перезапуск устройства
Показать сообщение отдельно

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Цитата svoping:
Товарищи решение на PowerShell не совсем удобно
Неудобно - это когда соседские дети на тебя похожи или когда пытаешься решать проблемы на работе за чужой счет, вот это неудобно. Ничто не мешает по сетке развернуть PS (на ХР потолок - вторая версия, но ее хватит более чем), чай ведь сам установочный пакет в виде КВ распространяется. Но раз джинсы жмут в интимных местах, то берете пять сотен и переводите их мне на счет devcon (его сирано также придется раскидать по сети), а далее ваяете нечто вроде:
Скрытый текст
Код: Выделить весь код
@echo off
  setlocal enabledelayedexpansion
    set "log=D:\src\foo"
    :monitor
      call:sleep 3
      call:getstamp !log!
      goto:monitor
  endlocal
exit /b

:getstamp
  for /f %%i in ("%~1") do set "ts=%%~ti"
  if not defined x set "x=!ts!"
  if /i "!ts!" equ "!x!" (
    echo:same
  ) else (
    echo:not same
    <nul set /p="Restarting USB device "
    rem сюбственно, здесь реализуется логика перезапуска
    set "x=!ts!"
    echo:[at !time:~0,-3!] . . . OK
  )
exit /b

:sleep
  echo:%~1|>nul findstr /xrc:"[0-9].*"&&(
    if %~1 equ 0 goto:break
    set /a "s=%~1/2+1"
    w32tm /stripchart /computer:localhost /period:1^
      /dataonly /samples:!s!>nul
    <nul set /p="Standby . . . "
  )||(
    :break
    rem
  )
exit /b

В теории жонглировать USB'еками можно через WMI, а именно Win32_USBControllerDevice. Насколько помню там есть метод Reset, но вроде бы он как не реализован в ранних версиях Windows. Проверять, честно говоря, не хоцца. Так что... вектор Вам указали.
Цитата Iska:
если хорошо попросите
И то возможно.

Последний раз редактировалось greg zakharov, 02-06-2017 в 22:26.


Отправлено: 22:19, 02-06-2017 | #8

Название темы: Перезапуск устройства