Jason Friedman <ja...@powerpull.net> wrote: >> I'm converting windows bat files little by little to Python 3 as I >> find time and learn Python. >> The most efficient method for some lines is to call Python like: >> python -c "import sys; sys.exit(3)" >> >> How do I "indent" if I have something like: >> if (sR=='Cope'): sys.exit(1) elif (sR=='Perform') sys.exit(2) else >> sys.exit(3) > > Some months ago I posted what I think is a similar question in the > Unix world: I wanted to call a small portion of Python from within a > Bash script. > > Someone on this list answered (for Bash): > > #!/bin/bash > command1 > command2 > python -c "if True: > import module > if condition: > do_this > else: > do_that > " > command4 > # end code > > Perhaps something similar would work for a .bat file. > Provided there's only one Python block in the .bat or .cmd file then there's no real problem; you just have to hide each language from the other:
goto :start """ :start @echo off echo This is a CMD script python -x %~f0 "%1" echo Back in the CMD script goto :eof """ import sys print("Welcome to Python") print("Arguments were {}".format(sys.argv)) print("Bye!") You can put the Python code either before or after the triple-quote string containing the CMD commands, just begin the file with a goto to skip into the batch commands and end them by jumping to eof. -- Duncan Booth http://kupuguy.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list