使用 SHIFT 以更改在登录底稿中解释 %n 标识符变量的顺序。SHIFT 允许用户以任意顺序输入 LOGIN 参数。
命令格式
SHIFT [n]
以希望变量移位的次数来替代 n。默认设置为 SHIFT 1。
使用 SHIFT
最多可对 10 个登录底稿变量(命令行自变量)进行移位。
用户执行 LOGIN 时,可以引入额外的参数。每个参数都指派一个 %n 变量;这样,参数的真实值能够替代出现在登录底稿中的 %n 变量。
在登录底稿中,可为 SHIFT 加正号或负号,以使变量能向左右两个方向移动。例如,SHIFT - 3 会将每个 %n 变量左移三位。
示例
Mary 登录时,希望访问她的字处理程序、更改其工作方式并将一个驱动器映射到称为 Accnts 的工作目录中。
在她的登录底稿中还有一条可将驱动器映射到 Lotus 目录的命令,但今天她并不需用它。Mary 登录底稿中的命令显示如下。
:LOOP
IF "%2"="WP" THEN
SET WP="\U-CML\B-10\D"
MAP S16:=SYS:APPL\WP\SETUP
IF "%2"="ACCNTS" THEN
MAP G:=SYS:ACCNTS
IF "%2"="LOTUS" THEN
MAP S16:=SYS:APPL\LOTUS
SHIFT
IF "%2"<> "" THEN GOTO LOOP
(最后一行中,“IF "%2" <>”后跟一对引号,意为“若 %2 不为空”。)
登录底稿中有了这些命令,并假定一个命令行登录,Mary 可用她的用户名 MARY 登录一级文件服务器(名为 FS1),如下所示:
login fs1\mary wp accnts
Mary 的 LOGIN 命令中的参数被赋予如下值:
%0=FS1
%1=MARY
%2=WP
%3=ACCNTS
Mary 的登录底稿寻找 %2,即 WP,并设置字处理环境。然后登录底稿将变量右移一位,于是,%2 变为 ACCNTS。执行登录底稿时,登录底稿会将一个驱动器映射到 Accnts 目录。
Mary 也可以在不影响她工作环境设置方式的情况下更改 LOGIN 命令的顺序,如下所示:
login mary accnts wp
此 LOGIN 命令中的参数被赋予如下值:
%0=FS1
%1=MARY
%2=ACCNTS
%3=WP
在本例中,Mary 的登录底稿寻找 %2,现在已为 ACCNTS 了。登录底稿将一个驱动器映射到 Accnts 目录。然后登录底稿将变量右移,于是,%2 变为 WP。
执行登录底稿时,登录底稿会设置文字处理环境。