Ng«n ng÷ lÖnh kÞch b¶n Dial-up trong Dial-up Networking
Xem bai viet bang font Unicode

PCWorld VN 11/99

Tæng quan

    Ch¾c b¹n ®· mét lÇn truy cËp m¹ng WAN hay Internet vµ ®Òu kh«ng tho¸t khái thñ tôc ®Çu tiªn lµ thùc hiÖn kÕt nèi víi m¸y chñ tr­íc khi cã thÓ lµm nh÷ng viÖc tiÕp theo. Th«ng th­êng qu¸ tr×nh kÕt nèi ®¬n gi¶n vµ tù ®éng - chØ cÇn khai b¸o tªn ng­êi sö dông vµ mËt khÈu lµ cã thÓ ®¨ng nhËp vµo m¹ng. Nh­ng còng cã nhiÒu nhµ cung cÊp dÞch vô Internet (ISP: Internet Service Provider) vµ dÞch vô trùc tuyÕn (OS: Online Service) ®ßi hái b¹n ph¶i nhËp b»ng tay c¸c th«ng tin nh­ tªn ng­êi sö dông vµ mËt khÈu khi thiÕt lËp mét kÕt nèi. Ch­a hÕt, b¹n kh«ng thÓ kÕt nèi víi mét sè m¸y chñ nÕu kh«ng cho ch¹y mét file ®Æc biÖt ®Ó cung cÊp cho nã nh÷ng th«ng tin cÇn thiÕt. §©y chÝnh lµ mét kÞch b¶n ®­îc viÕt b»ng ng«n ng÷ lÖnh kÞch b¶n DUN (Dial-Up Networking Scripting Command Language). §Ó tù ®éng ho¸ qu¸ tr×nh kÕt nèi còng nh­ cã thÓ truy nhËp vµo ®­îc mét sè m¸y chñ khã tÝnh, t«i xin tr×nh bµy s¬ l­îc d­íi ®©y vÒ ng«n ng÷ nµy.

    Ng«n ng÷ lÖnh kÞch b¶n DUN lµ s¶n phÈm cña Microsoft, ra ®êi cïng víi Windows 95 vµ kh«ng thay ®æi trong c¸c phiªn b¶n 97, råi 98 sau nµy. KÞch b¶n DUN lµ mét file d¹ng v¨n b¶n cã chøa mét chuçi c¸c lÖnh, tham sè vµ biÓu thøc ®­îc ISP hay OS yªu cÇu ®Ó thiÕt lËp kÕt nèi vµ sö dông c¸c dÞch vô. B¹n cã thÓ sö dông bÊt cø tr×nh so¹n th¶o v¨n b¶n nµo cã thÓ l­u file d­íi d¹ng text thuÇn tuý ®Ó t¹o file kÞch b¶n (ch¼ng h¹n nh­ Microsoft Notepad, NC Editor, DOS Editorµ). C¸c file kÞch b¶n th­êng ®­îc l­u d­íi phÇn më réng lµ .scp ®Ó dÔ ph©n biÖt. Mét khi ®· t¹o file kÞch b¶n, b¹n cã thÓ liªn kÕt nã vµo mét kÕt nèi DUN b»ng c¸ch ch¹y Dial-Up Scripting Tool.

