是否可以通过 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 批处理文件。

更新

我最终一起破解了一个批处理文件来做到这一点;(
谢谢大家。

最佳答案

我有一个 Python 脚本可以更轻松地在文件树中移动:xdir.py

简而言之,我有一个 xdir.py 文件,它将 Windows 命令写入标准输出:

# Obviously, this should be more interesting..
import sys
print "cd", sys.argv[1]

然后是一个 xdir.cmd 文件:
@echo off
python xdir.py %* >%TEMP%\__xdir.cmd
call %TEMP%\__xdir.cmd

然后我创建了一个 doskey 别名:
doskey x=xdir.cmd $*

最终结果是我可以输入
$ x subdir

并更改为子目录。

我上面链接的脚本做的更多,包括记住历史、维护目录堆栈、接受目录的速记等等。

关于python - 通过 Python 脚本更改提示工作目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/645864/

10-09 18:10
查看更多