ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[¤À¨É] BAT§å¦¸¦¸«ü¥O¡G SET ªº¥\¯à¤¶²Ð

[¤À¨É] BAT§å¦¸¦¸«ü¥O¡G SET ªº¥\¯à¤¶²Ð

BAT§å¦¸¦¸«ü¥O¡G SET  ªº¥\¯à¤¶²Ð

¡ESET  :Åã¥Ü¡B³]©w©Î²¾°£ cmd.exe Àô¹ÒÅܼơC

¡E«ü¥O¸Ô¸Ñ:

SET [variable=[string]]

      variable  «ü©wÀô¹ÒÅܼƦWºÙ¡C
       string    «ü©w³]©wµ¹Åܼƪº¤@¨t¦C¦r¤¸¡C

¶È¿é¤J SET ¦Ó¤£¥[¤W¥ô¦ó°Ñ¼Æ¡A¥i¥HÅã¥Ü¥Ø«eªºÀô¹ÒÅܼơC

¦pªG±z±Ò°Ê¤FÂX¥R«ü¥O¡ASET «ü¥O¦³¥H¤Uªº§ïÅÜ:

¦pªG°õ¦C SET «ü¥O¦Ó¥B¥u±ÀºtÅܼƦWºÙ¡A¨S¦³µ¥¸¹©Î¼Æ­Èªº¸Ü¡A«ü¥O·|Åã¥Ü¥X¥þ³¡¦r­º²Å¦X SET «ü¥O¤¤«ü©wÅܼƦWºÙªº¥þ³¡ÅܼƭȡC
¨Ò¦p:
    SET P
·|¦C¥X¥þ³¡¥H 'P' ¬°¶}ÀYªºÀô¹ÒÅܼơC
¦pªG¦b¥Ø«eªºÀô¹Ò¤¤§ä¤£¦ÜÅܼƦWºÙ¡ASET «ü¥O·|±N ERRORLEVEL³]¬° 1¡C
SET «ü¥O¤£±Nµ¥¸¹ (=) µø¬°ÅܼƦWºÙªº¤@³¡¥÷¡C

¦³¨â­Ó·s°Ñ¼Æ¤w¸g¥[¦Ü SET «ü¥O¤¤:
    SET /A expression
    SET /P variable=[promptString]

/A «ü©w¦bµ¥¸¹¥k¤èªº¦r¦r¦ê¬O¤@­Ó­n³Q¦ÛÅܼƪº¼Æ¦ì¦ÛÅܼƦ¡¡C
±z¥i¥H¥Î¹Bºâ¦¡¶i¦C²³æªº¦ÛÅܼơA¦Ó¥B¤ä´©¤U¦Cªº¦ÛÅܼƤl
(¨Ì·Ó¦ÛÅܼÆÀu¥ý¡]¶¶§Ç¡^¶¶§Ç¥Ñ°ª¦Ü§C¦î¦C):

    ()                  - ²Õ¦¨¤@¸s
    ! ~ -               - ³æ¤¸¹Bºâ¤l
    * / %               - ¼Æ¦ì¦ÛÅܼƤ¸
    + -                 - ¼Æ¦ì¦ÛÅܼƤ¸
    << >>               - ÅÞ¿è¦ì²¾
    &                   - ¦ì¤¸¦ÛÅÜ¼Æ and
    ^                   - ¦ì¤¸¦ÛÅÜ¼Æ exclusive or
    |                   - ¦ì¤¸¦ÛÅÜ¼Æ or
    = *= /= %= += -=    - «ü©w
    &= ^= |= <<= >>=
    ,                   - ¦ÛÅܼƦ¡¤À¹j¦r¤¸

