我制作了这个包含
的简单.bat
批处理文件
@echo off
set log=mainLog.txt
cd /d F:/Project/Python
echo [%TIME%]starting main.py >%log%
python main.py >> %log%
命令提示符成功将main.py
输出重定向到日志文件,但未在提示屏幕上显示。所以我将其改为:
python main.py 2>> %log%
这将显示main.py
到提示屏幕的输出,但不会重定向到日志文件。我已经尝试过使用:
python main.py 2>> %log% 1>> %log%
但是这给了我:
进程无法访问该文件,因为它正被另一个文件使用 过程
我们假设我的main.py
包含:
for i in range(10):
print("this is line no. {}".format(i))
有什么想法可以做到吗?
答案 0 :(得分:1)
使用键入在提示
中调用并显示文件(仅限文本)详细了解如何使用类型 - @SS64 - Type Command。
(例如)
此脚本输出到日志,但您需要调用输出日志以在提示符下显示。
@echo off
::script file path - x:\myproject\xyz.py
::script filename if batch runs in same directory - xyz.py
set myscrpt="xyz.py"
::Log file path
set pylog="myscriptlog.log"
::Python Path
pushd C:\Python27
::script output to log
echo ----------log-start---------- >%pylog%
%myscrpt% >>%pylog%
echo ----------log-end---------- >>%pylog%
cls
::Display log output in prompt
type %pylog%
pause>nul
exit