Хорошо. Я сделаю скучные вещи быстро ... Моя специальность - устранение неполадок электронного оборудования, но я хорошо разбираюсь в Windows и Linux. Я разработал вкус для написания полезных файлов win win. Пожалуйста, не пытайтесь продвигать другие формы кода (C ++ и т. Д.), Так как я не в состоянии писать что-либо вне batch, bash и случайного легкого vb-скрипта.
Итак, я запустил небольшой пакет, который использует DEVCON для получения идентификаторов экземпляров устройства и перекрестной ссылки на них в локальной базе данных для неизвестной идентификации устройства.
Что происходит, так это то, что вывод ">" в тексте портится, и, насколько я могу судить, из-за UAC в Vista и 7. Он работает, когда я запускаю скрипт от имени администратора, но не не выводить в нужные области (поскольку он работает из папки sys32), и я не могу жестко закодировать букву диска USB-перехода, поскольку она будет варьироваться от компьютера к компьютеру.
Сценарий находится на съемном носителе и ПОДДЕРЖИВАЕТСЯ записать на диск, на котором он находится. Когда он попадает в «>» и не запускается от имени администратора, он запускает его в новом командном окне и не выводит. Как я могу получить это локализовано?
Вот проблемная область:
[ПРИМЕЧАНИЕ: INI-файлы, которые ищут FOR, выглядят так:]
[venid.ini]
devid = 8086 = Intel Corporation
[devid.ini]
devid = 4229 = WiFi Link 4965AG
:idlookup
set dd=Unknown
set /P VENID=Enter Vendor ID: %=%
echo %venid%>> searches.txt
for /f "tokens=1,2,3,4 delims==" %%a in (venid.ini) do (
if %%b==%venID% set VS=%%c
if %%b==%venID% set vd=%%b
)
REM echo Searching local machine...
REM devcon -m:\\%computername% find *ven_%venid%* > foundids.txt
REM foundids.txt
REM set /P DEVID=Enter Device ID: %=%
REM for /f "tokens=1,2,3,4 delims==" %%a in (devid.ini) do (
REM if %%b==%DEVID% set dd=%%c
REM )
REM echo VendorID: %VD%
echo Vendor: %VS%
REM echo Device ID: [%DEVID%]
REM echo Description: [%DD%]
pause
set VS=Unknown
goto :vidmenu