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
LVL 4
woodas26Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

prashsaxCommented:
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.

Naser GabajE&P Senior Software SpecialistCommented:
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:

http://www.experts-exchange.com/Operating_Systems/MSDOS/Q_20978849.html

Good Luck!

Naser
prashsaxCommented:
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.



Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Lee W, MVPTechnology and Business Process AdvisorCommented:
Under XP, 2000, NT, 2003, this is easy:

SET /p BarCode=Enter bar code:
Echo %barcode% >> C:\KCD\data.txt

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
prashsaxCommented:
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.
Lee W, MVPTechnology and Business Process AdvisorCommented:
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.
prashsaxCommented:
Ok.

I was thinking something else.

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

woodas26Author Commented:
Exactly what I was looking for leew!  Thanks so much!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Networking

From novice to tech pro — start learning today.