intechops6
intechops6

Reputation: 1097

what does it mean batch set variable=%variable:~1%

Can anyone explain what is :~1% in the below statement in a batch file? I assigned the value of %variable to servername and tried echo %variable. I get the same server name as output. Can anyone explain how the statement below works?

set variable=%variable:~1%

Upvotes: 8

Views: 11837

Answers (2)

Baljeetsingh Sucharia
Baljeetsingh Sucharia

Reputation: 2079

this is notation for subs string expansion , look at this out put form command line you will understand.

C:\>set temp=stackoverflow.com

C:\>echo %temp%
stackoverflow.com

C:\>echo %temp:~5%
overflow.com

C:\>echo %temp:~5,8%
overflow

C:\>

if you have not understood , here is syntax (in my words)

set variable=%variable:~startingCharector [,OptionalLenghtOfCharctors]%

where

OptionalLenghtOfCharctors by default it takes remaining characters of string.

Upvotes: 7

AjV Jsy
AjV Jsy

Reputation: 6085

It's a syntax for substrings from the variable contents, in this case it removes the first character.

See set /? for help

Upvotes: 5

Related Questions