2016-04-24 55 views
0

我需要的是很平常的,这是这样的:使Windows快捷方式从当前活动目录启动(按加速键启动)

在Windows OS(在我的情况,Win7的),我们可以创建一个快捷方式对于某个程序(例如*.exe, *.bat ...),然后使用右键单击来为此快捷方式绑定加速键组合。

所以我创建了一个.bat文件开始我在CMD模式python.exe,然后为此蝙蝠创建shortcut,为了更开始蟒蛇添加CTRL + ALT +民它方便。

到目前为止,这工作,但它总是使用默认的目录蟒蛇:

C:\windows\system32。我希望它可以从当前活动文件夹的目录(例如,如果我在D:\certain_python_modules\module_1并输入这个键盘快捷方式,我需要在python中,os.getcwd()打印完全相同的目录)启动,应该怎么做我做?

回答

0

这是不是很清楚你在做什么,想做什么。

  1. 目前没有全局活动文件夹,每个进程都有其当前文件夹(称为当前目录)。它可以在启动进程时以编程方式指定,并且可以在其启动后进行更改,但默认情况下会由调用进程继承。
  2. 具体来说,每一个命令提示符下都有自己的当前文件夹
  3. 当您按下CTRL + ALT +民序列它是由外壳检测,shell将执行该快捷方式(a.ka 。作为链接)与它相关联。您目前正在使用的程序完全被忽略。启动的进程的当前目录设置为:
    • “发件人”字段中的快捷方式的属性表,如果它被设置
    • 快捷方式的文件的位置,否则

当你说我在d:\ certain_python_modules \ module_1,你在命令提示符下或在资源管理器/文件资源管理器窗口是什么意思?无论哪种方式,你不能做任何你想要的任何标准的Windows功能,你可以做一些工作(甚至可能不是很多,我不知道),像AutoHotKey或你的程序拥有。


如果在命令提示符下工作,虽然你可以做的事情模拟到您使用了一个命令,而不是键盘快捷方式尝试什么:要么:

  • 类型的完整路径
  • 或将命令的目录添加到PATH环境变量中,并键入其名称,
  • 或者,如果程序名称很长并且您想输入较少的值,则创建一个只调用您的程序的批处理文件,给它一个简短的名字(例如py.bat),然后添加批处理文件的目录到您的PATH变量。

不管你用什么方法调用它,被调用的程序(在你的情况下是python)都会将其当前目录设置为你调用它的目录。

+0

感谢,简而言之,我想要的是通过快捷方式从特定目录启动python cmd模式(我知道我们可以通过alt + shift + f + w从文件夹资源管理器中的特定路径启动cmd,然后键入python开始)。所以如果我能通过alt + shift + p或其他方法来实现这一点,那么只需要一点时间就可以节省xD。 – ROROROOROROR

+1

你并没有真正解释你自己,但我认为理解,答案就是我上面写的:*你不能用任何标准的Windows功能做你想做的事情,你可以做一些工作(也许不是很多,我不知道)像AutoHotKey或您自己的程序*。 – gbr

0

您可以在python的os模块中使用os.getcwd()方法,然后使用os.system() 给系统命令来更改您的目录 尽管如此,它仍然是一种间接方法。 希望它有帮助

+0

我想我没有很好地解释我的问题。我需要的是,当我从某个目录输入用于启动python的快捷键时,我需要python的当前目录(getcwd()方法)相同,而不是快捷方式的默认目录。这将使测试python模块变得更容易,这意味着我不需要从某个目录启动cmd,然后键入python进入python cmd模式。 – ROROROOROROR