将python命令的输出重定向到在cmd中工作但不在.bat文件中工作的txt文件,如何解决?

时间:2019-05-18 16:13:11

标签: python windows batch-file cmd

好吧,我正在尝试使用.bat格式的运行程序为我的python脚本创建记录器,该脚本执行脚本并保存输出文件;无需我手动进行。

当我尝试运行python脚本script.py并传递20作为脚本的参数以及使用Windows命令提示符将输出重定向到log_file.txt时,它运行良好,并且日志文件已创建。 〜cmd命令:

python script.py 20 >> log_file.txt

但是,当我尝试使用运行程序“ .bat”文件运行相同的代码时,该代码无法正常工作。

〜我在“ runner.bat”中编写的代码如下

python script.py 20 >> log_file.txt
pause

〜但是执行命令是由bat文件完成的-从屏幕上可以看到-

C:\Users\dahom\Desktop\folder>python script.py  1>>log_file.txt

我希望“ .bat”文件的行为与将log_file保存为cmd终端相同。 但是当我运行bat文件时,它没有将输出重定向到log_file.txt 但是它似乎正在运行脚本,没有任何迹象表明脚本运行需要一些时间。 注意:批处理文件和脚本都在同一文件夹/目录/路径中。

HERE是显示所有内容的图像。

1 个答案:

答案 0 :(得分:1)

尝试:

@echo off
 "C:\Users\dahom\AppData\Local\Programs\Python\Python37-32\python.exe" "C:\Users\dahom\Desktop\new.py" >> "C:\Users\dahom\Desktop\log_file.txt" & type "C:\Users\dahom\Desktop\log_file.txt" 
pause

NEW.py:-

print("Echo Fox")

批处理脚本的输出:-

Echo fox
Press any key to continue . . .

工作方式:-

仅提供命令(python exec, python script, text file etc)中使用的每个文件的完整路径。将命令传递到文件后,使用& type "file_path"在写入文件后显示文件的内容。