如何编写打开命令行并自动执行该命令行中的命令的批处理文件?

问题描述 投票:0回答:1

我最近一直在尝试自动化我用来更新我管理的两个静态 GitHub 网站的站点地图的过程。该进程是一个 Python 程序,它进入

sitemap.xml
文件并在需要时更新其中的一部分。

为了使这个过程自动化,我决定编写一个可以运行站点地图更新程序的批处理脚本。但是,我想在 Anaconda Prompt 上运行批处理脚本,因为

sqlite3
插件尚未在其他命令行上激活;它只适用于 Anaconda Prompt。因此,我决定采用打开 Anaconda Prompt 命令行并一条一条运行命令的方法。

首先,我有一个文本文件,其中包含如下命令行代码:

@echo off
pushd Desktop
py updateSitemap.py

这是我尝试运行的实际批处理脚本:

@echo off
"Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk" < "sitemapUpdateCommands.txt"

根据语法,这应该将文本文件中的所有信息都放入命令行,但这没有用。

我有什么困惑吗?任何帮助都将不胜感激。

python batch-file command-line anaconda txt
1个回答
0
投票

anaconda 提示只是调用

cmd.exe
并在其中激活 anaconda 脚本,您可以在脚本中执行此操作,如果
Anaconda3
安装在
C:\ProgramData\
(默认)中,脚本将如下所示。

@echo off
call C:\ProgramData\Anaconda3\Scripts\activate.bat
python -c "import sys; print(sys.executable)"

或针对您的情况

@echo off
call C:\ProgramData\Anaconda3\Scripts\activate.bat
call yourscript.bat

其中

yourscript.bat
是您尝试让 anaconda 在其命令提示符中执行的
.bat
脚本。 (它调用你的 python 脚本)。


要激活某个环境,请将其放在激活命令的末尾,如下所示。

@echo off
call C:\ProgramData\Anaconda3\Scripts\activate.bat myenv
call yourscript.bat
© www.soinside.com 2019 - 2024. All rights reserved.