下面的代码检查python版本并调用另一个python脚本来执行。我希望将以下bat文件的所有日志记录到另一个日志文件中,包括python脚本的输出。在做一些测试时,我能够将日志放入文件中,但输出仍然打印命令print window。我认为它会重定向输出。
setlocal
SET "parent=%~dp0"
set LOGFILE=%parent%\run.log
call :LOG > %LOGFILE% 2>&1
:LOG
set "$py=0"
set "$ms=0"
call:construct
for /f "delims=" %%a in ('python dele.py ^| findstr "2"') do set "$py=2"
for /f "delims=" %%a in ('python dele.py ^| findstr "3"') do set "$py=3"
del %parent%\dele.py
if %%py%% == 0 echo "python is not installed" & goto :EOF
echo running with python %py%
for /f "delims=" %%V in ('pip -V') do @set ver=%%V
echo %ver%
pip install --user -r %parent%\requirements.txt
[output on command prompt][1]
echo connectivity script is running...
python %parent%\ConnChk.py
echo connectivity check is completed
goto :EOF
:construct
echo import sys; print('{0[0]}.{0[1]}'.format(sys.version_info^)^)>dele.py
我不想在cmd上打印任何东西。有什么办法吗?任何帮助都是最好的!
发布于 2021-08-25 09:36:26
我把它修好了。
@echo off
REM setlocal enabledelayedexpansion
(
content...
) > "%~dpn0.txt"
用左方括号将代码括起来,这样它就可以工作了!
https://stackoverflow.com/questions/68918574
复制相似问题