Assuming Windows, is there a way I can detect from within a batch file if it was launched from an open command prompt or by double-clicking? I’d like to add a pause to the end of the batch process if and only if it was double clicked, so that the window doesn’t just disappear along with any useful output it may have produced.
Any clever ways to do this? I’m looking for solutions I could rely on to work on a machine that was configured more or less with default settings.
I just ran a quick test and noticed the following, which may help you:
This script will not pause if run from the command console, but will if double-clicked in Explorer:
EDIT: There was also some weird behavior when running from Explorer that I can’t explain. Originally, rather than
I tried using just an
if:This would work when running from an open command prompt, but when run from Explorer it would complain that the
ifstatement wasn’t correct.