• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Carrying a variable over from a FOR Command in DOS

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Carrying a variable over from a FOR Command in DOS

    Trying to write a quick batch file that will take a list of servers and run a few commands on them but having a mental block

    Here's what i have

    Code:
    @echo off
    
    set host=
    set source=d:\housekeeping\servers.csv
    
    FOR /F "tokens=* delims=" %%i in (%source%) do call :service
    
    :service
    
    set host=%%i
    
    blah blah blah using the %host% variable for each sever in turn
    However the servername from the CSV file %%i is not being carried forward when I do the set host=%%i and I could have sworn that this should be the case, am I missing something really simple?!
    Originally posted by Stevie Wonder Boy
    I can't see any way to do it can you please advise?

    I want my account deleted and all of my information removed, I want to invoke my right to be forgotten.

    #2
    Stick
    setlocal EnableDelayedExpansion

    at the top?

    Comment


      #3
      That still doesn't carry forward the variable to the second set of commands
      Originally posted by Stevie Wonder Boy
      I can't see any way to do it can you please advise?

      I want my account deleted and all of my information removed, I want to invoke my right to be forgotten.

      Comment


        #4
        sussed it!

        Code:
        @echo off
        
        set host=
        set source=d:\housekeeping\servers.csv
        
        FOR /F "tokens=* delims=" %%i in (%source%) do call :service %%i
        
        :service
        
        set host=%1
        
        blah blah blah using the %host% variable for each sever in turn
        Now I know why I never became a developer if I struggle with even the basics!
        Originally posted by Stevie Wonder Boy
        I can't see any way to do it can you please advise?

        I want my account deleted and all of my information removed, I want to invoke my right to be forgotten.

        Comment


          #5
          Set bugs=off?

          Comment

          Working...
          X