从Active Directory变量中提取字符串的一部分

时间:2015-12-21 18:14:04

标签: batch-file batch-processing

我从Active Directory提取以下变量:

Homeshare=\\<filer_number>\Homedir\MyUsername. 

我需要提取&#34; filer_number&#34;并将其设置为变量以在我的logon.bat文件中的其他位置使用。例如,设置filer# = %filer%。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

试试这个:

In [113]: x=np.array([1,2,3])
In [114]: y=np.array(x, ndmin=3,copy=False)

In [117]: y.__array_interface__['data']
Out[117]: (152332976, False)
In [118]: x.__array_interface__['data']
Out[118]: (152332976, False)

这可以通过使用@echo off set "testvar=Homeshare=\Filer#\Homedir\MyUsername" for /F "tokens=2 delims=\" %%a IN ("%testvar%") DO (set "filerVariable=%%a") echo %filerVariable% pause 符号作为分隔符并使用第二个标记来分割字符串。

答案 1 :(得分:0)

这是我想出的,它与@Dennis van Gils非常相似。回答,但我在下面有一些注释。

@echo off
set target=3
set homedirstring="\\Filer#\Homedir\MyUsername"
for /F "tokens=%target% delims=\" %%a in ("%homedirstring%") DO (set "newvar=%%a")
echo %target%:%newvar%
  1. 目标是homedir变量在\字符后拆分后的段。在这种情况下,&#34; Filer#&#34;是第3个子字符串。如果您需要更改它,只需更改目标值。
  2. 正如@Magoo在评论中指出的那样,确保在为变量赋值时,不要在=运算符后面添加空格。如果这样做,此空间将包含在值中。