C¸ch thi hµnh mét file lÖnh kÞch b¶n

    Khi ®· t¹o mét file kÞch b¶n DUN, b¹n cã thÓ ch¹y nã b»ng c¸ch sau: tõ cöa sæ My Computer.Dial-Up Networking, nhÊn phÝm ph¶i chuét vµo kÕt nèi mµ b¹n muèn cho ch¹y kÞch b¶n DUN, chän Properties. Trong cöa sæ Properties, chän Scripting, gâ tªn ®­êng dÉn vµ tªn file kÞch b¶n cña b¹n vµo « Script file, b¹n còng cã thÓ sö dông lÖnh Browse ®Ó t×m file kÞch b¶n. Sau ®ã chän OK. Tõ nay trë ®i, mçi khi b¹n sö dông kÕt nèi ®ã ®Ó kÕt nèi vµo mét ISP hay OS th× c¸c lÖnh trong file kÞch b¶n DUN cña b¹n sÏ ®­îc thi hµnh mét c¸ch tù ®éng.

    CÊu tróc c¬ b¶n cña mét kÞch b¶n

    LÖnh lµ c¸c chØ thÞ c¬ b¶n trong mét file kÞch b¶n DUN. Mét sè lÖnh ®ßi hái c¸c tham sè m« t¶ nh÷ng g× mµ lÖnh ®ã ph¶i thùc hiÖn.

    BiÓu thøc lµ sù kÕt hîp gi÷a c¸c to¸n tö vµ ®èi sè, cho ra mét kÕt qu¶. BiÓu thøc cã thÓ ®­îc sö dông nh­ lµ mét gi¸ trÞ trong mäi lÖnh. BiÓu thøc cã thÓ chøa c¸c phÐp to¸n sè häc, phÐp so s¸nh quan hÖ vµ ghÐp chuçi.

    D¹ng c¬ b¶n cña mét file kÞch b¶n DUN nh­ sau:

;
; Mét ghi chó b¾t ®Çu b»ng dÊu chÊm phÈy (;)
; vµ kÐo dµi ®Õn cuèi dßng
;
proc main
;Mét kÞch b¶n cã thÓ cã mäi kiÓu biÕn
;vµ kiÓu lÖnh
c¸c khai b¸o biÕn
khèi lÖnh
endproc

    Mét kÞch b¶n DUN nhÊt thiÕt ph¶i cã thñ tôc chÝnh, ®Æc tr­ng b»ng tõ kho¸ proc vµ kÕt thóc b»ng tõ kho¸ endproc.

    B¹n ph¶i khai b¸o c¸c biÕn tr­íc khi sö dông cho c¸c lÖnh. C¸c lÖnh sau ®ã ®­îc thi hµnh mét c¸ch tuÇn tù theo ®óng thø tù mµ nã ®­îc viÕt trong file kÞch b¶n DUN. KÞch b¶n kÕt thóc khi gÆp tõ kho¸ endproc.

C¸c biÕn

    KÞch b¶n DUN cã thÓ chøa c¸c biÕn. Tªn cña c¸c biÕn ph¶i b¾t ®Çu b»ng mét ký tù ch÷ c¸i hay dÊu g¹ch d­íi (_) vµ cã thÓ chøa chuçi ký tù th­êng, ký tù hoa, c¸c sè vµ dÊu g¹ch d­íi. B¹n kh«ng thÓ sö dông c¸c tõ dµnh riªng ®Ó lµm tªn biÕn. §Ó cã thªm th«ng tin, h·y xem b¶ng liÖt kª c¸c tõ dµnh riªng ë cuèi bµi viÕt nµy.

    B¹n ph¶i khai b¸o c¸c biÕn tr­íc khi cã thÓ sö dông chóng. Khi khai b¸o mét biÕn, b¹n còng ph¶i ®Þnh nghÜa kiÓu cña nã. BiÕn cña mét sè kiÓu chØ cã thÓ chøa c¸c gi¸ trÞ cïng kiÓu. Ba kiÓu biÕn sau ®©y ®­îc sö dông trong ng«n ng÷ lÖnh kÞch b¶n DUN:

Integer: BiÓu diÔn c¸c sè nguyªn ©m vµ d­¬ng, vÝ dô 7, -12 hay 5698

String: BiÓu diÔn chuçi c¸c ký tù trong ngoÆc kÐp, vÝ dô "Hello world !" hay "Enter your password:"

Boolean: BiÓu diÔn c¸c gi¸ trÞ luËn lý TRUE hay FALSE

C¸c biÕn ®­îc g¸n gi¸ trÞ b»ng c¸ch sö dông ph¸t biÓu g¸n sau:

BiÕn = biÓu thøc

BiÕn sÏ nhËn gi¸ trÞ ®­îc tÝnh tõ biÓu thøc.

