×¢²á | µÇ¼ Íü¼ÇÃÜÂ룿 51ctoÊ×Ò³ | ²©¿Í | ÂÛ̳ | ÕÐÆ¸
ÈȵãÎÄÕ һ¸öºÚ¿ÍÓëÒ»¸öµçÄ԰׳յÄ..
¡¡°ïÖú

bat ѧϰ


2007-12-14 08:14:47
¡¡±êÇ©£ºÍøÂç ѧϰ bat¡¡¡¡¡¡[ÍÆË͵½¼¼ÊõȦ]

echo¡¢@¡¢call¡¢pause¡¢rem(С¼¼ÇÉ£ºÓÃ::´úÌærem)ÊÇÅú´¦ÀíÎļþ×î³£ÓõöÃüÁÎÒÃǾʹÓËûÃÇ¿ªÊ¼Ñ§Æð¡£
==== ×¢ ===========
Ê×ÏÈ, @ ²»ÊÇÒ»¸öÃüÁî, ¶øÊÇDOS Åú´¦ÀíµÄÒ»¸öÌØÊâ±ê¼Ç·û, ½öÓÃÓÚÆÁ±ÎÃüÁîÐлØÏÔ. ÏÂÃæÊÇDOSÃüÁîÐлòÅú´¦ÀíÖпÉÄÜ»á¼ûµ½µÄÒ»Ð©ÌØÊâ±ê¼Ç·û:
CR(0D) ÃüÁîÐнáÊø·û
Escape(1B) ANSIתÒå×Ö·ûÒýµ¼·û
Space(20) ³£ÓõIJÎÊý½ç¶¨·û
Tab(09) ; = ²»³£ÓõIJÎÊý½ç¶¨·û
+ COPYÃüÁîÎļþÁ¬½Ó·û
* ? ÎļþͨÅä·û
"" ×Ö·û´®½ç¶¨·û
| ÃüÁî¹ÜµÀ·û
< > >> ÎļþÖØ¶¨Ïò·û
@ ÃüÁîÐлØÏÔÆÁ±Î·û
/ ²ÎÊý¿ª¹ØÒýµ¼·û
: Åú´¦Àí±êÇ©Òýµ¼·û
% Åú´¦Àí±äÁ¿Òýµ¼·û
Æä´Î, :: ȷʵ¿ÉÒÔÆðµ½rem µÄ×¢ÊÍ×÷ÓÃ, ¶øÇÒ¸ü¼ò½àÓÐЧ; µ«ÓÐÁ½µãÐèҪעÒâ:
µÚÒ», ³ýÁË :: Ö®Íâ, ÈκÎÒÔ :¿ªÍ·µÄ×Ö·ûÐÐ, ÔÚÅú´¦ÀíÖж¼±»ÊÓ×÷±êºÅ, ¶øÖ±½ÓºöÂÔÆäºóµÄËùÓÐÄÚÈÝ, Ö»ÊÇΪÁËÓëÕý³£µÄ±êºÅÏàÇø±ð, ½¨ÒéʹÓà goto ËùÎÞ·¨Ê¶±ðµÄ±êºÅ, ¼´ÔÚ :ºó½ô¸úÒ»¸ö·Ç×ÖĸÊý×ÖµÄÒ»¸öÌØÊâ·ûºÅ.
µÚ¶þ, Óërem ²»Í¬µÄÊÇ, ::ºóµÄ×Ö·ûÐÐÔÚÖ´ÐÐʱ²»»á»ØÏÔ, ÎÞÂÛÊÇ·ñÓÃecho on´ò¿ªÃüÁîÐлØÏÔ״̬, ÒòΪÃüÁî½âÊÍÆ÷²»ÈÏΪËûÊÇÒ»¸öÓÐЧµÄÃüÁîÐÐ, ¾Í´ËµãÀ´¿´, rem ÔÚijЩ³¡ºÏϽ«±È :: ¸üΪÊÊÓÃ; ÁíÍâ, rem ¿ÉÒÔÓÃÓÚ config.sys ÎļþÖÐ.
=====================
echo ±íʾÏÔʾ´ËÃüÁîºóµÄ×Ö·û
echo off ±íʾÔÚ´ËÓï¾äºóËùÓÐÔËÐеÄÃüÁî¶¼²»ÏÔʾÃüÁîÐб¾Éí
@Óëecho offÏàÏ󣬵«ËüÊǼÓÔÚÿ¸öÃüÁîÐеÄ×îÇ°Ãæ£¬±íʾÔËÐÐʱ²»ÏÔʾÕâÒ»ÐеÄÃüÁîÐУ¨Ö»ÄÜÓ°Ï쵱ǰÐУ©¡£
call µ÷ÓÃÁíÒ»¸öÅú´¦ÀíÎļþ£¨Èç¹û²»ÓÃcall¶øÖ±½Óµ÷ÓñðµÄÅú´¦ÀíÎļþ£¬ÄÇôִÐÐÍêÄǸöÅú´¦ÀíÎļþºó½«ÎÞ·¨·µ»Øµ±Ç°Îļþ²¢Ö´Ðе±Ç°ÎļþµÄºóÐøÃüÁ¡£
pause ÔËÐд˾ä»áÔÝÍ£Åú´¦ÀíµÄÖ´Ðв¢ÔÚÆÁÄ»ÉÏÏÔʾPress any key to continue...µÄÌáʾ£¬µÈ´ýÓû§°´ÈÎÒâ¼üºó¼ÌÐø
rem ±íʾ´ËÃüÁîºóµÄ×Ö·ûΪ½âÊÍÐУ¨×¢ÊÍ£©£¬²»Ö´ÐУ¬Ö»ÊǸø×Ô¼º½ñºó²Î¿¼Óõģ¨Ï൱ÓÚ³ÌÐòÖеÄ×¢ÊÍ£©¡£
==== ×¢ =====
´Ë´¦µÄÃèÊö½ÏΪ»ìÂÒ, ²»ÈçÖ±½ÓÒýÓøöÃüÁîµÄÃüÁîÐаïÖú¸üΪÌõÀí
-------------------------
ECHO
µ±³ÌÐòÔËÐÐʱ£¬ÏÔʾ»òÒþ²ØÅú´¦Àí³ÌÐòÖеÄÕýÎÄ¡£Ò²¿ÉÓÃÓÚÔÊÐí»ò½ûÖ¹ÃüÁîµÄ»ØÏÔ¡£
ÔÚÔËÐÐÅú´¦Àí³ÌÐòʱ£¬MS-DOSÒ»°ãÔÚÆÁÄ»ÉÏÏÔʾ£¨»ØÏÔ£©Åú´¦Àí³ÌÐòÖеÄÃüÁî¡£
ʹÓÃECHOÃüÁî¿É¹Ø±Õ´Ë¹¦ÄÜ¡£
Óï·¨
ECHO [ON|OFF]
ÈôÒªÓÃechoÃüÁîÏÔʾһÌõÃüÁ¿ÉÓÃÏÂÊöÓï·¨£º
echo [message]
²ÎÊý
ON|OFF
Ö¸¶¨ÊÇ·ñÔÊÐíÃüÁîµÄ»ØÏÔ¡£ÈôÒªÏÔʾµ±Ç°µÄECHOµÄÉèÖ㬿ÉʹÓò»´ø²ÎÊýµÄECHO
ÃüÁî¡£
message
Ö¸¶¨ÈÃMS-DOSÔÚÆÁÄ»ÉÏÏÔʾµÄÕýÎÄ¡£
-------------------
CALL
´ÓÒ»¸öÅú´¦Àí³ÌÐòÖе÷ÓÃÁíÒ»¸öÅú´¦Àí³ÌÐò£¬¶ø²»»áÒýÆðµÚÒ»¸öÅú´¦ÀíµÄÖÐÖ¹¡£
Óï·¨
CALL [drive:][path]filename [batch-parameters]
²ÎÊý
[drive:][path]filename
Ö¸¶¨Òªµ÷ÓõÄÅú´¦Àí³ÌÐòµÄÃû×Ö¼°Æä´æ·Å´¦¡£ÎļþÃû±ØÐëÓÃ.BAT×÷À©Õ¹Ãû¡£

