首页 > 解决方案 > 如何在 Windows 批处理文件中指定打开 spyder、更改工作目录并运行脚本?

问题描述

我创建了一个 Windows 批处理文件来运行位于特定文件夹中的代码。但是,我正在运行批处理文件,但它不起作用。我想要它做的是:

  1. 更改 Spyder 中的工作目录(Spyder 已经打开,所以我不希望它先打开它)
  2. 运行我要执行的脚本

基本上,我正在运行的脚本正在绘制一堆图表,创建这些图表所需的所有文件都位于工作目录中。

@echo off
"C:\Users\Mason\Desktop\WinPython-64bit-2.7.6.4\spyder.exe"
chdir /D "F:\optimisation"
"F:\optimisation\plot.py"
pause

批处理文件运行良好,没有任何错误,但在 Spyder 中没有任何反应,例如它不会更改工作目录,也不会执行代码。

标签: batch-filespyder

解决方案


我建议

@echo off
setlocal
chdir /D "F:\optimisation"
"C:\Users\Mason\Desktop\WinPython-64bit-2.7.6.4\spyder.exe" "F:\optimisation\plot.py"
pause

也就是说,切换到所需的目录,设置本地环境(这会在批处理终止时恢复原始环境)。

然后运行spyder可执行文件,并为其提供文件名。使用此结构为可执行文件提供重要的文件名是正常的做法(例如notepad fred,txt

由于spyder运行时的当前目录是f:\optimisation,因此可能不需要在spyder的参数中指定整个路径。

请注意,这只是使用正常做法的推测。我没有经验spyder——事实上,这是我第一次听说它。


推荐阅读