views:

1108

answers:

2

I'm trying to read a value from a file and use it in a subsequent command.

I have a file called AppServer.pid which contains the process id of my app server (just the number, it's not a properties file or anything like that).

The app server is hanging, so I want to take this value and pass it to the kill command. So my script will be something like

SET VALUE_FROM_FILE=AppServer.pid # or something
taskkill /pid %VALUE_FROM_FILE% /f

Is there a convenient way to do this in Windows scripting?

+1  A: 
for /f %%G in (appid.txt) do (SET PID=%%G)
echo %PID%
taskkill etc here...

This might help !

Satish Motwani
Crazy "for" syntax was bound to be something to do with it! Thanks for the answer. I'll think of you every time this saves me 30 seconds!!
Harry Lime
+3  A: 

This works:

SET /P VALUE_FROM_FILE= < AppServer.pid
taskkill /pid %VALUE_FROM_FILE% /f

The /P parameter used with SET allows you to set the value of a parameter using input from the user (or in this case, input from a file)

Cocowalla
Thanks. This is probably the more straightforward solution.
Harry Lime