在批处理中,我需要读取一个用python编写的配置文件,其中包含我需要在批处理脚本中设置的多个变量!
例如:(变量take只是示例,值可以是整数,路径,...)
config.py
import time, os
VERSION= "20160801"
PATH = os.getcwd()
...
script.bat
SET VERSION= need to get VERSION variable from config.py
SET PATH = need to get PATH variable from config.py
我找到了这个解决方案:
%PYTHON_PATH% -c "import config;print config.VERSION" > output
set /p CURRENT_VERSION=<output
但它只对一个变量起作用,我需要设置大约30个变量,有一种方法可以更快地完成此操作而无需每次都导入config.py吗?
为什么我能这样做:
%PYTHON_PATH% -c "import config;print config.VERSION;print config.PATH" > version,path
set CURRENT_VERSION=version
set PATH=path
由于
答案 0 :(得分:1)
<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-pubsub</artifactId>
<version>0.8.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>assemble-all</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<强> BUT:强>
for /f "tokens=*" %%a in ('type config.py^|find "="') do set %%a
不会忽略空格,因此在您的示例中,它会创建一个名为set
的变量( 不好,因为%path %
是一个必要的系统变量。改变它会导致意想不到的行为。)
你真的应该告诉phyton写这些没有空格的行...(并注意不要使用对windows来说必不可少的变量名)