1.

Solve : SET /P command usage inside for loop?

Answer»

Hi,

Can anyone please HELP me how to get input from user inside a for loop? An example would help me much better.

That is using SET /P command inside a for loop. Based on user input, I want to perform some operation. But the script has to prompt for user input EVERYTIME the loops runs.

Thanks in advance..

Quote from: THIRU on March 09, 2010, 03:43:25 PM


That is using SET /P command inside a for loop. Based on user input, I want to perform some operation. But the script has to prompt for user input everytime the loops runs.


C:\batch>type Thriu.bat
Code: [Select]ECHO off
setlocal enabledelayedexpansion
for /f "delims=" %%i in (thriu.txt) do (
echo %%i
Echo Enter:
set /p variable=
echo variable = !variable!
)
Output:

C:\batch>Thriu.bat
Hello
Enter:
one
variable = one
World
Enter:
two
variable = two
This
Enter:
three
variable = three
is
Enter:
four
variable = four
a
Enter:
five
variable = five
batch
Enter:
six
variable = six
file
Enter:
seven
variable = seven

Input:

C:\batch>type  thriu.txt
Hello
World
This
is
a
batch
file

C:\batch> Quote from: Thiru on March 09, 2010, 03:43:25 PM
That is using SET /P command inside a for loop. Based on user input, I want to perform some operation. But the script has to prompt for user input everytime the loops runs.


C:\batch>type  never.bat
Code: [Select]echo off
setlocal enabledelayedexpansion
for /L %%i in (1,1,%1) do (

set /p variable=Enter:
echo variable = !variable!
)
echo Bye
Output:

C:\batch>never.bat 8
Enter:1
variable = 1
Enter:2
variable = 2
Enter:3
variable = 3
Enter:4
variable = 4
Enter:5
variable = 5
Enter:6
variable = 6
Enter:7
variable = 7
Enter:8
variable = 8
Bye

C:\batch>

reference:

http://www.roysac.com/blog/2009/10/some-handy-ms-dos-batch-tricks-infinite.html
Quote from: Thiru on March 09, 2010, 03:43:25 PM
That is using SET /P command inside a for loop. Based on user input, I want to perform some operation. But the script has to prompt for user input everytime the loops runs.


C:\batch>type nevertest.bat
Code: [Select]echo off
setlocal enabledelayedexpansion
for /L %%i in (1,1,1000) do (

set /p variable=Enter:
echo variable = !variable!
echo To Quit, Enter: q
if !variable!==q  goto  end
)
:end
echo Bye
Output:

C:\batch> nevertest.bat
Enter:one
variable = one
To Quit, Enter: q
Enter:two
variable = two
To Quit, Enter: q
Enter:7
variable = 7
To Quit, Enter: q
Enter:q
variable = q
To Quit, Enter: q
Bye

C:\batch>


Discussion

No Comment Found