1>问题来由:因为之前 vim 环境配置没有配好,所以才有了这个想法:通过脚本连续执行 cmd 命令。
2>问题描述:(附上代码)
import os
def command_line():
#os.system('cmd')
cmd_path = [r"E:\tools\vim80-586w32\vim\vim80\vim.exe "]#列出源文件地址
cmd_command = "cmd cd {0}".format(cmd_path)
os.system(cmd_command)#通过 os 的命令来调用 cmd 的命令
#cmd = 'cmd cd {}'.format(source)
command_line()
#完成命令后的反馈
print('Successful the vim!')
3>在 bing 了一通无果之后,就思考,windows 下是否可以通过脚本连续执行 cmd 命令?另外有的话,可否告知其他方法?谢谢各位大 v 指点!!!
1
likuku 2018-01-22 11:35:42 +08:00
subprocess 模块 有带 session 支持的 交互式 执行系统内程序的功能
os.system() 太旧了 |
2
Akkuman 2018-01-22 12:07:31 +08:00 via Android
python popen 关键词你找找,应该有的
|
3
meowoo 2018-01-22 12:23:17 +08:00 via iPhone
cd 到了 exeexe 文件上?
|
4
Kisesy 2018-01-22 12:46:21 +08:00
你这代码错误太多了,首先你直接 cd 到 exe 上去了,还有如果调用 cmd 命令, 需要后面加 \C 参数
比如 cmd /C dir c:\windows,还有 os.system 本身可以代表 cmd,也就是说你执行的代码前面不需要加 cmd,还有如果切换目录,可以直接用 python 本身的命令,然后再执行就行。。 |
5
hcymk2 2018-01-22 12:49:06 +08:00
先写个 bat 啊。
|
6
epicnoob 2018-01-22 12:53:02 +08:00
os.system("cd E:\\tools\\vim80-586w32\\vim\\vim80 && start vim")
|
7
geelaw 2018-01-22 13:38:20 +08:00
第一个问题是:为什么不直接调用 vim 就好了?
第二个问题是 Windows 的每个盘符具有自己的 working directory,因此只是 cd 不会改变有效的 working directory (因为当前盘符或许不是 E:),一个安全的做法是使用 pushd E:\Path\To\Dir & start .\vim.exe & popd。 最后,如果你的全部目的是执行一些命令提示符处理的程序,可以换用 batch ——提示:batch 文件必须使用 CR LF。 |
8
UnknownR 2018-01-22 15:49:00 +08:00
cmd 的 cd 需要加参数,cd /d path, 执行命令或者外部程序需要加 /c, 简单点就写个 bat,调用 cmd 还是 powershell 随便你
|