ThÝ dô:
integer count = 5
;khai b¸o biÕn count cã kiÓu integer vµ
;g¸n cho nã trÞ khëi ®éng lµ 5
integer timeout = (4*3)
;khai b¸o biÕn timeout cã kiÓu integer
;vµ g¸n cho nã gi¸ trÞ 12 nhËn ®­îc tõ
;biÓu thøc (4*3)
integer i
boolean bDone = FALSE
string szIP = (getip 2);khai b¸o biÕn szIP
; cã kiÓu lµ string vµ
;g¸n cho nã trÞ ban ®Çu lÊy tõ lÖnh
;(getip 2)
set ipaddr szIP
¸

    ViÖc sö dông cÆp dÊu ngoÆc kh«ng mang ý nghÜa g× ®Æc biÖt trong c¸c vÝ dô trªn, nã chØ lµm cho c©u lÖnh thªm râ rµng.

C¸c biÕn hÖ thèng

    C¸c biÕn hÖ thèng ®­îc ®Æt b»ng c¸c c©u lÖnh kÞch b¶n DUN hay ®­îc x¸c ®Þnh b»ng c¸c th«ng tin mµ b¹n ®­a vµo khi thiÕt lËp mét kÕt nèi DUN. C¸c biÕn hÖ thèng cã thuéc tÝnh chØ ®äc, cã nghÜa lµ chóng kh«ng thÓ thay ®æi trong kÞch b¶n. C¸c biÕn hÖ thèng bao gåm:

$USERID (kiÓu: string): BiÕn nhËn d¹ng ng­êi sö dông cho kÕt nèi hiÖn thêi. BiÕn nµy mang gi¸ trÞ lµ tªn user name trong hép tho¹i Connect To khi thùc hiÖn mét kÕt nèi.

$PASSWORD (string): MËt khÈu cho kÕt nèi hiÖn thêi. BiÕn nµy mang gi¸ trÞ password trong hép tho¹i Connect To khi thùc hiÖn kÕt nèi.

$SUCCESS (boolean): BiÕn nµy ®­îc ®Æt bëi mét sè lÖnh ®Ó chØ ra r»ng lÖnh cã ®­îc thùc hiÖn thµnh c«ng hay kh«ng. KÞch b¶n cã thÓ ra quyÕt ®Þnh dùa trªn gi¸ trÞ cña biÕn nµy.

$FAILURE (boolean): BiÕn nµy ®­îc ®Æt bëi mét sè lÖnh ®Ó chØ ra r»ng lÖnh cã thÊt b¹i hay kh«ng. KÞch b¶n cã thÓ ra quyÕt ®Þnh dùa trªn gi¸ trÞ cña biÕn nµy.

    C¸c biÕn trªn ®©y cã thÓ ®­îc sö dông ë nh÷ng n¬i mµ mét biÓu thøc cã kiÓu t­¬ng tù ®­îc sö dông. ThÝ dô c©u lÖnh sau:

transmit $USERID

    lµ hîp lÖ bëi v× $USERID lµ biÕn cã kiÓu string.

Chuçi ký tù

    Ng«n ng÷ lÖnh kÞch b¶n DUN cho phÐp sö dông chuçi escape (escape sequences) vµ chuçi caret (caret translation) vµ ®­îc m« t¶ d­íi ®©y.

^char: Chuçi caret. NÕu char lµ mét gi¸ trÞ trong kho¶ng ‘@' vµ ‘_’ th× chuçi ký tù ®­îc dÞch thµnh c¸c gi¸ trÞ byte ®¬n trong kho¶ng tõ 0 ®Õn 31. ThÝ dô, ^M ®­îc chuyÓn thµnh m· xuèng dßng carriage return.

    NÕu char lµ mét gi¸ trÞ trong kho¶ng tõ "a" ®Õn "z" th× chuçi ký tù ®­îc dÞch thµnh c¸c byte ®¬n trong kho¶ng tõ 1 ®Õn 26.

    NÕu char cã gi¸ trÞ bÊt kú kh¸c, chuçi ký tù kh«ng ®­îc xö lý.

<cr> Ký hiÖu xuèng dßng carriage return

<lf> Ký hiÖu vÒ ®Çu dßng

\" DÊu nh¸y kÐp "

\^ DÊu mò ^

\< DÊu <

\\ DÊu \

