开发者

for /f closes cmd prompt immediately

When I open cmd.exe and ty开发者_运维百科pe 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 ('asdfgh') then same problem. or %q to %f same problem.

The difference is the /f, for some reason the FOR /F with ('......') causes cmd.exe to close.

This happens on one of my systems and not another

C:\>for %q in ('a') do echo %q   <ENTER>

C:\>echo 'a'
'a'

C:\>for /f %q in ('a') do echo %q <ENTER>


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.


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 ")"


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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