¦pªG±z¨Ï¥Î¤F¥ô¦óÅÞ¿è©Î¾l¼Æ¦ÛÅܼƤl¡A±z¥²¶·±N¦ÛÅܼƦ¡¨âÃä¬A¤W¤Þ¸¹¡C
¥ô¦ó¦b¦ÛÅܼƦ¡¤¤«D¼Æ¦ìªº¦r¦r¦ê·|³Q·í§@Àô¹ÒÅܼơA¨Ã¥B¦b¨Ï¥Î«e·|¥ý±N³o¨ÇÀô¹ÒÅܼƥ洫¬°¼Æ¦ì¡C
¦pªG±z©Ò«ü©wªºÀô¹ÒÅܼƦWºÙ©|¥¼¦b¥Ø«eÀô¹Ò¤¤©w¸q¡A¨º»ò¥Lªº­È·|³Q³]¬° 0¡C
³o¥i¥HÅý±z¥ÎÀô¹ÒÅܼƭȨӰµ¦ÛÅܼơA¦Ó¤£¥²¥´¤J¥þ³¡ªº % ²Å¸¹¨Ó§ä¨ú±o¥Lªº­È¡C
¦pªG SET /A ¬O¥Î«ü¥OÀɤ§¥~ªº«ü¥O¦C°õ¦C¡A¥L·|Åã¥Ü¦ÛÅܼƦ¡³Ì«áªº¼Æ­È¡C
«ü©w¦ÛÅܼƤl»Ý­n¦³­ÓÀô¹ÒÅܼƦbµ¥¸¹ªº¥ª¤è¡C
0x ¦r­º¦b¼Æ¦ì«e¤è¥Nªí®æ¤Q¤»¶i¦ì¼Æ¦ì¡B0b ¦r­º¥Nªí®æ¤G¶i¦ì¼Æ¦ì©Î 0 ¦r­º¥Nªí®æ¤K¶i¦ì¼Æ¦ì¡A§_«h¼Æ¦ì­È³£¬O«ü¤Q¶i¦ì¼Æ¦ì¡C
©Ò¥H 0x12 ´N©M 18¡B022 µ¥¬Û¦P¡C
½Ðª`·N¤K¶i¦ì¼Æ¦ì¥i¯à®e©ö§Ë¿ù: ¹³ 08 ©M 09 ´N¤£¬O¥¿½Tªº¼Æ¦ì¡A¦]¬° 8 ©M 9 ¨Ã¤£¬O¤K¶i¦ìªº¥¿½T¼Æ¦ì¡C

/P °Ñ¼ÆÅý±z³]©w«ü¥O¦Cªº¨Ï¥ÎªÌ¿é¤JÅܼƭȡC
¦bŪ¤J§ä¨ú¿é¤J«ü¥O¦C¤§«e¡AÅã¥Ü«ü©wªº promptString¡C
promptString ¥i¥H¬OªÅ¥Õ¡C

Àô¹ÒÅܼƧä¨ú¥N¥\¯à¤w¸g¦³¤U¦C¼W±j:

    %PATH:str1=str2%

·|±N PATH Àô¹ÒÅܼƮi¶}¡A§ä¨ú¥N¨C­Óµo²{ªº "str1" »P "str2"ªºÂX¥Rµ²ªG¡C
"str2" ¥i¥H¬OªÅ¥Õ¦r¦r¦ê¡A³o·|±qÂX¥R®°¥X¤¤²¾°£¥þ³¡ "str1"¡C
"str1" ¥i¥H¥Î¬Pª¬¹Ï§Î¶}©l¡A³o±N·|±qÂX¥R®°¥Xªº¶}ÀY¶}©l¡A¹ïÀ³¦Ü±q¥þ³¡²Ä¤@­Óµo²{§t¦³str1 ªº¶µ¥Ø¡C

±z¤]¥i¥H¬°ÂX¥R¥\¯à«ü©w¤l¦r¦r¦ê¡C

    %PATH:~10,5%

³o±N·|ÂX¥R PATH Àô¹ÒÅܼơAµM«á¥u¨Ï¥ÎÂX¥Rµ²ªGªº²Ä 11 ­Ó(¦ì²¾ 10)¦r¤¸«áªº 5 ­Ó¦r¤¸¦pªGªø«×¥¼«ü©w¡A±N·|¹w³]¬°¤W¦¸¨Ï¥ÎªºÅܼƭȡC
¦pªG¼Æ¦ì(¦ì²¾©Îªø«×)¬O­t¼Æ¡A¨Ï¥Îªº¼Æ¦ì±N·|¬OÀô¹ÒÅܼƪºªø«×¥[¤W¦ì²¾©Î«ü©wªø«×¡C

    %PATH:~-10%

±N©â¥X PATH Åܼƪº³Ì«á 10 ­Ó¦r¤¸¡C

    %PATH:~0,-2%

±N©â¥X PATH Åܼƪº³Ì«á 2 ­Ó¦r¤¸¡C

³Ì«á¡A¨t²Î¥[¤J¤F©µ¿ðÀô¹ÒÅܼƮi¶}ªº¤ä´©¡C
¦b¹w³]ª¬ºA¤U¡A«ü¥O®i¶}·|±Ò¥Î³o¶µ¥Ø¤ä´©¡A¦ý¬O±z¥i¥H¦b CMD.EXE ¥Î /V «ü¥O¦C°Ñ¼Æ¨Ó±Ò°Ê/°±¥Î³o­Ó¥\¯à¡C
½Ð°Ñ¬Ý CMD /?

©µ¿ðÀô¹ÒÅܼƮi¶}¥\¯à¥i¥Î¨ÓÁ׶}®i¶}¥\¯à­­¨î¡C
³o¶µ¥Ø­­¨î¬Oµo¥Í¦b«ü¥O¦CŪ¤J§ä¨úµ{§Ç¡A¤£¬Oµo¥Í¦b°õ¦Cµ{§Ç¡C
¤U­±ªº½d¨Ò»¡©ú¤F¥ß§Y®i¶}ÅܼƮɷ|µo¥Íªº°ÝÃD:

    set VAR=before
    if "%VAR%" == "before" (
        set VAR=after;
        if "%VAR%" == "after" @echo If you see this, it worked
    )

³o­Ó¨Ò¤l¥Ã»·µLªkÅã¥Ü echo °T®§¡A¦]¬°¦b¨â­Ó IF ±Ô­z¤¤ªº %VAR% ·|¦b²Ä¤@­Ó IF ±Ô­z³QŪ¤J¤J®É«K³Q®i¶}¡C
³o¬O¦]¬°¥L¬OÅÞ¿è¤W±Àºt¤F IF ªº¤º³¡¡A¦Ó¤º³¡¤S¬O¤@­Ó½Æ¦X±Ô­z¡C  
©Ò¥H¦b½Æ¦X±Ô­z¤ºªº IF ¹ê»Ú¤W¬O¥Î"before" ©M "after" ¨Ó¤ñ¸û¡A¦Ó³o¥Ã»·¤£·|¬°¯u¡C
¦P¼Ëªº¡A¤U­±ªº¨Ò¤l¤]¤£·|§@¥Î:

    set LIST=
    for %i in (*) do set LIST=%LIST% %i
    echo %LIST%

³o­Ó¨Ò¤l¤¤¨Ã¤£·|«Ø¥ß¥Ø«e¥Ø¿ý¤¤¥þ³¡Àɮתº²M³æ¡A¬Û¤Ïªº¥u·|±N LIST ÅܼƳ]¬°³Ì«á¤@­Ó§ä¦ÜªºÀɮסC
¦P¼Ë¦a¡A³o¬O¦]¬° %LIST% ¥u¦³¦b FOR ±Ô­z²Ä¤@¦¸³QŪ¤J¤J®É¤~®i¶}¡A¦¹®É LIST ÅܼƬOªÅªº¡C
©Ò¥H§Ú­Ì¹ê»Ú°õ¦Cªº FOR°j°é¬O:

    for %i in (*) do set LIST= %i

³o¥u¬O­«½Æªº±N LIST ³]¬°³Ì«á§ä¦ÜªºÀɮסC

©µ¿ðÀô¹ÒÅܼƮi¶}Åý±z¥i¥H¥Î¤@­Ó¤£¦Pªº¦r¤¸ (Åå¹Ä¸¹) ¦b°õ¦C®É®i¶}Àô¹ÒÅܼơC
¦pªG±Ò°Ê¤F©µ¿ðÀô¹ÒÅܼƮi¶}¡A¤W­±ªº¨Ò¤l¥i¥H³Q§ï¼g¤U¦C¦Ó¥¿±`§@¥Î:

    set VAR=before
    if "%VAR%" == "before" (
        set VAR=after
        if "!VAR!" == "after" @echo If you see this, it worked
    )

    set LIST=
    for %i in (*) do set LIST=!LIST! %i
    echo %LIST%

