2016-04-24 8 views
0

Что мне нужно совсем обычный, который выглядит следующим образом:Создание Ярлык Windows (запускается ускоряться клавиши) начинаются от текущего активного каталога

На ОС Windows (в моем случае, win7), мы можем создать ярлык для определенной программы (например, *.exe, *.bat ...), а затем щелкните правой кнопкой мыши, чтобы связать комбинацию клавиш ускорения для этого ярлыка.

Так что я создал .bat файл для запуска моего python.exe в CMD режима, а затем создал shortcut для этого .bat и добавил Ctrl + альт + Num 9 для него, чтобы начать питон более удобно.

До сих пор это работает, но он всегда начинается с питона директории по умолчанию:

C:\windows\system32.

Желательно, чтобы он мог начаться точно из каталога текущей активной папки (например, если я в D:\certain_python_modules\module_1 и введите эти клавиши-подсказки, мне нужно, чтобы в python os.getcwd() печатал точно такой же каталог), что должно Я делаю?

ответ

0

Не совсем понятно, что вы делаете и чего хотите.

  1. В настоящее время нет активной глобальной папки, каждый процесс имеет свою текущую папку (она называется текущим каталогом). Он может быть программно указан при запуске процесса и его можно изменить после его запуска, но по умолчанию он наследуется вызывающим процессом.
  2. В частности, каждая командная строка имеет свою собственную папку текущей
  3. При нажатии вашего Ctrl +альта + Num 9 последовательности детектируются оболочками, а оболочка выполняет ярлык (a.ka как ссылка), которая связана с ним. Программа, с которой вы в настоящее время работали, полностью игнорируется. Текущий каталог процесса запущенного устанавливается либо:
    • «От» поле в окне свойств ярлыка, если он установлен
    • местоположение файла ярлыка, иначе

Когда вы говорите Я в D: \ certain_python_modules \ module_1, вы имеете в виду в командной строке или в окне проводника/файла?

В любом случае, вы не можете делать то, что хотите, с любой стандартной функцией Windows, возможно, вы можете сделать это с некоторой работой (может быть, даже не так много, я не знаю) с чем-то вроде AutoHotKey или с программой вашего своя.


Если вы работаете в командной строке, хотя вы можете сделать вещь аналог, что вы пытаетесь с помощью команды, а не комбинацию клавиш: либо:

  • типа полный путь программы
  • или добавьте каталог команд в переменную среды PATH и введите его имя:
  • или, если имя программы длинное и вы хотите ввести меньше, создайте командный файл, который просто вызывает вашу программу, введите короткое имя (например, py.bat) и добавьте каталог пакета для вашей переменной PATH.

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

+0

спасибо, если быть коротким, я хочу запустить python в режиме cmd из определенного каталога по ярлыку (я знаю, что мы можем запустить cmd с определенного пути в проводнике папок с помощью alt + shift + f + w, а затем ввести запуск python). Так что, если бы я мог достичь этого с помощью alt + shift + p или что-то, что бы просто сэкономило мне немного времени xD. – ROROROOROROR

+1

Вы на самом деле не объясняете себя, но я думаю, что понял, и ответ - это то, что я написал выше: * вы не можете делать то, что хотите, с любой стандартной функцией Windows, возможно, вы можете сделать это с некоторой работой (может быть, даже не так много, Я не знаю) с чем-то вроде AutoHotKey или вашей собственной программы *. – gbr

0

можно использовать os.getcwd метод() в операционной системе модуля питона, а затем использовать os.system() дать системную команду, чтобы изменить свой каталог это вид косвенного подхода, хотя. Надеюсь, это поможет

+0

Я думаю, что я не очень хорошо объяснил свою проблему. Мне нужно, когда я ввожу сочетания клавиш для запуска python из определенного каталога, мне нужно, чтобы текущий каталог python был тем же (метод getcwd()), а не по умолчанию в каталоге ярлыка. Это упростит тестирование модуля python, а это значит, что мне не нужно запускать cmd из определенного каталога, а затем вводить python для входа в режим cmd в режиме python. – ROROROOROROR