Как сделать такой батник, который запустит фаил путь к которому указан в реестре.
Как сделать такой батник, который запустит фаил путь к которому указан в реестре. Раздел HKLM\software\star4net имя ключа "1"
дело в том что в этом ключе написан путь к exe файлу. который этот батник должен запустить
Можно .VBS
|
Код:
@echo off
chcp 1251
for /f "skip=4 tokens=2*" %%i in (
'reg query HKLM\software\star4net /v 1'
) do start "" "%%~j"
|
Sphinx114 - Пишет не предвиденное появление %%i
|
DoroViska, при ручном вводе команды for в ком строке используется один знак процента %i, в батниках знак процента удваивается %%i.
|
Sphinx114, блин вот токо я запускаю этот батник и не чё не происходит! а вот если ввести команду reg query HKLM\software\star4net /v 1 то .bat будет писать 1 reg_sz "D:\GAMES\StarCraft II\StarCraft II.exe"
Может в этом пути чтото не так! Просто твой батник запускаеться и не чё не происходит!
|
Sphinx114, не факт, что "skip=4": для другой версиии "reg.exe" может быть по-другому.
DoroViska, попробуйте последовательно уменьшать значение "skip": "3", "2", "1".
|
Georgio, Sphinx114, Спасибо огромное" Всё работает! а если на других windows 7 это будет работать?
|
Georgio, Я вообще убрал этот skip, И всё прекрасно работает. А что делает оператор skip?
|
Цитата:
Цитата DoroViska
на других windows 7 это будет работать? »
|
Не могу утверждать, что в комплектацию всего "семейства" Windows 7 входит одинаковая версия " reg.exe", но вероятность большая.
Цитата:
Цитата DoroViska
А что делает оператор skip? »
|
" skip" - это ключ, указывающий число пропускаемых при обработке в цикле начальных строк.
Moжно попробовать универсально:
Код:
@echo off
chcp 1251>nul
for /f "tokens=2* delims= " %%i in ('
reg query HKLM\software\star4net /v 1^| findstr /i \.exe
') do (
start "" "%%~j"
)
|
Это тоже работает! Но в чём разница мне немного не понятна
|
При использовании ключа "skip" не обрабатываются начальные строки в выводе команды "reg query". Как Вам уже понятно, сам вывод в разных версиях "reg.exe" может быть разным. Поэтому после пропуска определённого количества строк не всегда в разбор циклом попадает то, что нужно. Если в начале вывода присутствуют только пустые строки, то можно не использовать ключ "skip", т. к. они автоматически пропускаются в разборе, что у Вас, возможно, и произошло, когда Вы убрали ключ "skip".
А команда "findstr /i \.exe" ищет в выводе конкретную строку, в которой упоминается ".exe", и именно эта строка обрабатывается циклом.
|
Время: 20:15.
© OSzone.net 2001-