¦pªG±z±Ò°Ê¤F«ü¥OÂX¥R¡A¦³´X­Ó°ÊºAÀô¹ÒÅܼƷ|³Q®i¶}¦ý¬O¤£·|¥X²{¦b SET©ÒÅã¥ÜªºÀô¹ÒÅܼƲM³æ¤¤¡C
³o¨ÇÅܼƪº­È·|¨C¦¸¦b³o¨ÇÅܼƳQ®i¶}®É°ÊºA¦a­«·s­pºâ¦pªG¨Ï¥ÎªÌ¥Î³o¨ÇÅܼƪº¦WºÙ¨Ó©w¸qÅܼƮɡA
«h³o­Ó·s©w¸q·|Å|¼h¥H¤U©Ò¦Cªº°ÊºAÅܼÆ:

%CD% - ®i¶}¬°§t¥Ø«e¥Ø¿ýªº¦r¦r¦ê¡C
%DATE% - ®i¶}¬°»P DATE «ü¥O®æ¦¡¬Û¦Pªº¥Ø«e¤é´Á¦r¦r¦ê¡C
%TIME% - ®i¶}¬°»P TIME «ü¥O®æ¦¡¬Û¦Pªº¥Ø«e®É¶¡¦r¦r¦ê¡C
%RANDOM% - ®i¶}¬°¤@­Ó¦b 0 ©M 32767 ¤§¶¡ªº¾ã¼Æ¶Ã¼Æ­È¡C
%ERRORLEVEL% - ®i¶}¬°¥Ø«eªº ERRORLEVEL ­È
%CMDEXTVERSION% - ®i¶}¬°¥Ø«eªº«ü¥O³B²zÂX¥R¥\¯àªºª©¥»¸¹½X¡C
%CMDCMDLINE% - ®i¶}¬°°õ¦C«ü¥O³B²z¾¹«eªº­ì©l«ü¥O¦C¡C

