Tuesday, August 10, 2010

Two methods for Accepting User Input in Windows Command Line Prompt

Recently there was a task in Adobe that involved automation of entire Code Coverage Automation System. This involved calling one script after other. As the whole task involved some 100 number of scripts and I had to check the status of system say after execution of script number 56. So I had to interrupt in between in such a way that this interruption does not cause any data loss and we can continue from where we paused. For this I employed user input trick.

Method 1:

You can interact with a user and ask for any data to be entered. The traditional DOS O[perating System had a "Choice" command for a limited interaction. It is now superceded in Windows XP/Vista by the more versatile "set /p".

The syntax is:
set /p variable= [some string]

Here "variable" is the name of the variable that will be assigned to the data that you want the user to input. "some string" is the message that the user will see as a prompt. If desired, the string can be omitted.

Here is an example that asks the user to enter his or her id:
set /p u_id= What is your UserId?

This will create a variable %u_id% whose value is whatever the user enters. Note that the user must press the "Enter' key after typing the input.

You can also access this variable using following syntax:
%variable%

For example to print what was entered earlier just pass following command on command prompt: echo %u_id%


Method 2:

You can use "copy con" command to achieve somewhat similar goal. The syntax is:

copy con

This command accepts user input (including commas and enter keys) and dumps it into a file specified by the given file name. The reading continues till it is stopeed by Ctrl+z key combination. From there it can be read thereafter.

For example, if you have to prompt user to enter his user id, you can do the following:

echo Please enter your UserId
copy con abc.txt

I tested both the methods and personally found method 2 to be more satisfying. Though I find both methods to be error free, easy and enjoyable, yet you may have your own taste!!

So Happy Tasting (Not Happy Testing ;)

You can write me at toughjamy@yahoo.com.
To Know me professionally visit ..Linked In..
You can befriend me at ..FaceBook..
Read jokes at ..Jokes Limitless..
You can also know more about me at ToughJamy : An Informal Me!!

2 comments:

  1. Kaminey source bhi bata de iska ... kutte harami

    ReplyDelete
  2. Thanks Anonymous for extreme words.
    I guess you must have found deep satisfaction till now.

    Now, how about giving some true reviews on some articles that interests you. Please do not hesitate to use harsh words or critiques again. As I am open to all kinds of suggestions.
    Proof: You comment is not removed even after 3 Years

    Take care :)

    ReplyDelete