Запустіть ярлик за допомогою пакетного файлу


12

Ось проблема.

У мене є ярлик приблизно на 260 комп'ютерах, розташованих у тій же папці, що і нижче;

"c: \ документи та налаштування \ всі користувачі \ настільний \ віддалений агент 1234 .lnk"

Єдине, що змінюється на ярлику, - це число. Чи є спосіб використання підстановки у пакетному файлі для запуску ярлика замість того, щоб вказувати повне ім'я файлу?

Відповіді:


6

Ви можете використовувати або для або Forfiles для виконання цього завдання. Forfiles є більш гнучким, але він може не працювати належним чином у старих версіях Windows.

Для

З командного рядка:

for %a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%a"

У пакетному файлі:

for %%a in ("C:\Documents and Settings\All Users\Desktop\Remote agent *.lnk") do @start "" "%%a"

Форфи

forfiles /P "C:\Documents and Settings\All Users\Desktop" /M "Remote agent *.lnk" /C "cmd /C start \"\" @path"

Forfiles проходить через усі файли на шляху, зазначеному в /Pтому, що відповідає масці, зазначеній у, /Mі виконує команду, вказану в /C. Ось @pathповний шлях до файлу.

Зазвичай ми використовуємо команду start "" "Remote Agent 1234.lnk"для запуску ярлика. Оскільки start - це внутрішня команда, ми повинні викликати її в новій оболонці ( cmd /C). \"\"просто уникли подвійних лапок, оскільки весь рядок уже цитується.


forfiles / P "C: \ Документи та налаштування \ Усі користувачі \ Настільний" / M "Віддалений агент * .lnk" / C "cmd / C start \" \ "@path" перераховує файли в папці, але не відкриває ярлик.
ghost3h

Це дивно. Ехо-назви файлів - це дію за замовчуванням, але /Cперемикач перекриває це. Яка версія Windows?
Денніс

Xp Professional, в ньому перераховані всі розширення файлів, а також я вважаю, що це не нормально?
ghost3h

Не схожий на підтримуваний Денніс, знову ж таки, це просто перегуки з файлами в каталозі, з якого він працює. Дякую за допомогу поки що!
ghost3h

Щойно я знайшов джерело, яке говорить про те, що деякі старіші версії forfiles використовують -для комутаторів замість /(дуже нетипово для Windows). Можливо, це спрацює:forfiles -P"C:\Documents and Settings\All Users\Desktop" -M"Remote agent *.lnk" -C"cmd /C start \"\" @path"
Денніс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.