Запустите ярлык, используя командный файл
Здесь проблема.
У меня есть ярлык примерно на 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 работает правильно!