Цитата 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. Проверять, честно говоря, не хоцца. Так что... вектор Вам указали.
И то возможно.