Целевой параметр ярлыка Windows, начинающийся с @

У меня есть приложение для Windows, которое нужно вызвать с помощью ярлыка на рабочем столе и некоторых параметров командной строки.

Я делал это тысячи раз, но этот немного другой. Вместо использования обычного параметра командной строки, такого как -e 12345 или же -example 12345этот использует @12345 (начиная с @ условное обозначение).

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

Например:

c:\example\example.exe @12345 -e9876 в качестве "цели" при сохранении удаляет все параметры и оставляет только c:\example\example.exe как цель.

Но c:\example\example.exe -e9876 @12345 работает просто отлично. Это сохраняет и проверяет, и все хорошо.

Однако мне нужно @ параметр, который будет первым в команде. Помимо выполнения команды, например, оборачивания команды в пакетный файл и вызова пакета, как я могу получить @ символ будет первым параметром командной строки в ярлыке Windows?

1 ответ

Кто знал? ... винда видимо лечит @ символ как разделитель. Команды Windows будут интерпретировать только первый элемент команды... поэтому он эффективно усекает остальные. По-видимому, вы можете переопределить поведение, предоставив ^ перед тем, чтобы избежать символа.

т.е.

c:\example\example.exe ^@12345 -e9876

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