ThÝ dô:
transmit "^M" ;göi ®i ký tù xuèng dßng Enter
transmit "Joe^M" ;göi ®i chuçi Joe vµ ký tù xuèng dßng
transmit "<cr><lf>" ;göi ®i ký tù xuèng vµ vÒ ®Çu dßng
waitfor "<cr><lf>" ;chê nhËn ®­îc ký tù xuèng vµ vÒ ®Çu dßng

BiÓu thøc

    BiÓu thøc lµ sù kÕt hîp gi÷a c¸c to¸n tö vµ ®èi sè, cho ra mét kÕt qu¶. BiÓu thøc cã thÓ sö dông nh­ gi¸ trÞ trong mäi c©u lÖnh.

    BiÓu thøc cã thÓ kÕt hîp mäi biÕn (kiÓu integer, string, boolean) víi mäi to¸n tö tÝnh chÊt vµ to¸n tö kÕt hîp nh­ trong c¸c b¶ng d­íi ®©y. Mäi to¸n tö tÝnh chÊt ®Òu cã ®é ­u tiªn cao nhÊt. §é ­u tiªn cña c¸c to¸n tö kÕt hîp ®­îc s¾p xÕp nh­ sau.

    C¸c to¸n tö tÝnh chÊt:

- : dÊu ©m

! : phÇn bï cña mét gi¸ trÞ

    C¸c to¸n tö kÕt hîp ®­îc liÖt kª sau theo thø tù ­u tiªn cña chóng. C¸c to¸n tö cã ®é ­u tiªn cao h¬n ®­îc liÖt kª tr­íc:

* / : Nh©n chia (integer)

+ - : Céng trõ (integer, string (chØ sö dông víi to¸n tö +))

<, >, <=, >= : Quan hÖ (integer)

==, != :So s¸nh (integer, string, boolean)

and : LuËn lý AND (boolean)

or : LuËn lý OR (boolean)

ThÝ dô:
count = -x ;g¸n phÇn ©m cña x cho count
yes = !FALSE ;g¸n trÞ TRUE cho biÕn yes
count = 3 + 5 * 40 ;g¸n trÞ 203 cho biÕn count
transmit "Hello" + " there" ;chuyÓn ®i chuçi "Hello there"
delay 24 / (7 è 1) ;t¹m dõng trong vßng 4 gi©y

Ghi chó

    TÊt c¶ chuçi ký tù trªn cïng mét dßng b¾t ®Çu b»ng mét dÊu chÊm phÈy (;) ®Òu ®­îc bá qua khi kÞch b¶n ch¹y. Chuçi ký tù sau dÊu chÊm phÈy ®­îc sö dông ®Ó thªm c¸c ghi chó vµo kÞch b¶n.

ThÝ dô:
; ®©y lµ mét ghi chó
transmit "hello" ; chuyÓn chuçi "hello" ®i

C¸c tõ khãa

    C¸c tõ kho¸ ®Æc tr­ng cho cÊu tróc cña ng«n ng÷ lÖnh kÞch b¶n DUN. Kh«ng gièng nh­ c¸c c©u lÖnh, chóng kh«ng thùc hiÖn mét hµnh ®éng. C¸c tõ kho¸ cña ng«n ng÷ lÖnh kÞch b¶n DUN ®­îc liÖt kª nh­ sau:

proc name: Tõ kho¸ chØ ra sù b¾t ®Çu cña mét thñ tôc. TÊt c¶ kÞch b¶n ph¶i cã mét thñ tôc chÝnh (proc main). KÞch b¶n b¾t ®Çu thi hµnh tõ thñ tôc chÝnh vµ kÕt thóc còng t¹i thñ tôc chÝnh.

endproc: Tõ kho¸ chØ ra sù kÕt thóc cña mét thñ tôc. Khi mét kÞch b¶n thùc hiÖn ®Õn ph¸t biÓu endproc cña thñ tôc chÝnh, Dial-Up Networking sÏ khëi ®éng PPP (Point to Point Protocol: giao thøc ®iÓm ®èi ®iÓm) hay SLIP (Serial Line Internet Protocol: giao thøc Internet dïng ®­êng nèi tiÕp) ®Ó hoµn thµnh kÕt nèi.