batch-parameters
Ö¸¶¨Åú´¦Àí³ÌÐòËùÐèµÄÃüÁîÐÐÐÅÏ¢¡£
-------------------------------
PAUSE
ÔÝÍ£Åú´¦Àí³ÌÐòµÄÖ´Ðв¢ÏÔʾһÌõÏûÏ¢£¬ÌáʾÓû§°´ÈÎÒâ¼ü¼ÌÐøÖ´ÐС£Ö»ÄÜÔÚÅú´¦
Àí³ÌÐòÖÐʹÓøÃÃüÁî¡£
Óï·¨
PAUSE

REM
ÔÚÅú´¦ÀíÎļþ»òCONFIG.SYSÖмÓÈë×¢½â¡£Ò²¿ÉÓÃREMÃüÁîÀ´ÆÁ±ÎÃüÁÔÚCONFIG.SYS
ÖÐÒ²¿ÉÒÔÓ÷ֺŠ; ´úÌæREMÃüÁµ«ÔÚÅú´¦ÀíÎļþÖÐÔò²»ÄÜÌæ´ú£©¡£
Óï·¨
REM [string]
²ÎÊý
string
Ö¸¶¨ÒªÆÁ±ÎµÄÃüÁî»òÒª°üº¬µÄ×¢½â¡£
=======================
Àý1£ºÓÃedit±à¼­a.batÎļþ£¬ÊäÈëÏÂÁÐÄÚÈݺó´æÅÌΪc:\a.bat£¬Ö´ÐиÃÅú´¦ÀíÎļþºó¿ÉʵÏÖ£º½«¸ùĿ¼ÖÐËùÓÐÎļþдÈë a.txtÖУ¬Æô¶¯UCDOS£¬½øÈëWPSµÈ¹¦ÄÜ¡£
Åú´¦ÀíÎļþµÄÄÚÈÝΪ: ÃüÁî×¢ÊÍ£º
@echo off ²»ÏÔʾºóÐøÃüÁîÐм°µ±Ç°ÃüÁîÐÐ
dir c:\*.* >a.txt ½«cÅÌÎļþÁбíдÈëa.txt
call c:\ucdos\ucdos.bat µ÷ÓÃucdos
echo ÄãºÃ ÏÔʾ"ÄãºÃ"
pause ÔÝÍ£,µÈ´ý°´¼ü¼ÌÐø
rem ×¼±¸ÔËÐÐwps ×¢ÊÍ£º×¼±¸ÔËÐÐwps
cd ucdos ½øÈëucdosĿ¼
wps ÔËÐÐwps
Åú´¦ÀíÎļþµÄ²ÎÊý
Åú´¦ÀíÎļþ»¹¿ÉÒÔÏñCÓïÑԵĺ¯ÊýÒ»ÑùʹÓòÎÊý£¨Ï൱ÓÚDOSÃüÁîµÄÃüÁîÐвÎÊý£©£¬ÕâÐèÒªÓõ½Ò»¸ö²ÎÊý±íʾ·û"%"¡£
%[1-9]±íʾ²ÎÊý£¬²ÎÊýÊÇÖ¸ÔÚÔËÐÐÅú´¦ÀíÎļþʱÔÚÎļþÃûºó¼ÓµÄÒÔ¿Õ¸ñ£¨»òÕßTab£©·Ö¸ôµÄ×Ö·û´®¡£±äÁ¿¿ÉÒÔ´Ó%0µ½%9£¬%0±íʾÅú´¦ÀíÃüÁî±¾Éí£¬ÆäËü²ÎÊý×Ö·û´®ÓÃ%1µ½%9˳Ðò±íʾ¡£
Àý2£ºC:¸ùĿ¼ÏÂÓÐÒ»Åú´¦ÀíÎļþÃûΪf.bat£¬ÄÚÈÝΪ£º
@echo off
format %1
Èç¹ûÖ´ÐÐC:\>f a:
ÄÇôÔÚÖ´ÐÐf.batʱ£¬%1¾Í±íʾa:£¬ÕâÑùformat %1¾ÍÏ൱ÓÚformat a:£¬ÓÚÊÇÉÏÃæµÄÃüÁîÔËÐÐʱʵ¼ÊÖ´ÐеÄÊÇformat a:
Àý3£ºC:¸ùĿ¼ÏÂÒ»Åú´¦ÀíÎļþÃûΪt.bat£¬ÄÚÈÝΪ:
@echo off
type %1
type %2
ÄÇôÔËÐÐC:\>t a.txt b.txt
%1 : ±íʾa.txt
%2 : ±íʾb.txt
ÓÚÊÇÉÏÃæµÄÃüÁ˳ÐòµØÏÔʾa.txtºÍb.txtÎļþµÄÄÚÈÝ¡£
==== ×¢ ===============
²ÎÊýÔÚÅú´¦ÀíÖÐÒ²×÷Ϊ±äÁ¿´¦Àí, ËùÒÔͬÑùʹÓðٷֺÅ×÷ΪÒýµ¼·û, Æäºó¸ú0-9ÖеÄÒ»¸öÊý×Ö¹¹³É²ÎÊýÒýÓ÷û. ÒýÓ÷ûºÍ²ÎÊýÖ®¼ä (ÀýÈçÉÏÎÄÖÐµÄ %1 Óë a: ) µÄ¹ØÏµÀàËÆÓÚ±äÁ¿Ö¸ÕëÓë±äÁ¿ÖµµÄ¹ØÏµ. µ±ÎÒÃÇÒªÒýÓõÚʮһ¸ö»ò¸ü¶à¸ö²ÎÊýʱ, ¾Í±ØÐëÒÆ¶¯DOS µÄ²ÎÊýÆðʼָÕë. shift ÃüÁîÕý³äµ±ÁËÕâ¸öÒÆ¶¯Ö¸ÕëµÄ½ÇÉ«, Ëü½«²ÎÊýµÄÆðʼָÕëÒÆ¶¯µ½ÏÂÒ»¸ö²ÎÊý, ÀàËÆC ÓïÑÔÖеÄÖ¸Õë²Ù×÷. ͼʾÈçÏÂ:
³õʼ״̬, cmd ΪÃüÁîÃû, ¿ÉÒÔÓà %0 ÒýÓÃ
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9
¾­¹ý1´Îshiftºó, cmd ½«ÎÞ·¨±»ÒýÓÃ
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9
¾­¹ý2´Îshiftºó, arg1Ò²±»·ÏÆú, %9Ö¸ÏòΪ¿Õ, ûÓÐÒýÓÃÒâÒå
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8
Òź¶µÄÊÇ, win9x ºÍDOSϾù²»Ö§³Ö shift µÄÄæ²Ù×÷. Ö»ÓÐÔÚ nt ÄÚºËÃüÁîÐл·¾³ÏÂ, shift ²ÅÖ§³Ö /n ²ÎÊý, ¿ÉÒÔÒÔµÚÒ»²ÎÊýΪ»ù×¼·µ¸´Òƶ¯ÆðʼָÕë.
=================
ÌØÊâÃüÁî

