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

2019-06-19 01:56发布

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%

2条回答
一纸荒年 Trace。
2楼-- · 2019-06-19 02:29

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.

查看更多
我想做一个坏孩纸
3楼-- · 2019-06-19 02:31

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

See set /? for help

查看更多
登录 后发表回答