Я пытаюсь добавить запись в контекстное меню фона папки Windows. Следующее значение "command" работает:
"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe"
Он успешно выполняет MakeManifest (небольшой инструмент разработки, над которым я работаю для своего настоящего проекта по программированию).
Однако я хотел бы сделать следующее:
"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" -root="%1"
Но это не работает. И это тоже не работает:
"P:\Projects\GuardianBlade\OfStrangerFlames\Development\Project\Bin\MakeManifest.exe" "-root=%1"
Моя цель — запустить программу MakeManifest.exe и получитьодинаргумент командной строки в формате:
-root="the/directory/right-clicked/in/"
Я хочу, чтобы кавычки вокруг пути к каталогу, передаваемые в MakeManifest, были сохранены, и я хочу, чтобы все это было (-root="каталог/по которому/щелкнули/правой/мышью/") быть одним аргументом.
Если это невозможно, я бы согласился на-кореньпередано как один аргумент, и/каталог/путь(без кавычек, но как один аргумент) передано как второй аргумент. Я не могу заставить работать ни один из них.
Все мои попытки приводят к следующему сообщению об ошибке:
"Этот файл не имеет программы, связанной с ним для выполнения этого действия. Установите программу или, если она уже установлена, создайте ассоциацию в панели управления программами по умолчанию."
...как будто он пытается определить, какая программа должна выполнить всю команду как путь к файлу.
Опять же, установка команды без аргументов работает нормально.
Как мне это сделать?
решение1
Используйте %V
вместо %1
.
Дополнительную информацию о переменных команд оболочки, таких как %V и %1, см.этот вопрос.