Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Python日期写入bat文件变量_Python_Batch File - Fatal编程技术网

将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=%

关于如何使用批处理文件语法获取日期,有很多半途而废的示例,但它们通常过于冗长或难以理解。因为我可以保证机器将运行Python,所以我希望利用Python以用户友好的格式获取日期,并将输出写入bat文件变量

这是我的尝试:

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();