Допустим, у меня есть программа myProgram.exe. Я создаю ярлык и отправляю его на рабочий стол.

Теперь я щелкаю правой кнопкой мыши по ярлыку и захожу в свойства. Я добавляю аргумент "-ldir% cd%" к цели.

Проблема в том, что% cd% никогда не оценивается, он входит в программу как "% cd%" буквально. Разве невозможно передать переменные в качестве аргументов?

1 ответ1

0

Похоже, я уже все делаю правильно. Если я перехожу в% windir%, он работает нормально.

Я предполагаю, что переменная CD никогда не устанавливается без помощи командной строки.

Я полагаю, что единственным решением для моей конкретной проблемы является использование пакетного файла вместо .lnk (ярлык).

РЕДАКТИРОВАТЬ: Решение

Я обнаружил, что вы можете просто запустить cmd.exe и передать туда exe и аргументы.

Если у пользователей есть пробелы (я ненавижу пробелы), вы должны заключить весь аргумент для cmd.exe в двойные кавычки, а также отдельные элементы, например, так

C:\Windows\System32\cmd.exe /c "" C:\Users\\ Путь к Exe\ myProgram.exe "-ldir"% cd% ""

См .: https://ss64.com/nt/cmd.html.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .