2016-05-10 2 views
2

[Передано в режим суперпользователя два дня назад, но никто не мог ответить на него, так перепроведении здесь.]Python скрипт не будет работать из контекстного меню

Работая на основе this postthis follow-up post), Я пытался добавить питон скрипт (который я добавил в пути и так далее, так что я могу запустить его из командной строки везде в системе) в контекстном меню, например:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Directory\Background\shell\get_abs] 
@="&Get Abstracts" 
"Icon"="%SystemRoot%\\System32\\shell32.dll,71" 

[HKEY_CLASSES_ROOT\Directory\Background\shell\get_abs\command] 
@="C:\\cmdtools\\get_abs.py" 

Однако, Я получаю странное сообщение об ошибке, когда пытаюсь запустить его.

enter image description here

Чтобы было ясно, я успешно запустить этот сценарий из командной строки (с помощью PowerShell, в случае, если это имеет значение) в папке, в которой я пытаюсь запустить из контекстного меню.

+0

Я считаю, что клавиша 'command' должна указывать на фактический исполняемый файл, например. '.exe'. Попробуйте его с помощью пути к вашему интерпретатору Python, за которым следует путь к скрипту. – kindall

+0

Вы с пробелом между ними, со сценарием, как аргумент? –

+0

Да, я так думаю. В любом случае, стоит попробовать. Вам также может понадобиться '% 1' для передаваемого файла (который будет идти в конце, с другим пробелом перед ним). – kindall

ответ

3

Сценарии Python не являются исполняемыми операционными системами Windows; это значит, что вы не указали файл .exe. Это легко, но вы просто указали python.exe. Следуйте этому пути с вашим сценарием, а затем %1 - это заполнитель для пути к кликному файлу. Чтобы ваша команда могла работать с путями с пробелами в них, окружите %1 кавычками. Собираем все вместе, получаем:

C:\path\to\python.exe C:\path\to\your\script.py "%1" 

BTW, удобная утилита для управления контекстным меню является Fast Explorer.

+0

Сам сценарий не принимает никаких аргументов (он работает со всеми файлами в папке, в которой он запускается), поэтому мне не нужен «% 1», но, спасибо за это. –

Смежные вопросы