【问题标题】:Making windows shortcut(started by accelerate keys) start from currently active directory使Windows快捷方式(由加速键启动)从当前活动目录开始
【发布时间】:2023-03-31 03:32:01
【问题描述】:

我需要的东西很平常,是这样的:

在windows操作系统(在我的情况下,win7)上,我们可以为某个程序创建一个快捷方式(例如*.exe, *.bat ...),然后使用右键单击为这个快捷方式绑定一个加速键组合。

所以我创建了一个.bat 文件以在cmd 模式下启动我的python.exe,然后为此.bat 创建了一个shortcut 并添加了 ctrl + alt + Num 9 为了方便启动python。

到目前为止,这是可行的,但它总是使用默认目录启动 python:

C:\windows\system32

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

【问题讨论】:

    标签: windows shortcut keyboard-shortcuts


    【解决方案1】:

    不清楚你在做什么和想做什么。

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

    当您说我在 D:\certain_python_modules\module_1 时,您是指在命令提示符中还是在资源管理器/文件资源管理器窗口中?

    无论哪种方式,您都无法使用任何标准的 Windows 功能来做您想做的事情,您可以通过 AutoHotKey 之类的东西或您自己的程序做一些工作(甚至可能不多,我不知道) .


    如果您在命令提示符下工作,尽管您可以通过使用命令而不是键盘快捷键来做类似于您正在尝试的事情:或者:

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

    无论您使用这些方法中的哪一种来调用它,被调用程序(在您的情况下为 python)都会将其当前目录设置为您调用它的目录。

    【讨论】:

    • 谢谢,简而言之,我想要的是通过快捷方式从特定目录以 cmd 模式启动 python(我知道我们可以通过 alt + shift + 从文件夹资源管理器中的特定路径启动 cmd f + w,然后键入 python 开始)。因此,如果我可以通过 alt + shift + p 或其他任何方式来实现这一点,那只会为我节省一点时间 xD。
    • 您并没有真正解释自己,但我认为理解并且答案就是我上面写的:您无法使用任何标准 Windows 功能做您想做的事,您可能可以做到使用 AutoHotKey 之类的东西或您自己的程序进行一些工作(可能甚至不多,我不知道) .
    【解决方案2】:

    你可以在 python 的 os 模块中使用 os.getcwd() 方法,然后使用 os.system() 给系统命令来改变你的目录 这是一种间接的方法。 希望对你有帮助

    【讨论】:

    • 我想我没有很好地解释我的问题。我需要的是当我输入从某个目录启动python的快捷键时,我需要python的当前目录相同(getcwd()方法)而不是快捷方式的默认目录。这将使测试python模块更容易,这意味着我不需要从某个目录启动cmd然后输入python进入python cmd模式。
    猜你喜欢
    • 2015-05-09
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多