if goto choice forÊÇÅú´¦ÀíÎļþÖбȽϸ߼¶µÄÃüÁÈç¹ûÕ⼸¸öÄãÓõúÜÊìÁ·£¬Äã¾ÍÊÇÅú´¦ÀíÎļþµÄר¼ÒÀ²¡£

Ò»¡¢if ÊÇÌõ¼þÓï¾ä£¬ÓÃÀ´ÅжÏÊÇ·ñ·ûºÏ¹æ¶¨µÄÌõ¼þ£¬´Ó¶ø¾ö¶¨Ö´Ðв»Í¬µÄÃüÁî¡£ ÓÐÈýÖÖ¸ñʽ:
1¡¢if [not] "²ÎÊý" == "×Ö·û´®" ´ýÖ´ÐеÄÃüÁî
²ÎÊýÈç¹ûµÈÓÚ(not±íʾ²»µÈ£¬ÏÂͬ)Ö¸¶¨µÄ×Ö·û´®£¬ÔòÌõ¼þ³ÉÁ¢£¬ÔËÐÐÃüÁ·ñÔòÔËÐÐÏÂÒ»¾ä¡£
Àý£ºif "%1"=="a" format a:
====
if µÄÃüÁîÐаïÖúÖйØÓڴ˵ãµÄÃèÊöΪ:
IF [NOT] string1==string2 command
ÔÚ´ËÓÐÒÔϼ¸µãÐèҪעÒâ:
1. °üº¬×Ö·û´®µÄË«ÒýºÅ²»ÊÇÓï·¨Ëù±ØÐëµÄ, ¶øÖ»ÊÇϰ¹ßÉÏʹÓõÄÒ»ÖÖ"·À¿Õ"×Ö·û
2. string1 δ±ØÊDzÎÊý, ËüÒ²¿ÉÒÔÊÇ»·¾³±äÁ¿, Ñ­»·±äÁ¿ÒÔ¼°ÆäËû×Ö·û´®³£Á¿»ò±äÁ¿
3. command ²»ÊÇÓï·¨Ëù±ØÐëµÄ, string2 ºó¸úÒ»¸ö¿Õ¸ñ¾Í¿ÉÒÔ¹¹³ÉÒ»¸öÓÐЧµÄÃüÁîÐÐ
=============================
2¡¢if [not] exist [·¾¶\]ÎļþÃû ´ýÖ´ÐеÄÃüÁî
Èç¹ûÓÐÖ¸¶¨µÄÎļþ£¬ÔòÌõ¼þ³ÉÁ¢£¬ÔËÐÐÃüÁ·ñÔòÔËÐÐÏÂÒ»¾ä¡£
Èç: if exist c:\config.sys type c:\config.sys
±íʾÈç¹û´æÔÚc:\config.sysÎļþ£¬ÔòÏÔʾËüµÄÄÚÈÝ¡£
****** ×¢ ********
Ò²¿ÉÒÔʹÓÃÒÔϵÄÓ÷¨:
if exist command
device ÊÇÖ¸DOSϵͳÖÐÒѼÓÔØµÄÉ豸, ÔÚwin98ÏÂͨ³£ÓÐ:
AUX, PRN, CON, NUL
COM1, COM2, COM3, COM4
LPT1, LPT2, LPT3, LPT4
XMSXXXX0, EMMXXXX0
A: B: C: ...,
CLOCK$, CONFIG$, DblBuff$, IFS$HLP$
¾ßÌåµÄÄÚÈÝ»áÒòÓ²Èí¼þ»·¾³µÄ²»Í¬¶øÂÔÓвîÒì, ʹÓÃÕâЩÉ豸Ãû³ÆÊ±, ÐèÒª±£Ö¤ÒÔÏÂÈýµã:
1. ¸ÃÉ豸ȷʵ´æÔÚ(ÓÉÈí¼þÐéÄâµÄÉ豸³ýÍâ)
2. ¸ÃÉ豸Çý¶¯³ÌÐòÒѼÓÔØ(aux, prnµÈ±ê×¼É豸ÓÉϵͳȱʡ¶¨Òå)
3. ¸ÃÉ豸ÒÑ×¼±¸ºÃ(Ö÷ÒªÊÇÖ¸a: b: ..., com1..., lpt1...µÈ)
¿Éͨ¹ýÃüÁî mem/d | find "device" /i À´¼ìÔÄÄãµÄϵͳÖÐËù¼ÓÔØµÄÉ豸
ÁíÍâ, ÔÚDOSϵͳÖÐ, É豸Ҳ±»ÈÏΪÊÇÒ»ÖÖÌØÊâµÄÎļþ, ¶øÎļþÒ²¿ÉÒÔ³Æ×÷×Ö·ûÉ豸; ÒòΪÉ豸(device)ÓëÎļþ¶¼ÊÇʹÓþä±ú(handle)À´¹ÜÀíµÄ, ¾ä±ú¾ÍÊÇÃû×Ö, ÀàËÆÓÚÎļþÃû, Ö»²»¹ý¾ä±ú²»ÊÇÓ¦ÓÃÓÚ´ÅÅ̹ÜÀí, ¶øÊÇÓ¦ÓÃÓÚÄÚ´æ¹ÜÀí¶øÒÑ, ËùνÉ豸¼ÓÔØÒ²¼´Ö¸ÔÚÄÚ´æÖÐΪÆä·ÖÅä¿ÉÒýÓõľä±ú.
==================================
3¡¢if errorlevel <Êý×Ö> ´ýÖ´ÐеÄÃüÁî
ºÜ¶àDOS³ÌÐòÔÚÔËÐнáÊøºó»á·µ»ØÒ»¸öÊý×ÖÖµÓÃÀ´±íʾ³ÌÐòÔËÐеĽá¹û(»òÕß״̬)£¬Í¨¹ýif errorlevelÃüÁî¿ÉÒÔÅжϳÌÐòµÄ·µ»ØÖµ£¬¸ù¾Ý²»Í¬µÄ·µ»ØÖµÀ´¾ö¶¨Ö´Ðв»Í¬µÄÃüÁî(·µ»ØÖµ±ØÐë°´ÕÕ´Ó´óµ½Ð¡µÄ˳ÐòÅÅÁÐ)¡£Èç¹û·µ»ØÖµµÈÓÚÖ¸¶¨µÄÊý×Ö£¬ÔòÌõ¼þ³ÉÁ¢£¬ÔËÐÐÃüÁ·ñÔòÔËÐÐÏÂÒ»¾ä¡£
Èçif errorlevel 2 goto x2
==== ×¢ ===========
·µ»ØÖµ´Ó´óµ½Ð¡µÄ˳ÐòÅÅÁв»ÊDZØÐëµÄ, ¶øÖ»ÊÇÖ´ÐÐÃüÁîΪ goto ʱµÄϰ¹ßÓ÷¨, µ±Ê¹Óà set ×÷ΪִÐÐÃüÁîʱ, ͨ³£»á´ÓСµ½´ó˳ÐòÅÅÁÐ, ±ÈÈçÐ轫·µ»ØÂëÖÃÈë»·¾³±äÁ¿, ¾ÍÐèʹÓÃÒÔϵÄ˳ÐòÐÎʽ:
if errorlevel 1 set el=1
if errorlevel 2 set el=2
if errorlevel 3 set el=3
if errorlevel 4 set el=4
if errorlevel 5 set el=5
...
µ±È», Ò²¿ÉÒÔʹÓÃÒÔÏÂÑ­»·À´Ìæ´ú, Ô­ÀíÊÇÒ»ÖµÄ:
for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e
¸ü¸ßЧ¼ò½àµÄÓ÷¨, ¿ÉÒԲο¼ÎÒдµÄÁíһƪ¹ØÓÚ»ñÈ¡ errorlevel µÄÎÄÕÂ
³öÏÖ´ËÖÖÏÖÏóµÄÔ­ÒòÊÇ, if errorlevel ±È½Ï·µ»ØÂëµÄÅжÏÌõ¼þ²¢·ÇµÈÓÚ, ¶øÊÇ´óÓÚµÈÓÚ. ÓÉÓÚ goto µÄÌø×ªÌØÐÔ, ÓÉСµ½´óÅÅÐò»áµ¼ÖÂÔÚ½ÏСµÄ·µ»ØÂë´¦¾ÍÌø³ö; ¶øÓÉÓÚ setÃüÁîµÄ "ÖØ¸´" ¸³ÖµÌØÐÔ, ÓÉ´óµ½Ð¡ÅÅÐò»áµ¼Ö½ÏСµÄ·µ»ØÂë "¸²¸Ç" ½Ï´óµÄ·µ»ØÂë.
ÁíÍâ, ËäÈ» if errorlevel=<Êý×Ö> command Ò²ÊÇÓÐЧµÄÃüÁîÐÐ, µ«Ò²Ö»ÊÇ command.com ½âÊÍÃüÁîÐÐʱ½« = ×÷ΪÃüÁîÐÐÇзַû¶øºöÂÔµô°ÕÁË
===========================

