for /f closes cmd prompt immediately

前端 未结 3 580
生来不讨喜
生来不讨喜 2021-01-22 02:27

When I open cmd.exe and type that first line and push ENTER, it works fine. When I input that other line and push ENTER, it closes immediately.

I can change (\'a\') to (

相关标签:
3条回答
  • 2021-01-22 02:54

    Add a paranthesis "(", like this:

    for %q in ('a') do (
    

    It will prompt you with a "More?" in the following lines until you decide to close your for block with a ")"

    0 讨论(0)
  • 2021-01-22 02:57

    Looking at the help for 'FOR' ('FOR /?'), you can see that the '/F' option is for parsing file input and has the following options:

    FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
    FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
    FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
    

    Note that last entry... a single-quoted value is treated as a command to run, and the output of that command is what 'FOR' is parsing.

    Perhaps you have an 'a' command/executable on one machine, but not on the other?

    You should only be using the '/F' flag if you specifically want the behavior that '/F' supplies.

    0 讨论(0)
  • 2021-01-22 03:05

    This guy seems to have solved a very similar problem successfully:

    for /f closes cmd window immediately

    The problem in that case turned out to have to do with the COMSPEC environment variable, it being incorrectly set initially, as it seems. The guy applied logging out of the Windows account and back in.

    0 讨论(0)
提交回复
热议问题