BAT§å¦¸«ü¥O¡G SET ªº¥\¯à½d¨Ò¸Ô¸Ñ- ¤@

¥»©«³Ì«á¥Ñ a448488 ©ó 2013-8-15 23:00 ½s¿è

BAT§å¦¸«ü¥O¡G SET ªº¥\¯à½d¨Ò¸Ô¸Ñ- ¤@
-----------------------------------------------------------------------------------------------
¡E«ü¥O¡GSet

¡E»¡©ú¡G«Å§iÅܼơF³]©wÅܼơC
¡E³Æµù¡G¦bDOSÀô¹Ò¤U¿é¤JSet¡A¥i¦C¥XwindowsÀô¹ÒÅܼơC
¡E¥Îªk¡GSET gbs=%OS%           §ä¨ú±o§@·~¨t²Î
        SET xdate=%date%       §ä¨ú±o¥Ø«e¤é´Á20130808
        SET xmonth=%date:~5,2% §ä¨ú±o¥Ø«e¤ë¥÷08
        SET select=
        SET /P select=½Ð¿ï¾Ü¡G µ¥«Ý§ä¨ú±o¨Ï¥ÎªÌ©Ò¿é¤J¦r¤¸
¡E°Ñ¼Æ¡G[variable=[string]]
        /P variable=[promptString]
        /A expression
        Àô¹ÒÅܼƨú¥N¤w¤U¦C¼W±j:
        %PATH:str1=str2%
        %PATH:~10,5%
        %PATH:~-10%
        %PATH:~0,-2%


-----------------------------------------------------------------------------------------------

SET [variable=[string]]

½d¨Ò:
--------------------------
@echo off
set var=§Ú¬O­È
echo %var%
pause
--------------------------
½Ð¬Ý set var=§Ú¬O­È ,³o´N¬OBATª½±µ¦b§å¦¸³B²z§@·~¤¤³]©wÅܼƪº¤èªk!
set ¬O«ü¥O var ¬OÅܼƦW = ¸¹¥kÃ䪺"§Ú¬O­È"¬OÅܼƪº­È
¦b§å¦¸³B²z§@·~¤¤­n°Ñ¦Ò³o­ÓÅÜ´N§â var ÅܼƦW¥Î¨â­Ó%(¦Ê¤À¸¹)¬A°_¨Ó,¦p%var%

³oºØSET»yªk¥u¯àª½±µ¦bBAT­ì©l½X«e½á¤©Åܼƪº­È,¦³®É­Ô»Ý­n´£¨Ñ¤@­Ó¥æ¤¬¤¶­±,
Åý¨Ï¥ÎªÌ¦Û¤v¿é¤JÅܼƪº­È,µM«á§Ú­Ì¦b¨Ó®Ú¾Ú³o­Ó­È¨Ó°µ¬Û¹ï¾Þ§@,
--------------------------

SET /P variable=[promptString]

