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

Здесь проблема.

У меня есть ярлык примерно на 260 компьютерах, расположенных в той же папке, что и ниже;

"c: \ Documents and Settings \ все пользователи \ рабочий стол \ Удаленный агент 1234.lnk"

Единственное, что меняется на ярлыке - это номер. Есть ли способ использовать подстановочный знак в командном файле для запуска ярлыка вместо указания полного имени файла?

2 ответа

Решение

Вы можете использовать для или для файлов для этой задачи. 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

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). \"\" просто экранированные двойные кавычки, так как вся строка уже заключена в кавычки.

Согласно HELP START программа/команда НЕ должна иметь двойные кавычки. т.е. только *для %%a в ("C:\Documents and Settings\All Users\Desktop\Remote Agent .lnk ") do @start /D"%%~dpa" %%~nxa работает правильно!

Другие вопросы по тегам