Cделать открытие ярлыка на рабочую группу в панели TCMD
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
Cделать открытие ярлыка на рабочую группу в панели TCMD
Помогите пожалуйста с хитрой задачей.... сразу скажу что команды типа cd мне не помогут. Дело вот в чем: в windows 7 скопировал ярлык из windows xp на рабочую группу. Если открываем этот ярлык в explorer, то компьютеры в рабочей группе видны с описанием в скобках. Если просто заходим в рабочую группу через windows explorer, то windows 7 не показывает описания и включить их нельзя. Нужно чтобы список компьютеров группы открывался в панели TCMD как будто я запускаю ярлык из самого TCMD в левой или правой панели, т.е. чтобы команда TCMD работала с ярлыком а не с путем к месту в сети.
Кроме NetworkAlt и скрипта в голову ничего не приходит, и вопрос о рабочей группе уже задавался, проблема вряд ли как-то иначе может решаться. Сомневаюсь, что кто-то здесь возмётся спецом под Ваш ярлык скрипт писать, проще по новой всё ввести ручками.
Flasher, извините за неосведомленность в подобных вопросах, но где и что нужно "ручками" ввести? я никогда не работал со скриптами и не догадаюсь сам что к чему ( я так понимаю, нужно сделать какой-то script.vbs , в котором будет команда для запуска моего shortcut.lnk. после нужно поместить ярлык на script.vbs на понель инструментов или назначить на сочетание клавиш. Смысл в том что скрипт должен описывать запуск ярлыка именно средствами тотала, а не проводника windows. Помогите пожалуйста найти хотя бы похожее решение чтобы переделать под свою задачу.
mar1boro
Я говорю о том, чтобы заново воссоздать список для этой рабочей группы, взяв информацию из ярлыка. Ну а запустить lnk и так можно в ТС, только я так понимаю, необходимость возникла запускать список внутри ТС с учётом спрятанной информации в ярлыке. Тут, ИМХО, никакой скрипт не поможет. Да и наверняка нужно видеть содержимое самого ярлыка, чтобы понять с чем иметь дело. А ту ссылку я дал на несколько устаревший скрипт для обычного запуска папки WorkGroup в Сетевом окружении, имитирующий нажатия клавиш для быстрого входа в первую рабочую группу в уже готовом списке, ничего интересного там для данного случая нет. Функционал ТС в работе с сетями достаточно ограничен, поэтому кроме названного плагина и LanSeeker ничего предложить по существу не могу, разве что сторонние утилиты.
Я говорю о том, чтобы заново воссоздать список для этой рабочей группы, взяв информацию из ярлыка. Ну а запустить lnk и так можно в ТС, только я так понимаю, необходимость возникла запускать список внутри ТС с учётом спрятанной информации в ярлыке. Тут, ИМХО, никакой скрипт не поможет. Да и наверняка нужно видеть содержимое самого ярлыка, чтобы понять с чем иметь дело. А ту ссылку я дал на несколько устаревший скрипт для обычного запуска папки WorkGroup в Сетевом окружении, имитирующий нажатия клавиш для быстрого входа в первую рабочую группу в уже готовом списке, ничего интересного там для данного случая нет. Функционал ТС в работе с сетями достаточно ограничен, поэтому кроме названного плагина и LanSeeker ничего предложить по существу не могу, разве что сторонние утилиты.
Flasher, вот мне хоть бы так подошло как в вышеназванном скрипте под workgroup: там же имитируется переход по папкам средствами TCMD. Так мне бы точно также сделать имитацию открытия папки D:\folder и запуска shortcut.lnk - т.е. что-то типа макроса чтобы активировалась панель, выполнился переход в папку и запустился ярлык в этой папке.
Я не пойму, нужно просто из ТС открыть ярлык, который активирует Explorer, или нужно, чтобы в панели ТС открылся список из этого ярлыка? Второе, сразу говорю, не получится, поэтому и пишу про воссоздание списка самостоятельно заново, тогда можно будет посматривать его в сетевом окружении (Вся сеть), для автоматического входа в который, если надо, использовать скрипт.
Flasher, есть правильный ярлык, который нормально показывает все как нужно, если поставить на него курсор в одной из панелей TCMD и нажать ввод. Задача: сделать запуск этого ярлыка на кнопку панели инструментов и назначить сочетание клавиш.
Если просто перетягиваю ярлык на панель инструментов, то ярлык запускается в проводнике windows (список открывается там), поэтому нужно именно эмулировать запуск из панели TCMD.
Если просто перетягиваю ярлык на панель инструментов, то ярлык запускается в проводнике windows (список открывается там), поэтому нужно именно эмулировать запуск из панели TCMD.
почему? как я выше написал, ярлык при запуске из оболочки TCMD работатет как нужно - показывает список в нужном мне виде, с описаниями и в панели tcmd.Flasher писал(а):Второе, сразу говорю, не получится
А, ну тогда так: RunWorkGroup.vbs >
- 'Открыть рабочую группу
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendCommand "cm_FocusCmdLine"
TCS.SendKeystroke "cd " & путь_к_ярлыку.lnk
TCS.Pause = 200
TCS.SendKeystroke "{ENTER 2}"
Set TCS = Nothing
Wscript.Quit
Последний раз редактировалось Flasher Пт июн 25, 2010 11:37, всего редактировалось 1 раз.
Flasher, все получилось, еще раз спасибо. Даже TCWSHelp.exe установил 
Единственное, что скрипт останавливался на том, что курсор переходил на нужный ярлык, но запуск не происходил. После того как сделал строчку в скрипте 2 раза подряд, все стало работать как нужно. Почему так?
Паузу убрал, работает без нее.
и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Единственное, что скрипт останавливался на том, что курсор переходил на нужный ярлык, но запуск не происходил. После того как сделал строчку в скрипте
Код: Выделить всё
TCS.SendKeystroke "{ENTER}" Паузу убрал, работает без нее.
и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Всё верно, забыл двойку поставить, добавил в скрипте. Сначала происходит ввод из комстроки, потом ввод из панели самого ярлыка. Кстати, путь к ярлыку должен быть в латинице.mar1boro писал(а):2 раза подряд, все стало работать как нужно. Почему так?
Какое окошко? Не понял. Откуда ему взяться?mar1boro писал(а):и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Последний раз редактировалось Flasher Пт июн 25, 2010 12:26, всего редактировалось 1 раз.
когда на кнопку нажимаю чтобы скрипт выполнить, на мгновение белым мигает в правом нижнем углу область примерно в полэкрана шириной и в треть высотой. я думал это TCWSHelp так отрабатывает. Не должно быть такого?Какое окошко? Не понял. Откуда ему взяться?
и еще что заметил: если текущая раскладка клавиатуры русская, то скрипт выполняется с ошибками. Может как-то в скрипте добавить строки принудительной смены раскладки на английскую?
Должно. Это сглаживается восприятие командой TCS.LockTC True, можно убрать её, и тогда весь процесс работы скрипта будет виден.mar1boro писал(а):Не должно быть такого?
Я же написал >>mar1boro писал(а):и еще что заметил: если текущая раскладка клавиатуры русская, то скрипт выполняется с ошибками.
Ярлык-то один, запихнуть его в такую папку разве проблема? SendKeystroke имитирует нажатия, раскладку он переключать не умеет. Да и сомневаюсь, что есть скрипт для этого, тут нужна программа с собственными словарями, которая имеет свой инструмент автозамены текста/раскладки, известные мне программы с такой задачей не справятся, если учитывать то, что они не всегда воспринимают слеш как разделитель и своеобразные названия папок в пути.Flasher писал(а):Кстати, путь к ярлыку должен быть в латинице.
Если настроить в региональных стандартах переключение на английский язык на Ctrl+Shift+1, то строка смены раскладки на английскую будет такой:mar1boro писал(а):Может как-то в скрипте добавить строки принудительной смены раскладки на английскую?
Код: Выделить всё
TCS.SendKeystroke "^+1"Flasher, так в том-то и дело: все на латинице. Вот моя строчка:
может punto как-то мешает? тут дело скорее всего не в пути, а в том , что стороку скрипт набирает в текущей раскладке. И если она русская то скрипт наберет вместо "
а punto не может быть замешан?
Код: Выделить всё
TCS.SendKeystroke "cd " & "d:\Documents\hard.lnk"Код: Выделить всё
cd " & "d:\Documents\hard.lnk"Код: Выделить всё
Эсв Э ? ЭвЖ\Вщсгьутеы\рфквюдтлЭ