³oºØSETªº»yªk,¥u»Ý­n¥[¤@­Ó"/P"°Ñ¼Æ´N¥i¥H¤F!

½d¨Ò:
--------------------------
@echo off
set /p var=½Ð¿é¤JÅܼƪº­È:
if %var% == 1 echo ±z¿é¤J¤F 1 ~_~
pause
--------------------------
set /p ¬O«ü¥O»yªk var ¬OÅܼƦW = ¸¹¥kÃ䪺"½Ð¿é¤JÅܼƪº­È: ",³o­Ó¬O´£¥Ü»y,¤£¬OÅܶqªº­È!
°õ¦æ«á,¦b´£¥Ü»y«á­±ª½±µ¿é¤J1,´N·|Åã¥Ü¤@¦C¿é¤Jªº 1 ~_~ ,¿é¤J§Oªº´N¨S¦³¥ô¦ó¤Ï¬M!
--------------------------

SET /A expression

/A «ü¥O¦C¶}Ãö«ü©wµ¥¸¹¥kÃ䪺¤å¦r¦ê¬°³Qµû¦ôªº¼Æ¦ì¹Bºâ¦¡¡C
¸Ó¹Bºâ¦¡µû¦ô¾¹«Ü²³æ¨Ã¥H»¼´îªºÀu¥ý¡]¶¶§Ç¡^¤ä´©¤U¦C¾Þ§@:

    ()      - À£ÁY§Î¦¡
    ! ~ -   - ³æ¤¸¹Bºâ¤l
    * / %   - ºâ¼Æ¹Bºâ¤l
    + -     - ºâ¼Æ¹Bºâ¤l
    << >>   - ÅÞ¿è¦ì²¾
    &       - «ö¦ì¡u»P¡v
    ^       - «ö¦ì¡u¤¬¥¸©Î¡v
    |       - «ö¦ì¡u©Î¡v
    = *= /= %= += -= - ½á­È
    &= ^= |= <<= >>=
    ,       - ¹Bºâ¦¡¤À¹j²Å¸¹