¶þ¡¢goto Åú´¦ÀíÎļþÔËÐе½ÕâÀï½«Ìøµ½gotoËùÖ¸¶¨µÄ±êºÅ(±êºÅ¼´label£¬±êºÅÓÃ:ºó¸ú±ê×¼×Ö·û´®À´¶¨Òå)´¦£¬gotoÓï¾äÒ»°ãÓëifÅäºÏʹÓ㬸ù¾Ý²»Í¬µÄÌõ¼þÀ´Ö´Ðв»Í¬µÄÃüÁî×é¡£
Èç:
goto end
:end
echo this is the end
±êºÅÓÃ":×Ö·û´®"À´¶¨Ò壬±êºÅËùÔÚÐв»±»Ö´ÐС£
==== willsort ±à×¢
label ³£±»ÒëΪ "±êÇ©" , µ«ÊÇÕâ²¢²»¾ßÓй㷺µÄÔ¼¶¨ÐÔ.
goto Óë : ÁªÓÿÉʵÏÖÖ´ÐÐÖÐ;µÄÌø×ª, ÔÙ½áºÏ if ¿ÉʵÏÖÖ´Ðйý³ÌµÄÌõ¼þ·ÖÖ§, ¶à¸ö if ¼´¿ÉʵÏÖÃüÁîµÄ·Ö×é, ÀàËÆ C ÖÐ switch case ½á¹¹»òÕß Basic ÖÐµÄ select case ½á¹¹, ´ó¹æÄ£Çҽṹ»¯µÄÃüÁî·Ö×é¼´¿ÉʵÏָ߼¶ÓïÑÔÖеĺ¯Êý¹¦ÄÜ. ÒÔÏÂÊÇÅú´¦ÀíºÍC/BasicÔÚÓï·¨½á¹¹ÉϵĶÔÕÕ:
Batch C / Basic
goto&: goto&:
goto&:&if if{}&else{} / if&elseif&endif
goto&:&if... switch&case / select case
goto&:&if&set&envar... function() / function(),sub()
==================================
Èý¡¢choice ʹÓôËÃüÁî¿ÉÒÔÈÃÓû§ÊäÈëÒ»¸ö×Ö·û£¨ÓÃÓÚÑ¡Ôñ£©£¬´Ó¶ø¸ù¾ÝÓû§µÄÑ¡Ôñ·µ»Ø²»Í¬µÄerrorlevel£¬È»ºóÓÚif errorlevelÅäºÏ£¬¸ù¾ÝÓû§µÄÑ¡ÔñÔËÐв»Í¬µÄÃüÁî¡£
×¢Ò⣺choiceÃüÁîΪDOS»òÕßWindowsϵͳÌṩµÄÍⲿÃüÁ²»Í¬°æ±¾µÄchoiceÃüÁîÓï·¨»áÉÔÓв»Í¬£¬ÇëÓÃchoice /?²é¿´Ó÷¨¡£
choiceµÄÃüÁîÓï·¨£¨¸ÃÓ﷨ΪWindows 2003ÖÐchoiceÃüÁîµÄÓï·¨£¬ÆäËü°æ±¾µÄchoiceµÄÃüÁîÓï·¨Óë´Ë´óͬСÒ죩£º
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
ÃèÊö:
¸Ã¹¤¾ßÔÊÐíÓû§´ÓÑ¡ÔñÁбíÑ¡ÔñÒ»¸öÏîÄ¿²¢·µ»ØËùÑ¡ÏîÄ¿µÄË÷Òý¡£
²ÎÊýÁбí:
/C choices Ö¸¶¨Òª´´½¨µÄÑ¡ÏîÁÐ±í¡£Ä¬ÈÏÁбíÊÇ "YN"¡£
/N ÔÚÌáʾ·ûÖÐÒþ²ØÑ¡ÏîÁÐ±í¡£ÌáÊ¾Ç°ÃæµÄÏûÏ¢µÃµ½ÏÔʾ£¬
Ñ¡ÏîÒÀ¾É´¦ÓÚÆôÓÃ״̬¡£
/CS ÔÊÐíÑ¡Ôñ·Ö´óСдµÄÑ¡Ïî¡£ÔÚĬÈÏÇé¿öÏ£¬Õâ¸ö¹¤¾ß
ÊDz»·Ö´óСдµÄ¡£
/T timeout ×ö³öĬÈÏÑ¡Ôñ֮ǰ£¬ÔÝÍ£µÄÃëÊý¡£¿É½ÓÊܵÄÖµÊÇ´Ó 0
µ½ 9999¡£Èç¹ûÖ¸¶¨ÁË 0£¬¾Í²»»áÓÐÔÝÍ££¬Ä¬ÈÏÑ¡Ïî
»áµÃµ½Ñ¡Ôñ¡£
/D choice ÔÚ nnnn ÃëÖ®ºóÖ¸¶¨Ä¬ÈÏÑ¡Ïî¡£×Ö·û±ØÐëÔÚÓà /C Ñ¡
ÏîÖ¸¶¨µÄÒ»×éÑ¡ÔñÖÐ; ͬʱ£¬±ØÐëÓà /T Ö¸¶¨ nnnn¡£
/M text Ö¸¶¨Ìáʾ֮ǰҪÏÔʾµÄÏûÏ¢¡£Èç¹ûûÓÐÖ¸¶¨£¬¹¤¾ßÖ»
ÏÔʾÌáʾ¡£
/? ÏÔʾ°ïÖúÏûÏ¢¡£
×¢Òâ:
ERRORLEVEL »·¾³±äÁ¿±»ÉèÖÃΪ´ÓÑ¡Ôñ¼¯Ñ¡ÔñµÄ¼üË÷Òý¡£ÁгöµÄµÚÒ»¸öÑ¡
Ôñ·µ»Ø 1£¬µÚ¶þ¸öÑ¡Ôñ·µ»Ø 2£¬µÈµÈ¡£Èç¹ûÓû§°´µÄ¼ü²»ÊÇÓÐЧµÄÑ¡Ôñ£¬
¸Ã¹¤¾ß»á·¢³ö¾¯¸æÏìÉù¡£Èç¹û¸Ã¹¤¾ß¼ì²âµ½´íÎó״̬£¬Ëü»á·µ»Ø 255 µÄ
ERRORLEVEL Öµ¡£Èç¹ûÓû§°´ Ctrl+Break »ò Ctrl+C ¼ü£¬¸Ã¹¤¾ß»á·µ»Ø 0
µÄ ERRORLEVEL Öµ¡£ÔÚÒ»¸öÅú³ÌÐòÖÐʹÓà ERRORLEVEL ²ÎÊýʱ£¬½«²ÎÊý½µ
ÐòÅÅÁС£
ʾÀý:
CHOICE /?
CHOICE /C YNC /M "È·ÈÏÇë°´ Y£¬·ñÇë°´ N£¬»òÕßÈ¡ÏûÇë°´ C¡£"
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M "Ñ¡Ïî 1 ÇëÑ¡Ôñ a£¬Ñ¡Ïî 2 ÇëÑ¡Ôñ b¡£"
CHOICE /C ab /N /M "Ñ¡Ïî 1 ÇëÑ¡Ôñ a£¬Ñ¡Ïî 2 ÇëÑ¡Ôñ b¡£"
==== willsort ±à×¢ ===============================
ÎÒÁгöwin98ÏÂchoiceµÄÓ÷¨°ïÖú, ÒÑ×ÊÇø·Ö
Waits for the user to choose one of a set of choices.
µÈ´ýÓû§Ñ¡ÔñÒ»×é´ýÑ¡×Ö·ûÖеÄÒ»¸ö
CHOICE [/C[:]choices] [/N] [/S] [/T[:]c,nn] [text]
/C[:]choices Specifies allowable keys. Default is YN
Ö¸¶¨ÔÊÐíµÄ°´¼ü(´ýÑ¡×Ö·û), ĬÈÏΪYN
/N Do not display choices and ? at end of prompt string.
²»ÏÔʾÌáʾ×Ö·û´®ÖеÄÎʺźʹýÑ¡×Ö·û
/S Treat choice keys as case sensitive.
´¦Àí´ýÑ¡×Ö·ûʱ´óСдÃô¸Ð
/T[:]c,nn Default choice to c after nn seconds
ÔÚ nn ÃëºóĬÈÏÑ¡Ôñ c
text Prompt string to display
ÒªÏÔʾµÄÌáʾ×Ö·û´®
ERRORLEVEL is set to offset of key user presses in choices.
ERRORLEVEL ±»ÉèÖÃΪÓû§¼üÈëµÄ×Ö·ûÔÚ´ýÑ¡×Ö·ûÖÐµÄÆ«ÒÆÖµ
Èç¹ûÎÒÔËÐÐÃüÁCHOICE /C YNC /M "È·ÈÏÇë°´ Y£¬·ñÇë°´ N£¬»òÕßÈ¡ÏûÇë°´ C¡£"
ÆÁÄ»ÉÏ»áÏÔʾ£º
È·ÈÏÇë°´ Y£¬·ñÇë°´ N£¬»òÕßÈ¡ÏûÇë°´ C¡£ [Y,N,C]?