integer name [= value]: Tõ kho¸ dïng ®Ó khai b¸o mét biÕn name cã kiÓu integer. B¹n cã thÓ sö dông bÊt kú biÓu thøc hay biÕn sè häc nµo ®Ó g¸n trÞ ban ®Çu cho biÕn nµy.

string name [= value]: Tõ kho¸ dïng ®Ó khai b¸o mét biÕn name cã kiÓu string. B¹n cã thÓ sö dông bÊt kú chuçi ký tù hay biÕn sè häc nµo ®Ó g¸n trÞ ban ®Çu cho biÕn nµy.

boolean name [= value]: Tõ kho¸ dïng ®Ó khai b¸o mét biÕn name cã kiÓu boolean. B¹n cã thÓ sö dông bÊt kú biÓu thøc hay biÕn boolean nµo ®Ó g¸n trÞ ban ®Çu cho biÕn nµy.

C¸c c©u lÖnh

    TÊt c¶ c¸c lÖnh lµ c¸c tõ dµnh riªng, cã nghÜa lµ b¹n kh«ng thÓ khai b¸o c¸c biÕn cã cïng tªn víi c¸c lÖnh. C¸c lÖnh trong ng«n ng÷ lÖnh kÞch b¶n DUN:

delay nSeconds: T¹o thêi gian dõng theo sè gi©y ®­îc chØ trong tham sè nSeconds tr­íc khi thi hµnh tiÕp lÖnh kÕ tiÕp trong kÞch b¶n.

ThÝ dô
delay 2 ;t¹o thêi gian dõng 2 gi©y
delay x * 3 ;t¹o thêi gian dõng x*3 gi©y

getip value: §îi ®Ó nhËn ®Þa chØ IP (Internet Protocol : giao thøc Internet) tõ m¸y tÝnh ®ang ®­îc truy cËp. NÕu ISP cña b¹n tr¶ l¹i c¸c ®Þa chØ IP trong mét chuçi, khi nµy ta sö dông tham sè value ®Ó qui ®Þnh ®Þa chØ IP nµo trong chuçi ®­îc sö dông.

ThÝ dô:
;nhËn ®Þa chØ IP thø hai trong chuçi nhËn vÒ
set ipaddr getip 2 ;g¸n ®Þa chØ IP ®Çu tiªn
;vµo biÕn szAddress
szAddress = getip

goto label: Nh¶y ®Õn vÞ trÝ trong kÞch b¶n ®­îc chØ ra bëi nh·n label vµ tiÕp tôc thùc hiÖn c¸c lÖnh sau nh·n label. C¸c nh·n label ph¶i ®øng sau dÊu ":"

ThÝ dô:
waitfor "Prompt>" until 10
if !$SUCCESS then
Goto BailOut ;nh¶y ®Õn nh·n BailOut vµ
;thùc hiÖn c¸c lÖnh sau nã
endif
transmit "bbs^M"
goto End
BailOut:
Transmit "^M"

halt: Ngõng thùc thi kÞch b¶n. LÖnh nµy kh«ng lo¹i bá hép tho¹i Terminal. B¹n ph¶i nhÊn chuét vµo nót Continue ®Ó thiÕt lËp l¹i kÕt nèi. B¹n kh«ng thÓ khëi ®éng l¹i kÞch b¶n.

if ®iÒu kiÖn then

c¸c lÖnh

endif

Thi hµnh mét chuçi c¸c lÖnh nÕu ®iÒu kiÖn lµ TRUE

ThÝ dô:
;nÕu biÕn hÖ thèng $USERID lµ John th×
if $USERID == "John" then
;chuyÓn ®i chuçi Johnny vµ ký tù xuèng dßng
transmit "Johnny^M"
endif

Nh·n: ChØ ra vÞ trÝ trong kÞch b¶n ®Ó nh¶y trong c©u lÖnh goto. Nh·n ph¶i lµ mét tªn thèng nhÊt trong suèt kÞch b¶n vµ tu©n theo c¸ch ®Æt tªn cña biÕn.