¤W­±³o¨Ç¬O¨t²Î»¡©ú¸Ìªº¤º®e,²³æ½Ķ¤@¤U:
setªº/A°Ñ¼Æ´N¬OÅýSET¥i¥H¤ä´©¸s½×²Å¸¹¶i¦C¥[´îµ¥¤@¨Ç¸s½×¦ÛÅܼÆ!

²{¦bÁ|¨Ò¤l¤¶²Ð³o¨Ç¸s½×²Å¸¹ªº¥Îªk:

¬Ý½d¨Ò:
³o¸Ìªº¨Ò¤l½Ðª½±µ¦bCMD¤U½Æ»s«ü¥O°õ¦æ,¤£»Ý­nÀx¦s¬°BAT!
set /a var=1 + 1
set /a ¤åªk, varÅܼƦW 1 + 1 ¸s½×¦¡¤l

½Æ»s°õ¦æ«á·|ª½±µÅã¥Ü¤@­Ó2,©ÎªÌ°õ¦æ§¹«á§Ú­Ì¿é¤Jecho %var%,¤]¬O¤G,
³o´N¬O¤@­Ó²³æªº¥[ªk¦ÛÅܼÆ!

set /a var=2 - 1         µ²ªG¬O¦h¤Ö©O?¦pªG§A¬Ý¤£¦Üµ²ªG´Necho %var%.....
set /a var=2 * 2         ­¼ªk¦ÛÅܼÆ
set /a var=2 / 2         °£ªk¦ÛÅܼÆ
set /a var=(1+1) + (1+1) µ²ªGµ¥©ó4 ¬Ý±oÀ´§a!
set /a a=1+1,b=2+1,c=3+1

°õ¦æ«á·|Åã¥Ü¤@­Ó4,¦ý¥Îecho %a% %b% %c%«á¬Ýµ²ªG,·|µo²{¨ä¥L¸s½×¦ÛÅܼƤ]¦³®ÄªG!³o´N¬O"¤æ"¸¹ªº§@¥Î!

¦³®É­Ô»Ý­nª½±µ¦b­ìÅܼƶi¦C¥[´î¾Þ§@´N¥i¥H¥Î³oºØ»yªk

set /a var+=1 ³o¼Ëªº»yªk¹ïÀ³­ì©l»yªk´N¬Oset /a var = %var% + 1
³£¬O¤@¼Ëªºµ²ªG,¦b­ìÅܼƪº­È¤W¦b¶i¦C¸s½×¦ÛÅܼÆ,¤£¹L³o¼Ë¼g²³æ¤@ÂI
¦A¼g¤@­Ó:
set /a var*=2
¨ä¥L³£³o»ò¥Î,¥u­n»¡©ú¦³³o­Ó»yªk!

¥t¥~ÁÙ¦³¤@¨Ç¥ÎÅÞ¿è©Î§ä¨ú§E¹Bºâ¤l,³o¨Ç²Å¸¹,¨Ì·Ó¤W­±ªº¨Ï¥Î¤èªk·|³ø¿ùªº.....

¤ñ¦p¦bCMD¸Ì¿é¤Jset /a var=1 & 1 "»P¦ÛÅܼÆ",¥¦¨Ã¤£·|Åã¥Ü¬°1,¦Ó¬O³ø¿ù,¬°¤°»ò?
¹ï©ó³o¼Ëªº"ÅÞ¿è©Î§ä¨ú§E¹Bºâ¤l",»Ý­n§â¥¦­Ì¥ÎÂù¤Þ¸¹¤Þ°_¨Ó,¬Ý¨Ò:

set /a var= 1 "&" 1  ³o¼Ëµ²ªG´NÅã¥Ü¥X¨Ó¤F,¨ä¥LÅÞ¿è©Î§ä¨ú§E¹Bºâ¤l¥Îªk
set /a var= 1 "+" 1  ¤¬¥¸©Î¦ÛÅܼÆ
set /a var= 1 "%" 1  §ä¨ú¼Ò¦ÛÅܼÆ
set /a var= 2 "<<" 2 ¦¸¤è¦ÛÅܼÆ
set /a var= 4 ">>" 2 ....

³o¨Ç²Å¸¹¤]¥i¥H¥Î&= ^= |= <<= >>= ³o¼ËªºÂ²³æ¥Îªk¦p
set /a var"&=" 1 µ¥©óset /a var = %var% "&" 1 ª`·N¤Þ¸¹

²{¦b»¡%PATH:str1=str2%

³o­Ó¬O¨ú¥NÅܼƭȪº¤º®e

½d¨Ò:
--------------------------
@echo off
set a= bbs.verybat.cn
echo ¨ú¥N«eªº­È: "%a%"
set var=%a: =%
echo ¨ú¥N«áªº­È: "%var%"
pause
--------------------------
¹ï¤ñ¤@¤U,µo²{¥¦§âÅܼÆ%a%ªºªÅ¥Õ¦r¤¸µ¹¨ú¥N±¼¤F,±q³o­Ó½d¨Ò,§Ú­Ì´N¥i¥Hµo²{
%PATH:str1=str2%³o­Ó¾Þ§@´N¬O§âÅܼÆ%PATH%ªº¸Ìªºstr1¥þ³¡¥Îstr2¨ú¥N

¤ñ¦p§â¤W­±ªº¨Ò¤l§ï¦¨³o¼Ë
--------------------------
@echo off
set a=bbs.verybat.cn
echo ¨ú¥N«eªº­È: "%a%"
set var=%a:.=¶Ë¸£µ¬%
echo ¨ú¥N«áªº­È: "%var%"
pause
--------------------------
½Ķset var=%a:.=¶Ë¸£µ¬%
set«ü¥O varÅܼƦW ¦ra¬O­n¶i¦C¦r¤¸¨ú¥NªºÅܼƪº­È,"."¬°­n¨ú¥Nªº­È,"¶Ë¸£µ¬"¬°¨ú¥N«áªº­È!
°õ¦C«á´N·|§âÅܼÆ%a%¸Ì­±ªº"."¥þ³¡¨ú¥N¬°"¶Ë¸£µ¬"³o´N¬OsetªºÀH´«¦r¤¸ªº«Ü¦nªº¥\¯à!


%PATH:~10,5% ³o¬O¤°»ò·N«ä?

½d¨Ò:
--------------------------
@echo off
set a=bbs.verybat.cn
set var=%a:~1,2%
echo %var%
pause
--------------------------
°õ¦C«á,·|µo²{¥uÅã¥Ü¤F"bs"¨â­Ó¦r¥À,ÅܼÆ%a%ªº­È¤£¬O¬°bbs.verybat.cn¶Ü?
«ç»ò¥uÅã¥Ü¤F²Ä2­Ó¦r¥À©M²Ä3­Ó¦r¥À"bs",¤ÀªR¤@µ²ªG´N¥i¥H«Ü®e©ö¬Ý¥X
%PATH:~10,5%´N¬OÅã¥ÜÅܼÆPATH¸Ì«ü©w´X¦ìªº­È!
¤ÀªRset var=%a:~1,2%
set«ü¥O varÅÜ¼Æ­È a ­n¶i¦C¦r¤¸¾Þ§@ªºÅÜ¼Æ "1" ±qÅÜ¼Æ "a" ²Ä´X¦ì¶}©lÅã¥Ü "2" Åã¥Ü´X¦ì©M°_¨Ó´N¬O§âÅÜ¼Æ a ªº­È,±q²Ä¤@¦ì¶}©l,§â«á¨â¦ì½á¤©µ¹ÅܼÆvar
´N¼Ë¦]¸Ó©ú¥Õ¤F§a~
--------------------------
¨ä¥L¨âºØ»yªk:
%PATH:~-10%
%PATH:~0,-2%
¤]¬OÅã¥Ü«ü©wÅܼƫü©w´X¦ìªº­È±oªº·N«ä


%PATH:~-10%

½d¨Ò:
--------------------------
@echo off
set a=bbs.verybat.cn
set var=%a:~-3%
echo %var%
pause
--------------------------

³o­Ó´N¬O§âÅܼÆa­Ë¼Æ3¦ìªº­Èµ¹ÅܼÆVAR

·íµM§Ú­Ì¤]¥i¥H§ï¦¨³o¼Ë
--------------------------
@echo off
set a=bbs.verybat.cn
set var=%a:~3%
echo %var%
pause
--------------------------

³o­Ó´N¬O§âÅܼÆaªº±q²Ä3¦ì¶}©l«á­±¥þ³¡ªº­Èµ¹ÅܼÆVAR

%PATH:~0,-2%

½d¨Ò:
--------------------------
@echo off
set a=bbs.verybat.cn
set var=%a:~0,-3%
echo %var%
pause
--------------------------

°õ¦C«á,µo²{Åã¥Üªº¬O"bbs.verybat",¤Ö¤F".cn" ;±qµ²ªG¤ÀªR,«Ü®e©ö¤ÀªR¥X,³o¬O§âÅܼÆaªº­È±q0¦ì¶}©l,¦Ü­Ë¼Æ²Ä¤T¦ì¤§¶¡ªº­È¥þ³¡½á¤©µ¹var

¦pªG§ï¦¨³o¼Ë
--------------------------
@echo off
set a=bbs.verybat.cn
set var=%a:~2,-3%
echo %var%
pause
--------------------------

TOP

BAT§å¦¸«ü¥O¡G SET ªº¥\¯à½d¨Ò¸Ô¸Ñ- ¤G


SET     Åã¥Ü¡A³]©wÀô¹ÒÅܼÆ


Syntax:        
        SET [ variable=[string]]
Example:        
        set             Åã¥Ü¥Ø«eÀô¹ÒÅܼÆ
        set P           ¦C¥X©Ò¦³¥H'P'¶}ÀYªºÀô¹ÒÅܼÆ
        set USER=Tom    ±NUSER¥[¤JÀô¹ÒÅܼƤ¤
        set PATH=C:\test;%PATH%
               ±NC:\test¥[¤J¥Ø«eªºÀô¹ÒÅܼƤ¤(¥u¹ï·í«eªºCommand Prompt¦³®Ä)
        set /P str=Message
               ¦b¿Ã¹õ¤WÅã¥ÜMessage¡A¨Ã±N¨Ï¥ÎªÌ¿é¤J³]©w¬°ÅܼÆstr

°Ñ¦ÒÅܼƥi¦bÅܼƦW«e«á¥[ % ¡A§Y %ÅܼƦW%
set                             #Åã¥Ü¥Ø«e¥þ³¡¥i¥ÎªºÅܼơAÀ£ÁY§Î¦¡¬A¨t²ÎÅܼƩM¦Û­qªºÅܼÆ
echo %SystemDrive%    #Åã¥Ü¨t²Î½L½L²Å¡C¨t²ÎÅܼƥi¥Hª½±µ°Ñ¦Ò
set p                          #Åã¥Ü¥þ³¡¥Hp¶}ÀYªºÅܼơA­n¬O¤@­Ó¤]¨S¦³´N³]errorlevel=1
set p=aa1bb1aa2bb2     #³]©wÅܼÆp¡A¨Ã½á­È¬° = «á­±ªº¤å¦r¦ê¡A§Yaa1bb1aa2bb2
echo %p%                   #Åã¥ÜÅܼÆp¥Nªí®æªº¤å¦r¦ê¡A§Yaa1bb1aa2bb2
echo %p:~6%              #Åã¥ÜÅܼÆp¤¤²Ä6­Ó¦r¤¸¥H«áªº¥þ³¡¦r¤¸¡A§Yaa2bb2
echo %p:~6,3%            #Åã¥Ü²Ä6­Ó¦r¤¸¥H«áªº3­Ó¦r¤¸¡A§Yaa2
echo %p:~0,3%            #Åã¥Ü«e3­Ó¦r¤¸¡A§Yaa1
echo %p:~-2%             #Åã¥Ü³Ì«á­±ªº2­Ó¦r¤¸¡A§Yb2
echo %p:~0,-2%           #Åã¥Ü°£¤F³Ì«á2­Ó¦r¤¸¥H¥~ªº¨ä¥L¦r¤¸¡A§Yaa1bb1aa2b
echo %p:aa=c%            #¥Îc¨ú¥NÅܼÆp¤¤¥þ³¡ªºaa¡A§YÅã¥Üc1bb1c2bb2
echo %p:aa=%             #±NÅܼÆp¤¤ªº¥þ³¡aa¤å¦r¦ê¸m´«¬°ªÅ¡A§YÅã¥Ü1bb12bb2
echo %p:*bb=c%          #²Ä¤@­Óbb¤Î¨ä¤§«eªº¥þ³¡¦r¤¸³Q¨ú¥N¬°c¡A§YÅã¥Üc1aa2bb2
set p=%p:*bb=c%         #³]©wÅܼÆp¡A½á­È¬° %p:*bb=c% ¡A§Yc1aa2bb2
set /a p=39                  #³]©wp¬°¼Æ­È«¬ÅܼơA­È¬°39
set /a p=39/10              #¤ä´©¹Bºâ¤l¡A¦³¤p¼Æ®É¥Î¥h§Àªk¡A39/10=3.9¡A¥h§À±o3¡Ap=3
set /a p=p/10               #¥Î /a °Ñ¼Æ®É¡A¦b = «á­±ªºÅܼƥi¥H¤£¥[%ª½±µ°Ñ¦Ò
set /a p=¡v1&0¡ª           #¡v»P¡v¦ÛÅܼơA­n¥[¤Þ¸¹¡C¨ä¥L¤ä´©ªº¹Bºâ¤l°Ñ¨£set/?
set p=                         #§ä¨ú®øpÅܼÆ
set /p p=½Ð¿é¤J
¿Ã¹õ¤WÅã¥Ü¡v½Ð¿é¤J¡v¡A¨Ã·|±N¿é¤Jªº¤å¦r¦ê½á­Èµ¹ÅܼÆp
ª`·N³o±ø¥i¥H¥Î¨Ó§ä¨ú¥N choice «ü¥O
ª`·NÅܼƦb if ©M for ªºÎ`¦X»y¥y¸Ì¬O³æµ{²¼¥þ³¡¨ú¥Nªº¡A
¦p:
@echo off
set p=aaa
if %p%==aaa (
      echo %p%
      set p=bbb
      echo %p%
      )
µ²ªG±NÅã¥Ü
aaa
aaa
¦]¬°¦bŪ¤J§ä¨ú if ±Ô­z®É¤w¸g±N¥þ³¡ %p% ¨ú¥N¬°aaa
³o¸Ìªº""¨ú¥N""¡A¦b /? »¡©ú¸Ì´N¬O«ü""ÂX¥R""¡B""Àô¹ÒÅܼÆÂX¥R""
¥i¥H±Ò°Ê [©µ½wÀô¹ÒÅܼÆÂX¥R] ¥Î ! ¨Ó°Ñ¦ÒÅܼơA§Y !ÅܼƦW!
¦p:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
set p=aaa
if %p%==aaa (
      echo %p%
      set p=bbb
      echo !p!
      )
ENDLOCAL
µ²ªG±NÅã¥Ü
aaa
bbb
ÁÙ¦³´X­Ó°ÊºAÅܼơA°õ¦æ set ¬Ý¤£¨ì
%CD%                       #¥Nªí®æ¥Ø«e¥Ø¿ýªº¤å¦r¦ê
%DATE%                    #¥Ø«e¤é´Á
%TIME%                    #¥Ø«e®É¶¡
%RANDOM%                #ÀH¾÷¾ã¼Æ¡A¤¶©ó0~32767
%ERRORLEVEL%           #¥Ø«e ERRORLEVEL ­È
%CMDEXTVERSION%     #¥Ø«e«ü¥O³B²z¾¹°ÆÀɦWª©¥»¸¹
%CMDCMDLINE%          #©I¥s«ü¥O³B²z¾¹ªº­ì©l«ü¥O¦C
¥i¥H¥Îecho«ü¥OÀ˵ø¨C­ÓÅܼƭȡA¦p echo %time%
ª`·N %time% ºë½T¦Ü²@¬í¡A¦b§å¦¸³B²z§@·~»Ý­n©µ®É³B²z®É¥i¥H¥Î¨ì¡C

TOP

        ÀR«ä¦Û¦b : ­ì½Ì§O¤H´N¬Oµ½«Ý¦Û¤v¡C
ªð¦^¦Cªí ¤W¤@¥DÃD