#batch-file #tcl
#пакетный файл #tcl
Вопрос:
Я использую devcon.exe чтобы включить / отключить USB-устройства.У меня есть PID и VID с USB-устройства, и я хочу использовать команду exec с командным файлом, чтобы отключить это устройство.
Сценарий TCL:
set str [exec "VID_$VIDamp;PID_$PID"]
пакетный файл:
devcon.exe disable %1
и я получаю сообщение об ошибке, потому что аргумент, который я передаю cmd, является только первой частью моей строки: VID_ $VID. некоторые из способов amp; не позволяют мне передавать полный аргумент. есть ли у вас какие-либо идеи о том, как передать полный аргумент с помощью ‘amp;’ в cmd?
Комментарии:
1. ну, вам нужно экранировать любые
amp;
символы, предварительно ожидая их^
символом.2. с помощью чего я включал / отключал USB-устройства devcon.exe заключается в создании строки в TCL без использования «/» или «amp;».просто » «.поэтому я использовал: set str «USB VID_ $ VID * PID_ $ PID» и передал его devcon с помощью: set output [exec C:/disable.bat»$ str»] и это сработало!!
3. отлично! я рад, что вы это поняли.