Link to home
Start Free TrialLog in
Avatar of woodas26
woodas26

asked on

Batch file that will accept text input

I'm trying to create a batch script that will accept input from a user.  The user needs to be able to key in a twelve digit UPC code, and that value should be appended to c:\KCD\data.txt.  The system is XP Pro.  Does anyone know the syntax to make the batch file wait for input, and then write the data entered to a .txt file when the user presses "Enter"?

TIA,
Andrew
Avatar of prashsax
prashsax

You do not have any builtin tool for accepting Text as input.

But, their could exist some utility which can be used.

If you know some programming language, like QBASIC, you could write a program which would ask it from user and set it as environment variable.

Avatar of Naser Gabaj
Greetings woodas26,

Although I'm not expert in Batching, but i remember there is a command "choice.exe" that can do the job for you, check this for more info:

https://www.experts-exchange.com/questions/20978849/Creating-a-Wait-command-for-a-batch-file.html

Good Luck!

Naser
Choice will only accept one character from your given of choice.(e.g Y/N, 1,2,3 etc)

It will not accept text stream at runtime.



ASKER CERTIFIED SOLUTION
Avatar of Lee W, MVP
Lee W, MVP
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
But, how would he take input from within the batch script is the question.

He could use %1 in place of "Enter Bar code:" at startup.

But he does not know this value.

User will have to fill it in once the script is started.

I assume it will be a startup script or logon script for user.

The, best option here is to use VBScript, take input in VBScript and call batch script from it.
You're not using %1 - you are using the set command to prompt you for input - it waits until the input is entered.  Once it's entered, the input is stored in %barcode%.

Echo then displays the entered barcode.  >> c:\kcd\data.txt means append to the file c:\kcd\data.txt instead of displaying it on screen

It's two lines of easy code - much more efficient than a vbscript.
Ok.

I was thinking something else.

Yes, this is the best way and the solution as well.

Avatar of woodas26

ASKER

Exactly what I was looking for leew!  Thanks so much!