Àý£ºtest.batµÄÄÚÈÝÈçÏ£¨×¢Ò⣬ÓÃif errorlevelÅжϷµ»ØÖµÊ±£¬Òª°´·µ»ØÖµ´Ó¸ßµ½µÍÅÅÁУ©:
@echo off
choice /C dme /M "defrag,mem,end"
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errorlevel 1 goto defrag
:defrag
c:\dos\defrag
goto end
:mem
mem
goto end
:end
echo good bye
´ËÅú´¦ÀíÔËÐк󣬽«ÏÔʾ"defrag,mem,end[D,M,E]?" £¬Óû§¿ÉÑ¡Ôñd m e £¬È»ºóifÓï¾ä¸ù¾ÝÓû§µÄÑ¡Ôñ×÷³öÅжϣ¬d±íʾִÐбêºÅΪdefragµÄ³ÌÐò¶Î£¬m±íʾִÐбêºÅΪmemµÄ³ÌÐò¶Î£¬e±íʾִÐбêºÅΪendµÄ³ÌÐò¶Î£¬Ã¿¸ö³ÌÐò¶Î×îºó¶¼ÒÔgoto end½«³ÌÐòÌøµ½end±êºÅ´¦£¬È»ºó³ÌÐò½«ÏÔʾgood bye£¬Åú´¦ÀíÔËÐнáÊø¡£
ËÄ¡¢for Ñ­»·ÃüÁֻҪÌõ¼þ·ûºÏ£¬Ëü½«¶à´ÎÖ´ÐÐͬһÃüÁî¡£
Óï·¨£º
¶ÔÒ»×éÎļþÖеÄÿһ¸öÎļþÖ´ÐÐij¸öÌØ¶¨ÃüÁî¡£
FOR %%variable IN (set) DO command [command-parameters]
%%variable Ö¸¶¨Ò»¸öµ¥Ò»×Öĸ¿ÉÌæ»»µÄ²ÎÊý¡£
(set) Ö¸¶¨Ò»¸ö»òÒ»×éÎļþ¡£¿ÉÒÔʹÓÃͨÅä·û¡£
command Ö¸¶¨¶Ôÿ¸öÎļþÖ´ÐеÄÃüÁî¡£
command-parameters
ÎªÌØ¶¨ÃüÁîÖ¸¶¨²ÎÊý»òÃüÁîÐпª¹Ø¡£
ÀýÈçÒ»¸öÅú´¦ÀíÎļþÖÐÓÐÒ»ÐÐ:
for %%c in (*.bat *.txt) do type %%c
Ôò¸ÃÃüÁîÐлáÏÔʾµ±Ç°Ä¿Â¼ÏÂËùÓÐÒÔbatºÍtxtΪÀ©Õ¹ÃûµÄÎļþµÄÄÚÈÝ¡£
==== willsort ±à×¢ =====================================================
ÐèÒªÖ¸³öµÄÊÇ, µ±()ÖеÄ×Ö·û´®²¢·Çµ¥¸ö»ò¶à¸öÎļþÃûʱ, Ëü½«µ¥´¿±»µ±×÷×Ö·û´®Ìæ»», Õâ¸öÌØÐÔÔÙ¼ÓÉÏ()ÖпÉÒÔǶÈë¶à¸ö×Ö·û´®µÄÌØÐÔ, ºÜÃ÷ÏÔ for ¿ÉÒÔ±»¿´×÷Ò»ÖÖ±éÀúÐÍÑ­»·.
µ±È», ÔÚ nt/2000/xp/2003 ϵÁеÄÃüÁîÐл·¾³ÖÐ, for ±»¸³ÓèÁ˸ü¶àµÄÌØÐÔ, ʹ֮¿ÉÒÔ·ÖÎöÃüÁîÊä³ö»òÕßÎļþÖеÄ×Ö·û´®, Ò²Óкܶ࿪¹Ø±»ÓÃÓÚÀ©Õ¹ÁËÎļþÌæ»»¹¦ÄÜ.
========================================================================
Åú´¦ÀíʾÀý
1. IF-EXIST
1) Ê×ÏÈÓüÇʱ¾ÔÚC:\½¨Á¢Ò»¸ötest1.batÅú´¦ÀíÎļþ£¬ÎļþÄÚÈÝÈçÏ£º
@echo off
IF EXIST \AUTOEXEC.BAT TYPE \AUTOEXEC.BAT
IF NOT EXIST \AUTOEXEC.BAT ECHO \AUTOEXEC.BAT does not exist
È»ºóÔËÐÐËü£º
C:\>TEST1.BAT
Èç¹ûC:\´æÔÚAUTOEXEC.BATÎļþ£¬ÄÇôËüµÄÄÚÈݾͻᱻÏÔʾ³öÀ´£¬Èç¹û²»´æÔÚ£¬Åú´¦Àí¾Í»áÌáʾÄã¸ÃÎļþ²»´æÔÚ¡£
2) ½Ó×ÅÔÙ½¨Á¢Ò»¸ötest2.batÎļþ£¬ÄÚÈÝÈçÏ£º
@ECHO OFF
IF EXIST \%1 TYPE \%1
IF NOT EXIST \%1 ECHO \%1 does not exist
Ö´ÐÐ:
C:\>TEST2 AUTOEXEC.BAT
¸ÃÃüÁîÔËÐнá¹ûͬÉÏ¡£
˵Ã÷£º
(1) IF EXIST ÊÇÓÃÀ´²âÊÔÎļþÊÇ·ñ´æÔڵ쬏ñʽΪ
IF EXIST [·¾¶+ÎļþÃû] ÃüÁî
(2) test2.batÎļþÖеÄ%1ÊDzÎÊý£¬DOSÔÊÐí´«µÝ9¸öÅú²ÎÊýÐÅÏ¢¸øÅú´¦ÀíÎļþ£¬·Ö±ðΪ%1~%9(%0±íʾtest2ÃüÁî±¾Éí) £¬ÕâÓеãÏó±à³ÌÖеÄʵ²ÎºÍÐβεĹØÏµ£¬%1ÊÇÐβΣ¬AUTOEXEC.BATÊÇʵ²Î¡£
==== willsort ±à×¢ =====================================================
DOSûÓÐ "ÔÊÐí´«µÝ9¸öÅú²ÎÊýÐÅÏ¢" µÄÏÞÖÆ, ²ÎÊýµÄ¸öÊýÖ»»áÊܵ½ÃüÁîÐг¤¶ÈºÍËùµ÷ÓÃÃüÁî´¦ÀíÄÜÁ¦µÄÏÞÖÆ. µ«ÊÇ, ÎÒÃÇÔÚÅú´¦Àí³ÌÐòÖÐ, ÔÚͬһʱ¿ÌÖ»ÄÜͬʱÒýÓÃ10¸ö²ÎÊý, ÒòΪ DOSÖ»¸ø³öÁË %0~%9ÕâÊ®¸ö²ÎÊýÒýÓ÷û.
========================================================================
3) ¸ü½øÒ»²½µÄ£¬½¨Á¢Ò»¸öÃûΪTEST3.BATµÄÎļþ£¬ÄÚÈÝÈçÏ£º
@echo off
IF "%1" == "A" ECHO XIAO
IF "%2" == "B" ECHO TIAN
IF "%3" == "C" ECHO XIN
Èç¹ûÔËÐУº
C:\>TEST3 A B C
ÆÁÄ»ÉÏ»áÏÔʾ:
XIAO
TIAN
XIN
Èç¹ûÔËÐУº
C:\>TEST3 A B
ÆÁÄ»ÉÏ»áÏÔʾ
XIAO
TIAN
ÔÚÕâ¸öÃüÁîÖ´Ðйý³ÌÖУ¬DOS»á½«Ò»¸ö¿Õ×Ö·û´®Ö¸¶¨¸ø²ÎÊý%3¡£
2¡¢IF-ERRORLEVEL
½¨Á¢TEST4.BAT£¬ÄÚÈÝÈçÏ£º
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 1 ECHO Îļþ¿½±´Ê§°Ü
IF ERRORLEVEL 0 ECHO ³É¹¦¿½±´Îļþ
È»ºóÖ´ÐÐÎļþ:
C:\>TEST4
Èç¹ûÎļþ¿½±´³É¹¦£¬ÆÁÄ»¾Í»áÏÔʾ"³É¹¦¿½±´Îļþ"£¬·ñÔò¾Í»áÏÔʾ"Îļþ¿½±´Ê§°Ü"¡£
IF ERRORLEVEL ÊÇÓÃÀ´²âÊÔËüµÄÉÏÒ»¸öDOSÃüÁîµÄ·µ»ØÖµµÄ£¬×¢ÒâÖ»ÊÇÉÏÒ»¸öÃüÁîµÄ·µ»ØÖµ£¬¶øÇÒ·µ»ØÖµ±ØÐëÒÀÕÕ´Ó´óµ½Ð¡´ÎÐò˳ÐòÅжϡ£
Òò´ËÏÂÃæµÄÅú´¦ÀíÎļþÊÇ´íÎóµÄ£º
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO ³É¹¦¿½±´Îļþ
IF ERRORLEVEL 1 ECHO δÕÒµ½¿½±´Îļþ
IF ERRORLEVEL 2 ECHO Óû§Í¨¹ýctrl-cÖÐÖ¹¿½±´²Ù×÷
IF ERRORLEVEL 3 ECHO Ô¤ÖôíÎó×èÖ¹Îļþ¿½±´²Ù×÷
IF ERRORLEVEL 4 ECHO ¿½±´¹ý³ÌÖÐдÅÌ´íÎó
ÎÞÂÛ¿½±´ÊÇ·ñ³É¹¦£¬ºóÃæµÄ£º
δÕÒµ½¿½±´Îļþ
Óû§Í¨¹ýctrl-cÖÐÖ¹¿½±´²Ù×÷
Ô¤ÖôíÎó×èÖ¹Îļþ¿½±´²Ù×÷
¿½±´¹ý³ÌÖÐдÅÌ´íÎó
¶¼½«ÏÔʾ³öÀ´¡£
ÒÔϾÍÊǼ¸¸ö³£ÓÃÃüÁîµÄ·µ»ØÖµ¼°Æä´ú±íµÄÒâÒ壺
backup
0 ±¸·Ý³É¹¦
1 δÕÒµ½±¸·ÝÎļþ
2 Îļþ¹²Ïí³åÍ»×èÖ¹±¸·ÝÍê³É
3 Óû§ÓÃctrl-cÖÐÖ¹±¸·Ý
4 ÓÉÓÚÖÂÃüµÄ´íÎóʹ±¸·Ý²Ù×÷ÖÐÖ¹
diskcomp
0 Å̱ȽÏÏàͬ
1 Å̱Ƚϲ»Í¬
2 Óû§Í¨¹ýctrl-cÖÐÖ¹±È½Ï²Ù×÷
3 ÓÉÓÚÖÂÃüµÄ´íÎóʹ±È½Ï²Ù×÷ÖÐÖ¹
4 Ô¤ÖôíÎóÖÐÖ¹±È½Ï
diskcopy
0 ÅÌ¿½±´²Ù×÷³É¹¦
1 ·ÇÖÂÃüÅ̶Á/д´í
2 Óû§Í¨¹ýctrl-c½áÊø¿½±´²Ù×÷
3 ÒòÖÂÃüµÄ´¦Àí´íÎóʹÅÌ¿½±´ÖÐÖ¹
4 Ô¤ÖôíÎó×èÖ¹¿½±´²Ù×÷
format
0 ¸ñʽ»¯³É¹¦
3 Óû§
 


ÉÏһƪ bat Àý×Ó¡¡¡¡ÏÂһƪ cmdÃüÁî



    ÎÄÕÂÆÀÂÛ
 
 

·¢±íÆÀÂÛ

êÇ   ³Æ£º
ÑéÖ¤Â룺 ¡¡µã»÷ͼƬ¿ÉË¢ÐÂÑéÖ¤Âë¡¡¡¡²©¿Í¹ý2¼¶£¬ÎÞÐèÌîдÑéÖ¤Âë
ÄÚ   ÈÝ£º