set port databits 5/ 6 /7 /8: Thay ®æi sè l­îng bit trong mét byte ®­îc truyÒn vµ nhËn trong suèt kÕt nèi. Sè l­îng bit cã thÓ thay ®æi trong kho¶ng tõ 5 ®Õn 8. NÕu b¹n kh«ng sö dông lÖnh nµy, DUN sÏ sö dông c¸c thiÕt lËp phï hîp ®èi víi mçi kÕt nèi.

ThÝ dô:
set port databits 7

set port parity none | old | even | mark | space: Thay ®æi sù phèi hîp b×nh ®¼ng cho cæng trong qu¸ tr×nh kÕt nèi. NÕu b¹n kh«ng sö dông lÖnh nµy, DUN sÏ sö dông c¸c thiÕt lËp phï hîp ®èi víi mçi kÕt nèi

ThÝ dô:
set port parity even

set port stopbits 1 | 2: Thay ®æi sè l­îng bit dõng cho cæng trong qu¸ tr×nh kÕt nèi. Sè bit dõng cã thÓ lµ 1 hay 2. NÕu b¹n kh«ng sö dông lÖnh nµy, DUN sÏ sö dông c¸c thiÕt lËp phï hîp ®èi víi mçi kÕt nèi

ThÝ dô:
set port stopbits 2

set screen keyboard on | off: KÝch ho¹t hay v« ho¹t kh¶ n¨ng nhËp liÖu tõ bµn phÝm trong cöa sæ Terminal

ThÝ dô:
set screen keyboard on

set ipaddr string: ChØ ra ®Þa chØ IP cña tr¹m lµm viÖc trong qu¸ tr×nh kÕt nèi. Tham sè string ph¶i cã d¹ng ®Þa chØ IP

ThÝ dô:
szIPAddress= "11.543.23 .13"
set ipaddr szIPAddress
set ipaddr "11.543.23.13"
set ipaddr getip

transmit string [,raw]: Göi c¸c ký tù trong chuçi string ®Õn m¸y tÝnh tõ xa.

    M¸y tÝnh tõ xa sÏ nhËn biÕt chuçi escape vµ chuçi caret lóc dÞch trõ khi b¹n thªm tham sè raw vµo c©u lÖnh. Tham sè raw rÊt h÷u dông khi chuyÓn ®i c¸c biÕn hÖ thèng $USERID vµ $PASSWORD cã chøa c¸c ký tù ®Æc biÖt mµ nÕu kh«ng sö dông tham sè raw, c¸c ký tù nµy sÏ ®­îc dÞch nh­ c¸c chuçi escape vµ caret.

ThÝ dô:
transmit "slip" + "^M"
;chuyÓn ®i biÕn hÖ thèng $USERID víi nguyªn
;d¹ng ®­a vµo
transmit $USERID, raw

waitfor string[, matchcase] [then label

{, string [, matchcase] then label}]

[until time]: Chê cho ®Õn khi m¸y tÝnh nhËn ®­îc mét hay nhiÒu chuçi ký tù ®­îc qui ®Þnh trong chuçi string tõ m¸y tÝnh tõ xa. Tham sè string kh«ng ph©n biÖt ch÷ hoa vµ ch÷ th­êng trõ khi b¹n thªm vµo tham sè matchcase.

    NÕu mét chuçi ký tù khíp víi string ®­îc nhËn, lÖnh then label ®­îc sö dông vµ sÏ nh¶y ®Õn vÞ trÝ trong kÞch b¶n cã nh·n label.

    Tham sè tuú chän until time ®­îc ®Þnh nghÜa lµ sè thêi gian tèi ®a mµ m¸y tÝnh ph¶i chê ®Ó nhËn ®­îc chuçi thÝch hîp tõ m¸y tÝnh tõ xa tr­íc khi thi hµnh lÖnh kÕ tiÕp trong kÞch b¶n. NÕu kh«ng cã tuú chän nµy, m¸y tÝnh cña b¹n sÏ chê m¸y tÝnh tõ xa cho ®Õn khi nµo chuçi thÝch hîp ®­îc nhËn.

    NÕu m¸y tÝnh cña b¹n nhËn ®­îc c¸c chuçi thÝch hîp, biÕn hÖ thèng $SUCCESS ®­îc ®Æt lµ TRUE. Ng­îc l¹i, nã ®­îc ®Æt lµ FALSE nÕu thêi gian chê ®· hÕt tr­íc khi nhËn ®­îc chuçi thÝch hîp.

