I want to use multiline python statements inside Windows Batch script.
For example, my BAT script is:
@echo off
echo "Executing Python Code..."
goto python_code
:python_code_back
echo "Executed Python Code!"
pause
exit()
:python_code
python -c print("""Python code running""")
goto python_code_back
python -c
works fine for single statements. But let my python code be embedded is:
import random
num = input("Enter Number: ")
num = int(num)
if num%2 == 0:
print("Even")
else:
print("Odd")
exit()
How do I embed this Python code into my Windows Batch Script without calling another python script or making temporary python files?
I have some options that I have gone through:
Use
python -c
with semicolons: How do I intend the code like if statements above? If there are ways, one might still want clean code in multiple lines but I would appreciate the answer for this.Can I just run
python
and find a way to send commands to the interpreter? Maybe using subprocesses?Is there any way I can build a multi-line string that has the python code and then send it to the python interpreter or python command?
In bash we could use EOF to keep multi-lines clean. Is there any similar method to this in BAT? I think no because people have proposed many workarounds to this.
Can
'''
(three single-quotes) or"""
(three douuble-quotes) syntax be used that are specially interpreted by Batch? Like here?