将Python日期写入bat文件变量
关于如何使用批处理文件语法获取日期,有很多半途而废的示例,但它们通常过于冗长或难以理解。因为我可以保证机器将运行Python,所以我希望利用Python以用户友好的格式获取日期,并将输出写入bat文件变量 这是我的尝试:将Python日期写入bat文件变量,python,batch-file,Python,Batch File,关于如何使用批处理文件语法获取日期,有很多半途而废的示例,但它们通常过于冗长或难以理解。因为我可以保证机器将运行Python,所以我希望利用Python以用户友好的格式获取日期,并将输出写入bat文件变量 这是我的尝试: FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "import datetime datetime.datetime.now().replace(microsecond=0).isoformat()"`) DO ( SET var=%
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "import datetime
datetime.datetime.now().replace(microsecond=0).isoformat()"`) DO (
SET var=%%F
)
ECHO %var%
不幸的是,这不起作用。我得到这个错误:
.replace(微秒)此时意外
我不确定是否丢失了某种格式,但有关此错误的搜索没有提供任何启发。非常感谢您的帮助。尝试此方法(尽管您尚未指定python版本):
您需要打印功能(否则批处理文件将不会处理任何输出)
对于更复杂的代码,我建议您使用“chimera”技术,该技术允许您将python和批处理代码放在一个文件中,并添加新行,等等:
0<0# : ^
'''
@echo off
for /f "tokens=* delims=" %%a in ('python "%~f0" %*') do (
set "var=%%a"
)
echo %var%
exit /b 0
:::: PYTHON CODE GOES HERE :::::
'''
import datetime;
print datetime.datetime.now().replace(microsecond=0).isoformat();
0@HFBrowning似乎与我无关。可能是您遗漏了一个;
(用于分隔Python语句)?:import datetime;datetime.datetime.now().replace(微秒=0)。isoformat()
导入后的分号
0<0# : ^
'''
@echo off
for /f "tokens=* delims=" %%a in ('python "%~f0" %*') do (
set "var=%%a"
)
echo %var%
exit /b 0
:::: PYTHON CODE GOES HERE :::::
'''
import datetime;
print datetime.datetime.now().replace(microsecond=0).isoformat();