ThÝ dô:
waitfor "Login:";chê nhËn ®­îc chuçi Login
waitfor "Password ?", matchcase
;chê nhËn ®­îc chuçi Prompt trong vßng 10
;gi©y
waitfor "Prompt>" until 10
waitfor
"Login:" then DoLogin
"Password?"then DoPassword
"BBS:" then DoBBS
"Other:" then DoOther
until 10

while ®iÒu kiÖn do

c¸c lÖnh

endwhile

Thi hµnh c¸c lÖnh cho ®Õn khi ®iÒu kiÖn lµ FALSE.

ThÝ dô:
integer count = 0
while count < 4 do
transmit "^M"
waitfor "Login:" until 10
if $SUCCESS then
goto DoLogin
endif
count = cont +1
endwhile

    C¸c tõ dµnh riªng

    C¸c tõ sau ®©y ®­îc ng«n ng÷ lÖnh kÞch b¶n DUN sö dông nh­ lµ c¸c tõ dµnh riªng; b¹n kh«ng thÓ sö dông chóng ®Ó ®Æt tªn cho c¸c biÕn.

and boolean databits delay do endif endproc endwhile even FALSE getip goto halt if integer idaddr keyboard mark on or parity port proc raw screen set space stopbits string then transmit TRUE until waitfor while

X©y dùng øng dông

    Nh­ vËy lµ chóng ta ®· kh¶o s¸t hÇu nh­ toµn bé ng«n ng÷ lÖnh kÞch b¶n DUN. Ng«n ng÷ nµy kh«ng chØ ph¸t huy thÕ m¹nh tù ®éng ho¸ viÖc nèi kÕt mµ trong mét sè tr­êng hîp nã lµ thø kh«ng thÓ thiÕu ®èi víi viÖc nèi kÕt vµo mét sè ISP. ¥ë ViÖt Nam, cã nh÷ng m¸y chñ khi kÕt nèi vµo chóng, b¹n ph¶i b¾t buéc sö dông ng«n ng÷ lÖnh kÞch b¶n DUN. ThÝ dô nh­ m¸y chñ cña VDC ®Æt t¹i Vòng Tµu. §Ó kÕt nèi vµo m¸y chñ nµy, b¹n ph¶i ch¹y mét file cã tªn X25.SCP ®Çy bÝ hiÓm vµ nÕu b¹n hái c¸c qu¶n m¹ng viªn vÒ chóng th× ch¾c ch¾n chØ nhËn ®­îc sù im lÆng! (t«i ®· tõng hái). Nh­ng thùc ra file nµy chØ chøa mét sè lÖnh kÞch b¶n ®¬n gi¶n sau:

proc main
delay 2
transmit "@D^M"
waitfor "NAL="
transmit "^M"
waitfor "@"
transmit "97340046^M"
delay 1
endproc¸

    Ch¾c khái cÇn thuyÕt minh c¸c b¹n còng hiÓu ®­îc ý nghÜa cña tõng c©u lÖnh trªn ®©y.

    Sau khi n¾m v÷ng c¸ch sö dông ng«n ng÷ lÖnh kÞch b¶n DUN (t«i nghÜ lµ nã dÔ h¬n nhiÒu so víi c¸c ng«n ng÷ kh¸c), t«i tin r»ng c¸c b¹n sÏ viÕt ®­îc nh÷ng file kÞch b¶n DUN ®Ó tù ®éng ho¸ c«ng viÖc kÕt nèi cña m×nh.

NguyÔn TÊt Vò

T26 Hoµng Hoa Th¸m, P.13, Q.T©n B×nh TP. Hå ChÝ Minh

Tel : (8) 842 8492

E-mail: genhitsuu@yahoo.com

Theo Dial-Up Scripting Command Language for DUN scripting support- Microsoft Corp. (1995)


PcLeHoan 1996 - 2002
Mirror : http://www.pclehoan.com
Mirror : http://www.lehoanpc.net

Mirror : http://www.ktlehoan.com