是否可以通过 Python 脚本更改 Windows 命令提示符工作目录?
例如
>> cd
>> c:\windows\system32
>> make_decision_change_dir.py
>> cd
>> c:\windows
我已经尝试了一些不起作用的东西:
import os
os.chdir(path)
import os, subprocess
subprocess.Popen("chdir /D \"%s\"" %path, shell=True)
import os, subprocess
subprocess.Popen("cd \"%s\"" %path, shell=True)
import os, subprocess
subprocess.Popen("CD=\"%s\"" %path, shell=True)
据我了解并观察到这些操作会更改当前进程的工作目录 - 这是 Python 进程而不是其执行的提示。
谢谢。
更新
我想更改的路径是动态的(基于我正在处理的项目,构建位置的完整路径会更改)因此我想用 Python 编写解决方案而不是使用 Windows 批处理文件.
更新
我最终一起破解了一个批处理文件来做到这一点;( 谢谢大家。
最佳答案
我不清楚你想在这里做什么。您想要一个可以从 Windows 命令提示符运行的 python 脚本,它将更改 Windows 命令 session 的工作目录吗?
如果是这样,我 99.9% 确定那是不可能的。正如您自己所说,python.exe
进程是一个独立于 Windows cmd.exe
的进程,您在 Python 中执行的任何操作都不会影响命令提示符。
您可以通过 Windows API 通过向 Windows 发送击键或其他东西来做一些事情,但它会非常脆弱。
我能想到的仅有的两个实用选项涉及将 Python 脚本包装在批处理文件中:
- 从 Python 脚本中输出您想要的目录,读取批处理文件中的输出并将其放入 CD。
- 从批处理文件启动您的 Python 脚本,让您的 Python 脚本启动一个新的
cmd.exe
窗口并获取批处理文件以关闭原始命令窗口。
关于python - 通过 Python 脚本更改提示工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/645864/