8

Im currently looking for a method to set variables in a windows batch file from linkes in txt document.

So for example, if the text file reads:

http://website1.com
http://website2.com
http://website3.com

I can hopefully output them to variables in the batch. Example:

set var1="Line one of text file, ex: http://website1.com"
set var2="Line two of text file, ex :http://website2.com"
set var3="Line three of text file, ex: http://website3.com"

Any help is appreciated, thanks in advance!

2
  • As for your problem, I think you are going to find this hard from a bat file. Have you considered powershell, which may be easier? Which OS/Version are you actually using? Commented May 4, 2011 at 16:19
  • Currently just Windows XP Pro at the moment. And any advice is greatly appreciated. :D Commented May 4, 2011 at 16:32

3 Answers 3

21

Here ya go! Have fun with this one.

(
set /p var1=
set /p var2=
set /p var3=
)<Filename.txt

Lands you with the same results!

Sign up to request clarification or add additional context in comments.

1 Comment

Mucho grande divertida
17

The FOR /F loop command can be used to read lines from a text file:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
for /F "tokens=*" %%A in (sites.txt) do (
    SET /A vidx=!vidx! + 1
    set var!vidx!=%%A
)
set var

You end up with:

var1=http://website1.com
var2=http://website2.com
var3=http://website3.com

1 Comment

hi Anders, what if i want to take only website addrerss as out put? current output is "var1=website1.com" desired out put is "website1.com"
0

Based on @Andres' answer, in case anyone is looking only for the values of the variables as an output:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
for /F "tokens=*" %%A in (sites.txt) do (
    SET /A vidx=!vidx! + 1
    set var!vidx!=%%A
)

for /L %%I in (1,1,%vidx%) do (
echo !var%%I!
)

Pause

output:

http://website1.com
http://website2.com
http://website3.com

Of course this method is only helpful if you want to do some text manipulation or something, but it isn't the parctical way if you just want to print the contents of the text file.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.