Você está na página 1de 13

¾È³çÇϼ¼¿ä.

5¹ø° ½Ã°£ÀÔ´Ï´Ù.
À̹ø ½Ã°£¿¡´Â ¹èÄ¡ Å×Å©´Ð ¸¶¹«¸®¿Í ¹èÄ¡—Î ¸¸µå´Â ¹ÙÀ̗‾½º ½ÇÁ¦Àû¿ëÀÌ
µÇ°Ú½À´Ï´Ù.

¹èġȍÀϗΠ¹ÙÀ̗‾½º Á¦ÀÛÇϱâ

¾ÆÁÖ ¹«½ÄÇÏ°í ´Ü¼øÇÑ Æ®—ÎÀ̸ñ¸¶¸¦ ¸¸µé¾îº¸ÀÚ.


Áö±Ý ¸¸µå´Â°ÍÀº ¾ÆÁÖ Ãʺ¸ÀûÀÎ ¼öÁØÀ¸—Î ¹ß°ßÁï½Ã ŽÁö´çÇÒ¼ö ÀÖÀ¸³ª
¹ß°ßÁï½Ã ÇÇÇظ¦ ÀÔÈ÷¸ç ÀÚÆøÇÒ°ÍÀÌ´Ï »ç¿ëÇϱâ´Â ÁÁ´Ù.
¸ñÀû : ħÅõÁï½Ã ½Ã½ºÅÛ ¿µ¿ª Æı«—Î ºÎÆúҴÉ
@ECHO OFF
rem writted by KIM TAE-BONG
ATTRIB C:\*.* -H -R -S > NUL <= ÀÌÁÙÀº ½Ã½ºÅÛȍÀÏÀÇ ¼û±è,ÀбâÀü¿ë,½Ã½ºÅÛ
µîÀÇ
¼Ó¼ºÀ» ÇØÁ¦½ÃÄÑ Áö¿ì°Å³ª º‾ÇüÀÌ °¡´É
ÄÉÇÑ´Ù.
"> NUL" Àº º‾Çü°á°ú°¡ ȍ¸é¿¡ ¾È¶ß°Ô
Çϴ°ÍÀÌ´Ù.
DEL *.SYS < NUL <= ¸ðµç ½Ã½ºÅÛ ÈÀÏÀ» Áö¿ö¹ö¸°´Ù.
DEL XXX.YYY < NUL <= º»ÀÎ ½º½º—Î ÇØ´ç ȍÀÏ¸í »èÁ¦¸í—É, ¿ª½Ã º¸ÀÌÁö¾Ê
°Ô!!
CTTY NUL <= À̰ͱîÁö Ãß°¡ÇÏ¸é ½Ã½ºÅÛÀÌ Á¤ÁöÇÑ´Ù.
±×—¡¼ ºÎÆÃÇغ¸¸é ½Ã½ºÅÛ ¿µ¿ªÀÌ Æı«µÇ¾î ÀÛµ¿¾ÈÇÑ´Ù.
^Z
¿©±â¿¡ ȍ¸é¿¡ ¾î¶² ¸Þ½ÃÁö¸¦ ¶ç¿ï¼öµµ ÀÖÀ»°ÍÀÌ´Ù.
ECHO " ÀÌ ÄÄÇ»ÅÍ´Â ºÎÆÿµ¿ªÀ» ³ª¿¡°Ô »©¾Ñ°å´Ù!! "
¾ÆÁÖ °£´ÜÇϸ鼍 È¿°ú´Â È®½ÇÇÏ´Ù.
ÇöÀç ÀÌ°Ç ±ØÈ÷ Ãʺ¸ÀûÀÎ °ÍÀ̳ª ¾à°£¸¸ ÀÀ¿ëÇÏ¿© ´Ù¸¥ ȍÀÏÀ» Áö¿ì°Å³ª ȍÀϸí
À»
¹Ù²Ù¾î³õ´Â Á¶ÀÛÀ» ÇÒ¼öÀÖ´Ù.
´Ù¸¸ »ó´ë »ç¿ëÀÚ°¡ ¹Ù—Î ¹ß°ßÇÒ¼ö Àִٴ°ÍÀÌ ´ÜÁ¡ÀÏ°ÍÀÌ´Ù.
±×—¡¼ ÀÌ°ÍÀ» µî—ÏÇϰųª Á¦°øÇϱ⠾ռ ¾öû³ °ÍÀ̶ó´Â ±¤°í³ª ¾î¶² ¹Ì³¢¸¦
´øÁø´Ù¸é È®½ÇÈ÷ ¹°¸±°ÍÀÌ´Ù.

¾Æ—¡´Â °£´ÜÇÑ ÈÀÏ Ã£±â ÇÁ—αח¥ÀÌ´Ù.


¿©±â¿¡ ÀΰøÁö´É(?) ŸÀ̸Ӹ¦ Ãß°¡Çؼ °—ÂÇÑ ½ÃÇÑÆøźÀÌ µÇ°Ô ¸¸µé°ÍÀÌ´Ï
ÀÏ´ÜÀº ÀÚ¼¼È÷ º¸°í ¿ø¸®¸¦ ÀÌÇØÇϱ⠹ٶõ´Ù.
À̰͵éÀº Áö±Ý´çÀåÀÌ¶óµµ À̸§¸¸ ¹Ù²Ù¾î¼ ÄÄÆÄÀϽÃÄÑ Àڗá½Ç¿¡ µî—ϵµ ÇÒ¼ö
ÀÖ´Â °ÍÀÌ´Ù.
±×—‾´Ï °¢º°È÷ »ç¿ë¿¡ ÁÖÀǸ¦ ¿äÇÑ´Ù.

´ÙÀ½ ¿¹Á¦¸¦ »ìÆ캸ÀÚ.


¿¹) ¿ù Ç¥½Ã ÇÁ—αח¥
@ECHO OFF
GETMONTH.COM <= ¿ùüũ À‾Æ¿¸®Æ¼
IF ERRORLEVEL 12 IF NOT ERRORLEVEL 13 ECHO 12
IF ERRORLEVEL 11 IF NOT ERRORLEVEL 12 ECHO 11
IF ERRORLEVEL 10 IF NOT ERRORLEVEL 11 ECHO 10
IF ERRORLEVEL 9 IF NOT ERRORLEVEL 10 ECHO 9
IF ERRORLEVEL 8 IF NOT ERRORLEVEL 9 ECHO 8
IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 ECHO 7
IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 ECHO 6
IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 ECHO 5
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 ECHO 4
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 ECHO 3
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 ECHO 2
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 ECHO 1
^Z
¹èġȍÀÏÀÇ ÀåÁ¡ÀÌÀÚ ´ÜÁ¡À̱⵵ ÇÑ°ÍÀÌ ÀÖ´Ù.
½º½º—Î ¿Ïº®ÇÏ°Ô ÀÛµ¿ÇÏÁö ¸øÇѴٴ°ÍÀÌ´Ù.
¶§¹®¿¡ ¹èÄ¡¸¦ µµ¿ÍÁÙ À‾Æ¿¸®Æ¼°¡ ÇÊ¿äÇÏ°Ô µÇ¾ú´Ù.
»ç½Ç C,PASCAL —Î ¹ÙÀ̗‾½º¸¦ ¸¸µé¾îµµ ¾î¼Àºí¸®¾î—Î Á¦ÀÛµÈ À‾Æ¿¸®Æ¼°¡ ÇÊ¿ä
ÇÑ°Å º¸¸é ´ëµ¿¼ÒÀÌ ÇÏÁö¸¸.........
µµ½ºÀÇ DEBUG ¶õ °ÍÀ¸—Î Á¦ÀÛÇÏ´Â ¾ÆÁÖ °£´ÜÇÑ À‾Æ¿¸®Æ¼Àε¥ ÀÌ¹Ì »ó´ç¼ö °ø°³
µÇ¾ú±â¿¡
¿ì¸° ´ÜÁö ±×°ÍÀ» ã¾Æ¼ À̿븸 ÇÏ¸é µÈ´Ù.
À§ ÇÁ—αח¥ÀÇ ¸Ç ù°ÁÙ¿¡ ¾²ÀΰÍÀÌ ¹Ù—Î ÀÌ°ÍÀÌ´Ù.
¹èÄ¡¸¦ ÄÄÆÄÀÏÇϽÅÈÄ Ç×»ó ÀÌ µÎ°¡Áö¸¦ °°ÀÌ »ç¿ëÇÏ¼Å¾ß ÇÑ´Ù.
¿ÜºÎÀÇ GETMONTH.COM À» ȍÀϸíÀ» ¹Ù²Ù¼Å¼ ½áµµ µÇÁö¸¸ À̶§´Â ¹Ýµå½Ã
¹èÄ¡¿¡¼µµ ¹Ù²Ù¾îÁÖ¼Å¾ß ÇÑ´Ù.
ÀÚ, ÀÌ°ÍÀ» ½ÇÇàÇϸé ÇöÀç ½Ã½ºÅÛÀÇ ¿ùÀ» Ç¥½ÃÇØÁØ´Ù.
ÀÌ°ÍÀÌ ¿ì¸®°¡ Á¦ÀÛÇÏ°ÔµÉ ½ÃÇÑÆøźÇü ¹ÙÀ̗‾½ºÀÇ Çì´õºÎºÐ,
Áï. ½Ã½ºÅÛ»óÅ°¨½Ä ÇÁ—αח¥ÀÌ´Ù.
ÆøźÀ¸—Î ¸»ÇÏ¸é ³ú°üÁ¤µµ—Î ºñÀ‾µÉ±î?
ÀÌ°ÍÀ» È°¿ëÇؼ "Æ®—ÎÀÌ&½ÃÇÑÆøź 1È£Çü" ¹ÙÀ̗‾½º¸¦ ¸¸µé¾îº¸ÀÚ.
¾Æ—¡´Â ÀϹÝÀûÀ¸—Î È°¿ëÇÒ ¼ö ÀÖ´Â ÆÄÀÏã±â ÇÁ—αח¥ÀÌ´Ù.
@echo off
if "%1"=="/?" goto help
cd\
dir %1 /s/p/w/l/o:n
goto end
:help
echo
echo Usage : filefind [filename]
echo
:end
ÀÌÁ¦ À§ÀÇ µÑÀ» ÇÕÄ£ ¸ð½ÀÀ» º¸ÀÚ!
@ECHO OFF
REM WRITTED BY KIM TAE-BONG(±èźÀ)
GETMONTH.COM <= ½Ã½ºÅÛ "¿ù" üũ À‾Æ¿¸®Æ¼ . ȍÀÏ¸í º‾°æÇصµ µÊ-üũ
ÇÒ°Í
IF ERRORLEVEL 12 IF NOT ERRORLEVEL 13 GOTO FF
IF ERRORLEVEL 11 IF NOT ERRORLEVEL 12 GOTO FF
IF ERRORLEVEL 10 IF NOT ERRORLEVEL 11 GOTO FF
IF ERRORLEVEL 9 IF NOT ERRORLEVEL 10 GOTO FF
IF ERRORLEVEL 8 IF NOT ERRORLEVEL 9 GOTO FF
IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 GOTO FF
IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 GOTO FF
IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 GOTO FF
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO FF
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO VIRUS
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO FF
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO FF
REM ¾Æ—¡ºÎºÐÀº ¹ÙÀ̗‾½º ÄÚµåÀÌ´Ù.
:VIRUS
echo VIRUS !! BOMB!!
ECHO Y | DEL *.* > nul <= Áß¿äÇÑ ¸í—É
REM ¾Æ—¡ ºÎºÐÀº ÆÄÀÏã±â ÇÁ—αח¥ ÄÚµåÀÌ´Ù.
:FF
if "%1"=="/?" goto help
if "%1"=="" goto copyright
cd\
dir %1 /s/p/w/l/o:n
goto end
echo
echo Usage : filefind [filename]
echo
:end

ÀÚ ÀÌÁ¦ ÀÚ¼¼È÷ ¼³¸íÇغ¸ÀÚ.


ÀÓÀǗΠüũ¸¦ 3¿ù´Þ—Î ¸ÂÃß¾î ³õ¾Ò´Ù.
Àڱ⠸¶À½´ë—Î 1,2,3,4,5....... °íÃÄ ³õÀ»¼ö ÀÖ´Ù.
GETMONTH ¸»°í ½Ã°£,ÀÏÀÚ µîÀ¸—Î ¾ó¸¶µçÁö º‾°æÀÌ °¡´ÉÇÏ´Ù.
óÀ½¿¡ ÀÌ ÇÁ—αח¥À» ½ÇÇàÇÏ¸é ½Ã½ºÅÛÀÇ ¿ù(Á¶°Çº‾°æ°¡´É!)À» üũÇÏ¿© Á¶°Ç¿¡µû
¶ó
Á¤»óÀûÀÎ ÆÄÀÏã±â ±â´ÉÀÌ ¼öÇàµÇ³ª ÀÓÀǗΠÁöÁ¤ÇÑ 3¿ùÀÌ µÇ¸é GOTO ºÐ±â¿¡ ÀÇ
ÇØ
¹ÙÀ̗‾½º ÄÚµå ºÎºÐÀ» ½ÇÇàÇÑ´Ù.
ÀÌ ¹ÙÀ̗‾½º ÄÚµåºÎºÐ¿¡´Â ¿©Áö²‾ ¹è¿î³»¿ëÀ» ÀÀ¿ëÇÏ¿© ¾ó¸¶µçÁö Áý¾î³ÖÀ»¼ö ÀÖ
´Ù.
ÀÌÁÙ ECHO Y | DEL *.* Àº
¸ðµç ÆÄÀÏÀ» »èÁ¦Ç϶ó°Å³ª, Æ÷¸ËÀ» ÇàÇÒ¶§´Â ¹Ýµå½Ã ¹°¾îº¸´Â YES/NO ¸¦ ÀÓÀǗÎ
YES—Î
ÁöÁ¤Çϱâ À§ÇØ µé¾î°£ ÁÙÀÌ´Ù.
À̗¸°Ô ¸í—ÉÀ» ÁÖ¸é ÇÁ—αח¥Àº ÀÚµ¿ÀûÀ¸—Î »ç¿ëÀÚ¿¡°Ô Áú¹® ¾Ê°í Á÷Á¢ ½ÇÇà½ÃÄÑ
¹ö¸®´Ï
¼ÒÀÒ°í ¿Ü¾ç°£µµ ¸ø°íÄ¡´Â °ÝÀÌ´Ù.
´Ù¸¥ ¿¹—Î, ECHO Y | FORMAT C: ¶ó°í ÇÒ¼öµµ ÀÖ´Ù.
ECHO ´ÙÀ½¿¡ N À¸—Î Çϸé Àý´ë Æ÷¸ËÀÌ ¾ÈµÈ´Ù.
±×¸®°í | ´Â ¿£Å͸¦ Ä£°Íó—³ ÇÑ´Ù´Â ÆÄÀÌÇÁ¶ó°í À§¿¡¼ ¼³¸íÇß´Ù.
ÀÚ½ÅÀÇ ÀÀ¿ë°¡´É ¿©ÇÏ¿¡µû¶ó ¾ó¸¶µçÁö º‾°æÀÌ °¡´ÉÇÏ´Ù.
´Ü, µÇµµ—ÏÀ̸é À̗¸°Ô Çѹø¿¡ Çϴ°ͺ¸´Ù´Â È®ÀåÀÚ¸¸ °ñ¶ó¼ ÁýÁßÀûÀ¸—Î Æı«ÇÏ
´Â°ÍÀÌ
´õ È¿°úÀûÀÌ´Ù.
¿Ö³Ä¸é, À̗± ¹æ½ÄÀ¸—Î ÇÏ´Ù°£ °¡²û ½Ã½ºÅÛÀÌ ´Ù¿îµÇ°Å³ª ¹«ÇїçÇÁ¿¡ ºüÁú¼öµµ
ÀÖÀ¸´Ï±ñ.....

¸¸¾à ÀÚ½ÅÀÌ ¾î¶² ÇÁ—αח¥À̳ª °ÔÀӵ À̗± ¹ÙÀ̗‾½º Äڵ带 ×°¡½ÃÄÑ ÀüÆÄ
½ÃÅ°´Â ¹æ¹ýµµ ÀÖ´Ù.
¹æ¹ýÀº, À‾¸í°ÔÀÓÀ̳ª À‾¸í À‾Æ¿¸®Æ¼ µî¿¡ ÀÚ½ÅÀÌ Á÷Á¢ ÀνºÅç ÇÁ—αח¥À» ÀÛ¼º
ÇÏ¿©
×°¡½ÃÅ°´Â °ÍÀÌ´Ù.
¿¹) °£´ÜÇÑ ÀνºÅç ÇÁ—αח¥ ( ÇÁ—αח¥Àº C:\PR\PROG.ARJ —Î µÇ¾îÀÖ´Ù°í Ä¡
ÀÚ.)
1) ù¹ø° ÇÊ¿äÇÑ ¼Ò½º
INSTALL.BAT <= ÄÄÆÄÀϽÃÄÑ ½ÇÇàȍÀϗΠ¸¸µé¸é µÈ´Ù.
@ECHO OFF
REM WRITTED BY KIM TAE-BONG
ARJ X PROG.ARJ <= COPY ³ª ´Ù¸¥°ÍÀ¸—Î ¹Ù²ãµµ µÈ´Ù.
REM ¾Æ—¡ ºÎºÐºÎÅÍ ¼û°Ü¼ ħÅõ½ÃÅ°´Â ³»¿ë
ATTRIB +R +H M.COM <= À̗‾¸é ¼û±ä´Ù.
COPY M.COM C:\. <= —çÆ®µð—ºÅ丮¿¡ ¼û±ä´Ù.
^Z

ÀÏ´ÜÀº µð—ºÅ丮¿¡ Ç®¸±°ÍÀÌ´Ù.

¾Æ—¡°ÍÀº Àú¹ø ½Ã°£¿¡ °øºÎÇÑ Á¶°ÇÇüÅÂÀÇ ÇÑ ÇüÅÂÀÌ´Ù.


ÀÌ°ÍÀ» ´Ù¸¥ Á¤»óÀ‾Æ¿ÇüÅ—ΠÀ§ÀåÇÑ º‾Çü¸»°í ¾Æ¹«—± ¹ÝÀÀÀÌ ¾ø´Ù°¡ ÁöÁ¤ÇÑ Á¶°Ç
½Ã¿¡
ÀÛµ¿Çϵµ—Ï Çغ¸ÀÚ.
2) µÎ¹ø° ÇÊ¿äÇÑ ¼Ò½º
M.BAT ³ª NCD.BAT <= ÄÄÆÄÀϽÃÄÑ M.COM or NCD.COM À¸—ÎÇÑ´Ù.
@ECHO OFF
REM WRITTED BY KIM TAE-BONG
GETMONTH.COM <= ½Ã½ºÅÛ "¿ù" üũ À‾Æ¿¸®Æ¼ . ´ëü °¡´É
IF ERRORLEVEL 12 IF NOT ERRORLEVEL 13 GOTO M À̳ª NCD —Î À§ÀåÇÑ
´Ù.
IF ERRORLEVEL 11 IF NOT ERRORLEVEL 12 GOTO M
IF ERRORLEVEL 10 IF NOT ERRORLEVEL 11 GOTO M
IF ERRORLEVEL 9 IF NOT ERRORLEVEL 10 GOTO M
IF ERRORLEVEL 8 IF NOT ERRORLEVEL 9 GOTO M
IF ERRORLEVEL 7 IF NOT ERRORLEVEL 8 GOTO M
IF ERRORLEVEL 6 IF NOT ERRORLEVEL 7 GOTO M
IF ERRORLEVEL 5 IF NOT ERRORLEVEL 6 GOTO M
IF ERRORLEVEL 4 IF NOT ERRORLEVEL 5 GOTO M
IF ERRORLEVEL 3 IF NOT ERRORLEVEL 4 GOTO VIRUS
IF ERRORLEVEL 2 IF NOT ERRORLEVEL 3 GOTO M
IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 GOTO M
:VIRUS
REN C:\PR\XXX.DAT XXX.COM <= ¿¹Àü¿¡ ÀνºÅçÇسõ¾Ò´ø C:\PR\ µð—ºÅ丮¿¡
¼û°ÜÁøȍÀÏÀ» ´Ù½Ã ²¨³»¼ ½ÇÇàÇÏ°Ô²û ÇÑ´Ù.
DEL XXX.COM <= ÀÚüÆı«
DEL M.COM <= ÀÚüÆı« / ȍÀÏ¸í º‾°æ°¡´ÉÇÏ´Ù.
:M
M.EXE ³ª NCD.EXE
:END
¿Ö NCD.COM À̳ª M.COM À¸—Î Çϳĸé,
Àü¿¡ Ç×»ó ½ÇÇàȍÀÏÀº COM -> EXE -> BAT ¼ø¼¶ó°í ÇßÁÒ?
NCD.EXE / M.EXE ´Â AUTOEXEC.BAT ¿¡ Ç×»ó µû¶ó¿Â´Ù.
ÀÌ°Å ¾È¾²´Â »ç¶÷ÀÖÀ½ ³ª¿Íº¸¶ó±¸ÇØ~~
AUTOEXEC.BAT ´Â ¸ÅÀÏ ÀÚµ¿½ÇÇàµÇ´Â¹ý~~
±×—¡¼, À̗¸°Ô COM À¸—Î ¸¸µé¾î ¼û°ÜµÎ¸é ãÁöµµ ¸øÇÒ»Ó´õ—‾ ȍÀϸíÀÌ °°À¸´Ï
´ë°³ ±×³É ³Ñ¾î°¡¹ö¸°´Ù.
½ÇÇàÇغÃÀÚ 3¿ùÀÌ µÇ±âÀüÀ̶ó¸é ¹Ù—Î M.EXE —Î ³Ñ°Ü¹ö¸®´Ï±î
Àý´ë ¾È°É¸±°ÍÀÌ´Ù.

3) ¼¼¹ø° ¼Ò½º
¼¼¹ø°¿¡¼´Â ¿©Áö²‾ ¹è¿î ¹æ¹ýÀ» µ¿¿øÇÏ¿© °¢ÀÚ ÀÔ¸À¿¡ ¸Â°Ô Â¥±â¹Ù¶õ´Ù.
À̹æ¹ýÀÌ ¾à°£ º¹ÀâÇÒ¼öÀÖ´Ù.
¸¸¾à, »ó´ë°¡ Àü´Þ¹ÞÀº ÇÁ—αח¥À» °ð Áö¿ö¹ö¸±¼ö ÀÖÀ»°ÍÀÌ´Ù.
±×—‾¸é, ÇØ´çµð—ºÅ丮ÀÇ XXX.DAT °°ÀÌ À§ÀåÇسõÀº ȍÀÏÀ» ¾Æ¿¡ ׺ÎÅÍ
—çÆ®¿¡ Ä«ÇÇÇسõÀ¸¼Åµµ ¹«¹æÇÏ´Ù.
Àü´Þ¹ÞÀº ÇÁ—αח¥À» Áö¿öµµ À̰͵éÀº »ì¾Æ³²¾Æ ³¡±îÁö ¹Ú»ì³¾Å״ϱñ.......
*Á»´õ ´Ü¼øȍ ½ÃÄѼ XXX.DAT ¸¦ ¾Æ¿¡ M.COM ³»ºÎ¿¡ ¼³Ä¡ÇÒ¼öµµ ÀÖ´Ù.

¹èġȍÀÏ Á¦ÀÛ ¹ÙÀ̗‾½º Èıâ


À̗¸°Ô ¹èġȍÀϗΠÁ¦ÀÛµÈ Æ®—ÎÀ̸ñ¸¶ & ½ÃÇÑÆøź Çü ¹ÙÀ̗‾½º´Â Àý´ë—Î V3 ³ª
TB ȤÀº Æ®—ÎÀ̸ñ¸¶ °Ë»ö ÇÁ—αח¥À¸—Î ¾È°É¸°´Ù´Â°É º¸ÀåÇÑ´Ù!!
´ëºÎºÐÀÇ ¹é½ÅµéÀº ¾î¼Àºí¸®—Î Á¦ÀÛµÇ¾î ¾î¼Àºí¸® —çƾ°ªÀ» üũÇϰųª ¾²±âÇÒ¶§
ÀâÁö¸¸ ¹èÄ¡—δ ±×—¸°Ô °í³µµ ±â¼úÀ» ¿äÇÏÁö ¾Ê°íµµ ±³¹¦È÷ ºüÁ®³ª°¡¸ç ¼öÇàÇÏ
±â ¶§¹®ÀÌ´Ù.
Áï, ¾àÀÌ ¾ø´Ù.
ÀÏÀÏÀÌ ¿¡µðÆ®—Î ¶â¾îº¸±âÀü¿¡´Â ¸ð¸¦°ÍÀÌ´Ù.
ÇÏÁö¸¸ ÀüÆėÂÀÌ ¾àÇϴٴ°ÍÀÌ ´ÜÁ¡À̶ó°í ÇÏ°Ú´Ù.
±×—‾³ª ¿ø—¡ Æ®—ÎÀ̸ñ¸¶ ¹ÙÀ̗‾½º ¶ó´Â°Ô ºÒÆ‾Á¤ ´Ù¼öÀÇ ÀüÆĺ¸´Ù´Â Æ‾Á¤ÇÑ Çϳª
ÀÇ ´ë»óÀ» Æı«Çϴµ¥ ¸ñÀûÀÌ Àֱ⶧¹®¿¡ ÀüÇô ¹®Á¦µÉ°ÍÀº ¾Æ´Ï´Ù.
°£´ÜÇÑ ÇüÅ—ΠSEX.COM À̗±½ÄÀ¸—Î ¸¸µé¾î¼ Áï°¢ ¹ÝÀÀÇüÀ¸—Î Çصµ È¿°ú´Â ÁÁ
À»°ÍÀÌ´Ù.
ȍÀϸí Àú—±µ¥ ½ÇÇà¾ÈÇغ¼ »ç¶÷Àº ¾ø±â ¶§¹®ÀÌ´Ù.
Æǵµ¶óÀÇ »óÀÚÀÏ °ÍÀÌ´Ù.
»ç¼³ ºñºñ¿¡½º ÇØŗÀÌ¾ß À§ÀÇ ÀڗḦ µî—ÏÇÑÈÄ ½Ã»ðÀÌ ½ÇÇàÇϱ⸸ ±â´Ù¸®¸é µÇ´Â
°ÍÀÌ´Ù.
À§¿¡ ¿°ÅÇÑ °¢Á¾ Å×Å©´ÐÀ» ÀÌ¿ëÇÑ´Ù¸é °—ÂÇÑ Æ®—ÎÀ̸ñ¸¶Çü ¹ÙÀ̗‾½º¸¦ Ãʺ¸ÀÚ
µéµµ ½±°Ô Á¦ÀÛÇÒ ¼ö ÀÖÀ»°ÍÀÌ´Ù.
±âÁ¸ÀÇ ÇÁ—αח¡¹Ö ¾ð¾î°¡ »ó´ç ¼öÁØ ±îÁö ¿À¸£´Âµ¥ ¸¹ÀÌ ½Ã°£ÀÌ ÇÊ¿äÇÑ¹Ý¸é ¹è
Ä¡ ÇÁ—αח¡¹ÖÀº ªÀº ½Ã°£³»¿¡ ÇнÀÀÌ °¡´ÉÇÏ°í Àû¿ëÀÌ ½±´Ù´Â ÀåÁ¡ÀÌÀÖ´Ù.

Âü°íÀڗá>
´ÙÀ½Àº ¹èÄ¡ ÇÁ—αח¡¹ÖÀÇ ´ë°¡ÀΠƼ¸ð »ì¹Ì ±³¼ö°¡ Á¤¸®ÇÑ °ÍÀÔ´Ï´Ù.
¾ÆÁÖ À‾¿ëÇÑ Å×Å©´ÐµéÀÌ µé¾îÀÖ½À´Ï´Ù.
1. "@echo off"¸¦ ÀϹÝÀûÀ¸—Î »ç¿ëÇϱâ
====================================
ȍ¸é¿¡ ¸í—ɾîµéÀÌ Ç¥½ÃµÇÁö ¾Ê°Ô echo off ÇÏ°í, ±× ¶óÀεµ ȍ¸é¿¡
Ç¥½Ã µÇÁö ¾Ê°Ô Çϱâ À§Çؼ ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.
@echo off
ÀÌ °ÍÀº MsDos 3.30 ÀÌÈÄ ¹öÀü¿¡¼¸¸ ÀÛµ¿ÇÑ´Ù. ÀÌ°ÍÀ» ÀϹÝÀûÀ¸—Î
»ç¿ëÇÏ°Ô Çϱâ À§Çؼ 3.30ÀÌ»óÀÇ MsDos¸¦ »ç¿ëÇÑ´Ù¸é autoexec.bat
¾È¿¡ ´ÙÀ½°ú °°ÀÌ Àû¾î ³õ´Â´Ù.
set _echo=@
±×¸®°í ¹èġȍÀÏ¿¡¼ ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù¸é ¾î´À ¹öÀüÀÇ MsDos¹öÀü
¿¡¼µµ ÀÛµ¿ÇÑ´Ù.
%_echo%echo off
2. ¸ðµç ȍÀÏÀ» Áö¿ì±â
=====================
°¡Àå ÈçÇÏ°Ô Áú¹®µÇ´Â °Í(FAQ)ÁßÀÇ Çϳª´Â del *.* À» »ç¿ë A ¶§,
"Are you sure (Y/N)?" ¶ó´Â È®ÀÎÀ» ¾î¶»°Ô ÇÏ¸é ³ªÅ¸³ªÁö ¾Ê°Ô ÇÏ´Â
°ÍÀÌ´Ù. ´ÙÀ½°ú °°ÀÌ »ç¿ëÇÑ´Ù.
echo y| del *.*
ȍ¸é¿¡ ³ªÅ¸³ª´Â ¸Þ¼¼Áöµµ º¸ÀÌÁö ¾Ê°Ô ÇϗÁ¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
echo y| del *.* > nul
À̗‾ÇÑ È®ÀÎ ÀýÂ÷¸¦ Ç¥½ÃÇÏÁö ¾Ê°Ô ÇÏ´Â °ÍÀº Åä—ÐÀÇ ¿©Áö°¡ ¸¹Áö¸¸,
À§¿Í °°ÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
3. ´ÙÁß ¹Ýº¹
============
¹èġȍÀÏ¿¡¼ ´ÙÁß —çÇÁ(¹Ýº¹)¸¦ »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. ´ÙÀ½ÀÇ µÎ
¹èġȍÀÏÀ» »ý°¢ÇØ º¸ÀÚ. ±×¸®°í test.batÀ» ºÒ—‾ ½ÇÇà½ÃÄÑ º¸ÀÚ.
echo off
rem TEST.BAT
for %%f in (a b c d e f) do %comspec% /c test2 %%f
echo off
rem TEST2.BAT
for %%g in (1 2 3) do echo %1%%g
¾Æ´Ï¸é ÇÑÁٗΠ´ÙÀ½°ú °°ÀÌ ½á¼ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
for %%f in(a b c d e f) do %comspec% /c for %%g in (1 2 3) do
echo %%f%%g
(¿©±â¼´Â ÁÙÀÌ ±æ¾î¼ ³Ñ¾î ´ÙÀ½ÁٗΠ³Ñ¾î¿ÔÁö¸¸ ¹èġȍÀÏ¿¡ »ç¿ëÇÒ
¶§´Â ÇÑÁÙ¿¡ ´Ù ½á¾ßÇÑ´Ù.) ÀÌ µÎ¹ø° ¹æ¹ýÀÇ ´ÜÁ¡Àº echo°¡ ȍ¸é¿¡
Ç¥½ÃµÈ´Ù´Â °ÍÀÌ´Ù.
4. µð—ºÅ丮°¡ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇÏ´Â ¹æ¹ý
======================================
µð—ºÅ丮°¡ ÀÖ´ÂÁö È®ÀÎÇÏ´Â °ÍÀº °¡²û ¸Å¿ì ¾µ¸ðÀÖ´Â ÀÏÀÌ´Ù. %1ÀÇ
µð—ºÅ丮°¡ ¾ø´Ù¸é ´ÙÀ½ È®ÀÎÀº ÂüÀÌ µÉ°ÍÀÌ´Ù.
if not exist %1\nul if not exiat %1nul echo Directory %1 does
not exist
5. ÇÁ—αח¥À» Çöµð—ºÅ丮³ª °æ—ο¡¼ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö È®ÀÎÇϱâ
=============================================================
¹èÄ¡ ÇÁ—αח¥¿¡¼ ÇÁ—αח¥À» ºÒ—‾¼ »ç¿ëÇÒ¶§, ±× ȍÀÏ¿¡ ´ëÇÑ °æ
—θ¦ ½áÁÖÁö ¾Ê¾ÒÀ» °æ¿ì, ±× ÇÁ—αח¥ÀÌ ÇöÀçÀÇ µð—ºÅ丮³ª °æ—ο¡
¼ »ç¿ë°¡´ÉÇÑÁö È®ÀÎÇÒ ¶§ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
set _found=
if exist %1 set _found=yes
for %%d in (%path%) do if exist %%d\%1 set _found=yes
for %%d in (%path%) do if exist %%d%1 set _found=yes
if "%_found%"=="yes" goto _continue
echo %1 is not at path or the current directory
goto _out
:_continue
echo %1 found at path or in the current directory
:_out
6. ¹èġȍÀÏ¿¡¼ ¼ºê—çƾÀ̳ª Àç±ÍÀû¹æ¹ýÀ» »ç¿ëÇϱâ
==================================================
¹èġȍÀÏ ¾È¿¡¼ ¼ºê—çƾÀ» »ç¿ëÇÏ´Â °ÍÀº °¡´ÉÇÏ´Ù. ¹æ¹ýÀº ¼ºê—ç
ƾÀÌ ½ÇÇàµÈ µÚ¿¡ µ¹¾Æ°¡¾ßÇÒ °÷À» °¡¸£Å°´Â È‾°æº‾¼ö(¿¹¸¦µé¸é
_return)¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. À̗± ¿¹´Â UNPACK.BAT À̳ª BOOT.BATÀÇ
:_common °ú :_subru ºÎºÐ¿¡¼ ã¾Æ º¼ ¼ö ÀÖ´Ù.
¸¶Âù°¡Áö—Î Àç±ÍÀûÀÎ »ç¿ëÀÌ °¡´ÉÇÏ´Ù. ("Àç±ÍÀûÀÎ ¹æ¹ý"ÀÇ Àǹ̴Â
ÇÑ ¹èġȍÀÏÀÌ ÀÚ±â ÀÚ½ÅÀ» ºÒ—‾ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.) ÀÌ ¿¹´Â
SAFEDEL.BAT¿¡¼ ¾Æ—¡ÀÇ ÇàÀ» µû¶ó ã¾Æ º¸¸é µÈ´Ù.
for %%f in (%1) do call safedel %%f recurse
¹èġȍÀÏÀÇ 0¹ø° Àμö(%0)´Â ¹èġȍÀÏ ÀÚ½ÅÀ» ³ªÅ¸³»¹Ç—Î, safedel
Àº %0À¸—Î ´ëÄ¡ µÇ¾î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
7. ¸Å°³ Àμö(parameter)¸¦ ´ë¹®ÀڗΠ¹Ù²Ù±â.
=========================================
´ÙÀ½Àº ¹èġȍÀÏ¿¡ »ç¿ëÇÑ Àμö %1 ¸¦ ´ë¹®ÀڗΠ¹Ù²Ù¾î ÁÖ´Â ¿¹Á¦ÀÌ
´Ù. ÀÌ´Â MsDos´Â path¸¦ ´ë¹®ÀڗΠ¹Ù²Û´Ù´Â Á¡À» ÀÌ¿ëÇÑ °ÍÀÌ´Ù. °á
°ú´Â upcase_¿¡ ÀúÀåµÉ °ÍÀÌ°í, ¿ø—¡ÀÇ °æ—ΰ¡ ´Ù½Ã ÀúÀåµÉ °ÍÀÌ´Ù.
set tmp_=%path%
path=%1
set upcase_=%path%
path=%tmp_%
8. »õ—Î¿î µð—ºÅ丮¸¦ °æ—ο¡ ºÙÀ̱â
==================================
ÀÚÁÖ ÇÊ¿äÇÑ ÀÌ ±â¼úÀº ¸Å¿ì °£´ÜÇÏ´Ù. ¿¹¸¦ µé¾î %1¸¦ °æ—ο¡ µ¡ºÙ
À̗Á¸é
path=%path%;%1
À̶ó°í ÇϸéµÈ´Ù.
ÀÌ ±â¼úÀº ¹èġȍÀÏ ¾È¿¡¼¸¸ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹èġȍÀÏ ¾È¿¡¼¸¸ È‾
°æº‾¼ö(%path%)¸¦ »ç¿ëÇÒ ¼ö Àֱ⠶§¹®ÀÌ´Ù.
Á¸ÀçÇÏÁö ¾Ê´Â µð—ºÅ丮¸¦ µ¡ºÙÀ̗ÁÇѴٰųª Áߺ¹Çؼ °æ—θ¦ µ¡ºÙÀÌ
´Â °ÍÀ» ¹æÁöÇÏ´Â ADDPATH.BATÀ̶ó´Â ¹èġȍÀÏÀÌ ÀÖ´Ù.
9. µÎ ȍÀÏÀ» ºñ±³Çϱâ
=====================
¹èġȍÀÏ¿¡¼ µÎ ȍÀÏÀÌ °°ÀºÁö ¾Æ´ÑÁö È®ÀÎÇØ º¼ ¼ö ÀÖ´Ù. ÀÌ ±â¼ú
Àº MsDosÀÇ ¿ÜºÎ ¸í—ɾîÀÎ fc.exe¿Í find.exe¸¦ »ç¿ëÇÑ´Ù. (¿ÜºÎ ¸í
—ɾî¶ó´Â ¶æÀº MsDos¿Í °°ÀÌ ÀÖ´Â ÇÁ—αח¥µéÀÌ´Ù. ´ëºÎºÐÀÇ ¿ÜºÎ ¸í
—ɾî¿ë ÇÁ—αח¥µéÀº c:\dos ¿¡ À§Ä¡ÇÑ´Ù.)
fc %1 %2 > tmp$$$
type tmp$$$ | find /i "fc: no differences encountered" >
diffe$$$
if exist notsame$ del notsame$$$
copy diffe$$$ notsame$ > nul
if not exist notsame$ echo Files %1 and %2 are different
if exist notsame$ echo Files %1 and %2 are identical
if exist tmp$$$ del tmp$$$
if exist notsame$ del notsame$
if exist diffe$$$ del diffe$$$
Á»´õ »ý°¢Çϸé ÀÌ ±â¼úÀº ´Ù¸¥ ¸ñÀû¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. À̴ ȍÀÏ
¾È¿¡ ÁÖ¾îÁø ¹®ÀÚ¿ÀÌ ÀÖ´ÂÁö È®ÀÎ Çϴµ¥ ¹ÙÅÁÀ» µÎ°í Àֱ⠶§¹®ÀÌ
´Ù.
10. ºóÁÙÀ» ¾²±â
===============
ÀÌ´Â °£´ÜÇÏÁö¸¸ Á¾Á¾ ÇÊ¿äÇÏ°í À‾¿ëÇÑ ±â¼úÀÌ´Ù. echo ¹Ù—Î ´ÙÀ½¿¡
Á¡(.)À» ÂïÀ¸¸é ºóÁÙÀ» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.
echo.
11. pause¸¦ ÀÌ¿ëÇØ ¸Þ¼¼Áö¸¦ Ç¥½ÃÇϱâ
====================================
¸Þ¼¼Áö¸¦ ¼Õ½±°Ô ³ªÅ¸³ª°Ô ÇÒ ¼ö ÀÖ´Ù. ¸Þ¼¼Áö¸¦ echoÇÑ ´ÙÀ½ pause
¸¦ »ç¿ëÇϴµ¥, pauseÀÇ ¸Þ¼¼Áö¸¦ nul—Î º¸³»¸é µÈ´Ù.
echo Break to quit, any other key to remove the tmp directory
pause > nul
12. for¸¦ ÀÌ¿ëÇÑ ´Ù¾çÇÑ rename ±â¼ú
===================================
ÀÌ ±â¼úÀÌ ±âº»ÀûÀÌ°í »ç¼ÒÇÏÁö¸¸, À̸¦ »ý°¢ÇØ ³»±â¶õ ½±Áö ¾ÊÀ» °Í
ÀÌ´Ù. for ¹®Àº ȍÀÏÀÇ À̸§À» ¹Ù²Ù´Âµ¥ Æ‾º°È÷ À‾¿ëÇÏ´Ù. ¿¹¸¦ µé
¸é, ³»°¡ ´ÙÀ½ÀÇ ÈÀϵéÀ» °¡Áö°í ÀÖÀ» ¶§, (Åͺ¸ ÆĽºÄ® TP 4.0,
5.0, 5.5, 6.0) ³»°¡ ¹öÀü 29¸¦ 30À¸—Î ¹Ù²Ù±â ¿øÇÑ´Ù°í ÇÒ¶§,
tspa2940.zip
tspa2950.zip
tspa2955.zip
tspa2960.zip
´ÙÀ½Àº ¼Õ½±°Ô ±×—± ÀÏÀ» ÇØÁØ´Ù.
for %f in (40 50 55 60) do re tspa29%f.zip tspa30%f.zip
¹°—Ð ȍÀÏÀ̸§ ¹Ù²Ù´Â ÀÏ ¸»°íµµ ÀÌ ±â¼ú—Î ´Ù¾çÇÑ ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
ÇϳªÀÇ ¿¹´Â ´ÙÀ½°ú °°´Ù.
for %d in (a b) do format %d:
13. ¿ÍÀϵåÄ«µå¸¦ È®ÀÎÇϱâ
=========================
ÀÌ ¿¹Á¦´Â Àμö %1ÀÌ ¿ÍÀϵå Ä«µå¸¦ »ç¿ëÇÏ°í ÀÖ´ÂÁö ¾Æ´ÑÁö È®ÀÎÇÑ
´Ù.
@echo off
for %%f in (%1) do if "%%f"=="%1" goto _nowilds
echo Parameter %1 contains wildcards (or is missing)
:_nowilds
14. ¹èÄ¡ ÀÛ¾÷À» Áß°£¿¡ ±×¸¸µÎÁö ¸øÇÏ°Ô Çϱâ
===========================================
ctty ¸í—ɾ »ç¿ëÇؼ ÀԗÂÀåÄ¡³ª Ãâ—ÂÀåÄ¡¸¦ »õ—Î ¼³Á¤ÇÏ¿© ¹èÄ¡
ȍÀÏÀ» ÁߴܽÃÅ°´Â °ÍÀ» ¹æÁöÇÒ ¼ö ÀÖ´Ù. ¿©±âÀÇ ¿¹Á¦´Â Æнº¿öµå—Î
e¸¦ ³Ö¾î¾ß ÇÏ´Â °£´ÜÇÑ ¹èġȍÀÏÀÌ´Ù. ctty°¡ nul—Î µ¹—ÁÁø µ¿¾È
<,>ÀÇ ¸®µð—º¼ÇÀÌ ÇÊ¿äÇÑ °ÍÀ» ´«¿©°Ü º¸¶ó. ask¶ó´Â ¹èġȍÀÏÀ» µ½
±â À§ÇÑ ÇÁ—αח¥Àº °°ÀÌ Æ÷ÇԵǾî ÀÖ´Ù. ( MsDosÀÇ choice¿Í ºñ½ÁÇÏ
´Ù. ´Ü, ¿¡—‾ —¹º§À» ÀԗÂÇÑ ¹®ÀÚÀÇ ¾Æ½ºÅ° °ªÀ¸—Î µ¹¸®´Â °Í¸¸ Ʋ¸®
´Ù.)
@echo off
ctty nul
echo Now you cannot break the batch with ^C or ^Break > con
:_ask
echo Use e to break > con
ask /b /d < con
if errorlevel==101 if not errorlevel==102 goto _out
goto _ask
:_out
ctty con
echo Back to normal. Now you can break the batch with ^C or
^Break.
ÀÌ ¹èġȍÀÏÀÌ ÀÛµ¿µÇ°í ÀÖ´Â µ¿¾È¿¡´Â alt-crtl-del—Î ´Ù½Ã ºÎÆÃÇÒ
¼öµµ ¾ø´Ù. ÀÌ °°Àº ÀÏÀ» ÇÏ´Â noboot.exe¶ó´Â —¥»óÁÖ ÇÁ—αח¥µµ ÀÖ
´Ù.
15. autoexec.bat¸¦ ÁßÁöÇÏ°í °Ç³Ê¶Ù´Â °ÍÀ» ¹æÁöÇϱâ
==================================================
ºê—¹ÀÌÅ©¸¦ ´—‾ autoexec.bat¸¦ °Ç³Ê ¶Ù¾î Áö³ªÄ¡Áö ¾Ê°Ô Çϱâ À§ÇØ
¼ ´ÙÀ½°ú °°ÀÌ config.sys¿¡ ¾²¸é µÈ´Ù.
shell=c:\command.com /p nul
À̗¸°Ô Çϱâ Àü¿¡ ¸¸ÀÏÀÇ °æ¿ì¸¦ ´ëºñÇؼ Ç×ÎÇÇ µð½ºÄÏÀ¸—Î ºÎÆÃÇÒ
Áغñ¸¦ ÇصдÙ. autoexec.bat ¸Ç µÞÁÙ¿¡ 'ctty con'À̶ó°í µ¡ ºÙ¿©
¾ß µÈ´Ù. ±×—¸°Ô ÇÏÁö ¾ÊÀ¸¸é Å°º¸µå°¡ ¸»À» µèÁö ¾ÊÀ» °ÍÀÌ°í, Áغñ
ÇÑ Ç×ÎÇÇ µð½ºÄÏÀ¸—Î ºÎÆÃÇØ¾ß ÇÒ °ÍÀÌ´Ù :-).
16. È®ÀåÀÚ¸¦ ÀνÄÇϱâ
=====================
´ÜÁö È®ÀåÀÚ¸¦ È®ÀÎÇϗÁ´ø°¡, ÁÖ¾îÁø ȍÀÏÀÇ À̸§¿¡¼ È®ÀåÀÚ¸¦ È‾°æ
º‾¼ö—Î ÀúÀåÇϗÁ°í ÇÒ¶§, ÀÌ °ÍÀº ¸Å¿ì À‾¿ëÇÏ´Ù. ¾î¶»°Ô ÇÏ´ÂÁö ¿©
±â¿¡ ÀÖ´Ù. ÀÌ ¹èġȍÀÏÀº PC- azine July 1992, Vol 11, No. 13,
page 528¿¡ ³ª¿Â Á¤º¸¸¦ ÀÌ¿ëÇÑ °ÍÀÌ´Ù. for —çÇÁ¿¡¼ ½½—¹½Ã(/)—Î
½ÃÀÛÇÏ´Â Àμö´Â µÎ ºÎºÐÀ¸—Î ³ª´©¾îÁö´Âµ¥, óÀ½ ºÎºÐÀº ÀμöÀÇ Ã¹
¹®ÀÚÀÌ°í ´Ù¸¥ ºÎºÐÀº ³ª¸ÓÁö ¹®ÀÚ¿ÀÌ´Ù.
ÀÌ ÇØ°á¹æ¹ý¿¡¼ ÇϳªÀÇ ¹®Á¦Á¡Àº .* À̶ó´ø°¡ .??? À̶õ È®ÀåÀÚ¸¦
ÀνÄÇÏÁö ¸øÇÏ´Â °ÍÀÌ´Ù. ±×—‾³ª "¿ÍÀϵåÄ«µå¸¦ È®ÀÎÇϱâ"¸¦ ÀÌ¿ëÇØ
¼ È®ÀÎÇÏ¸é µÉ °ÍÀÌ´Ù. À̗‾ÇÑ ±â¼úÀ» ÀÌ¿ëÇÑ °ÍÁß¿¡ UNPACK.BAT¶ó
´Â ¹èġȍÀÏÀÌ ÀÖ´Ù.
@echo off
set exten_=%1
:_next
set prev_=%exten_%
for %%f in (/%exten_%) do set exten_=%%f
if ".%exten_%"=="%prev_%" goto _extfound
if not "%exten_%"=="%prev_%" goto _next
goto _noext
:_extfound
echo The filename %1 has an extension %exten_%
goto _out
:_noext
echo The filename %1 has no extension
:_out
set exten_=
set prev_=
17. % ¹®ÀÚ ÀοëºÎÈ£
===================
%1Àº ¹èġȍÀÏ¿¡ ÁÖ¾îÁø ù¹ø° Àμö¸¦ °¡¸£Å²´Ù. ÀÌó—³ 'echo %1'
À̶ó°í Çϸé ù¹ø° Àμö¸¦ Ç¥½ÃÇØ ÁØ´Ù. ´ë½Å¿¡ %1¶ó´Â ¹®ÀÚ¸¦ Ç¥½Ã
ÇÏ°í ½ÍÀº °æ¿ì ¾î¶»°Ô ÇؾßÇϴ°¡? % ¹®ÀÚ´Â ÀοëºÎȣó—³ ÇൿÇÑ
´Ù. ±×—¡¼ %%1À̶ó°í ¾´ °æ¿ì ½ÇÁ¦—δ "%1"À̶ó°í ȍ¸é¿¡ Ç¥½ÃµÈ
´Ù. ¾Æ—¡ÀÇ °£´ÜÇÑ ¿¬½ÀÀ» ½ÇÇàÇغ¸¶ó.
@echo off
if "%1"=="" goto _out
echo %1
echo %%1
:_out
ÀÌ ±â´ÉÀ» ÀÌ¿ëÇÑ °ÍÀº "¹èÄ¡ÀÇ º¸Á¶ ¹èġȍÀÏÀ» ¾ø¾Ö±â"¸¦ º¸¾Æ¶ó.
ÁÁÀº ¿¹—δ DELPATH.BAT°¡ ÀÖ´Ù.
18. ¹èÄ¡ÀÇ º¸Á¶ ¹èġȍÀÏÀ» ¾ø¾Ö±â
=================================
¸¹Àº ¹èÄ¡ ÇÁ—αח¥ÀÌ callÀ» »ç¿ëÇؼ º¸Á¶ ¹èġȍÀÏÀ» ºÒ—‾´Ù ¾´
´Ù. ¸¹Àº °æ¿ì À̗± ÀÏÀ» Àç±ÍÀûÀÎ »ç¿ëÀ» ÅëÇØ ÀÚ±â ÀÚ½ÅÀ» ºÒ—‾´Ù
¾¸À¸—Î½á º¸Á¶ ȍÀÏÀ» »ç¿ëÇÏ´Â °ÍÀ» ÁÙÀÏ ¼ö ÀÖ´Ù. º¸Á¶ÄÚµå´Â ¹è
ġȍÀÏ ÀÚ±âÀڽſ¡ ³Ö¾î ³õ´Â´Ù. À̗‾ÇÑ ±â¼úÀº ¿ÍÀϵå Ä«µå¸¦ ¹Þ¾Æ
µéÀÌ´Â TYPE °°Àº SHOW.BAT ¿¡¼ °¡Àå Àß ³ªÅ¸³ª ÀÖ´Ù. ÀϹÝÀûÀ¸—δÂ
°³°³ÀÇ ÈÀÏÀ» typeÇϱâ À§Çؼ º¸Á¶ÈÀÏÀÌ ÇÊ¿äÇÏ´Ù. ´Ù¸¥ ¿¹´Â
SAFEDEL.BAT¿¡¼ ã¾Æº¼¼öÀÖ´Ù.
ÀÌ¿Í °°Àº ÀÏÀ» Çϱâ À§ÇÑ ´Ù¸¥ ±â¼úÀÌ ÀÖ´Ù. ¿ø—¡ÀÇ ¹èġȍÀÏÀÌ º¸
Á¶ ¹èġȍÀÏÀ» ¸¸µç ´ÙÀ½ ±×°ÍÀ» ºÒ—‾ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. À̗± °ÍÀ¸—Î
´Â DELPATH.BATÀÇ ¿¹¸¦ µé ¼ö ÀÖ´Ù. ¿©±â¿¡´Â »ç¿ëµÇ´Â µå¶óÀ̺긦
º¸¿©ÁÖ´Â °£´ÜÇÑ ¿¹°¡ ÀÖ´Ù. (c ºÎÅÍ t ±îÁö °¡´ÉÇÏ´Ù. ¿©±â¼± ´õ ¾²
¸é ÁÙÀÌ ³Ñ¾î°¡´Ï±î!)
@echo off
echo @echo off> tmp$$$.bat
echo if exist %%1:\nul echo Drive %%1: is present>> tmp$$$.bat
for %%d in (c d e f g h i j k l m n o p q r s t) do call tmp$$$
%%d
del tmp$$$.bat
µð½ºÅ©ÀÇ º¼—ý —¹À̺íÀ» ã¾Æ³»´Â âÀÇÀûÀÎ ±â±³°¡ PC-Magazine
August 1992, Vol. 11, No. 14, p. 527¿¡ ½Ç—È´Ù. ¿©±â´Â °°Àº ±â¼ú
À» »ç¿ëÇÏ´Â ¿¹°¡ ÀÖ´Ù. È‾°æº‾¼ö getdir_¿¡ ÇöÀçÀÇ µð—ºÅ丮¸¦ Àú
ÀåÇÑ´Ù. ÀÌ ±â¼úÀº PUSHDIRE.BAT¿¡ »ç¿ëµÇ°í ÀÖ´Ù.
@echo off
echo @echo off> director.bat
echo set getdir_=%%2>> director.bat
echo echo %%getdir_%%>> director.bat
dir | find "Directory"> go.bat
call go
if exist director.bat del director.bat
if exist go.bat del go.bat
19. subst ¸í—ɾ °æ—ο¡ »ç¿ëÇϱâ
==================================
¾î¶² µð—ºÅ丮¸¦ Àб⠽±°Ô Çϱâ À§Çؼ °£´ÜÇÑ ¹èġȍÀÏÀ» »ç¿ëÇÑ
´Ù. ¸¸¾à subst °¡ ÀÌ¹Ì ¼³Á¤µÇ¾î¼ »ý±æ ¼ö ÀÖ´Â ¿¡—‾¸¦ ¹æÁöÇÑ´Ù.
±×¸®°í ¸¶Áö¸—À¸—Î ÇöÀç ´ëÄ¡µÈ µð—ºÅ丮ÀÇ ÇöȲÀ» º¸¿©ÁØ´Ù.
@echo off
if exist m:\nul echo The substitution has already been made
if not exist m:\nul subst m: c:\math
if not exist s:\nul subst s: c:\support
subst
20. ÀÏÁÖÀÏ¿¡ Çѹø ½ÇÇàÇϱâ. (¿äÀÏÀ» È®ÀÎÇϱâ)
=============================================
¿äÀÏÀ» È‾°æº‾¼ö¿¡ ³Ö´Â °ÍÀº ¾î—Á¿î ±â¼úÀÌ´Ù. ¿ÏÀüÇÑ ¿¹´Â
WEEKLY.BAT¿¡¼ ã¾Æº¼¼ö ÀÖ´Ù. ÀÌ ±â¼úÀÇ ÇÙ½ÉÀº ¾Æ—¡¿¡ ³ª¿Í ÀÖ´Â
µ¥, ¿äÀÏÀ» weekday_¶ó´Â È‾°æº‾¼ö¿¡ ÀúÀåÇÏ´Â °ÍÀÌ´Ù. ÀÏ¹Ý µµ½º ÇÁ
—αח¥ ¿Ü¿¡ ¾Æ¹«—± º¸Á¶ ÇÁ—αח¥ÀÌ ÇÊ¿ä¾ø´Ù.
@echo off
echo.| date | find "Current" > tmp$$$.bat
echo set weekday_=%%3> current.bat
call tmp$$$
echo %weekday_%
if "%weekday_%"=="Fri" echo Thank God it's Friday
if exist tmp$$$.bat del tmp$$$.bat
if exist current.bat del current.bat
set weekday_=
»ç½Ç, À§¿¡¼ %%3 ´ë½Å¿¡ %%4¸¦ »ç¿ëÇÏ¸é ¿À´ÃÀÇ ³‾Â¥¸¦ È®ÀÎÇÒ ¼ö
ÀÖ´Ù.
21. ȍÀÏÀ̸§¿¡ °æ—ΰ¡ Æ÷ÇԵǾú´ÂÁö È®ÀÎÇϱâ
===========================================
¿ì¼± ¸ÕÀú "È®ÀåÀÚ¸¦ ÀνÄÇϱâ"¸¦ º¸¸é °°Àº ¾ÆÀ̵ð¾îÀÎ °ÍÀ» ¾Ë ¼ö
ÀÖ´Ù. ȍÀÏÀ̸§ÀÌ ´Ü¼øÈ÷ go.exe —Î À̗ç¾î Á³´ÂÁö, ¾Æ´Ï¸é °æ—θ¦
Æ÷ÇÔÇؼ r:\progs\go.exe¿Í °°ÀÌ À̗ç¾î Á³´ÂÁö È®ÀÎÇÏ´Â °ÍÀº
r:\progs\*.exe¿Í °°ÀÌ È®ÀåÀÚ¸¦ »ç¿ëÇß´Ù¸é ¸Å¿ì º¹ÀâÇÑ ÀÏÀÌ´Ù. ¿©
±â¼ ¾î¶»°Ô µÇ´ÂÁö ¼³¸íÇÏ¿´´Ù. À̸¦ ¿ÏÀüÈ÷ ÀÌÇØÇß´Ù¸é È®½ÇÈ÷ ¹è
Ä¡ ȍÀϵ鿡 ´ëÇؼ ÀÌÇØÇϱ⠽ÃÀÛÇß´Ù°í ¸»ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
@echo off
echo @echo off> tmp$$$.bat
echo set rest_=%%1>> tmp$$$.bat
echo :_next>> tmp$$$.bat
echo set prev_=%%rest_%%>> tmp$$$.bat
echo for %%%%g in (/%%rest_%%) do set rest_=%%%%g>> tmp$$$.bat
echo if ":%%rest_%%"=="%%prev_%%" goto _found>> tmp$$$.bat
echo if "\%%rest_%%"=="%%prev_%%" goto _found>> tmp$$$.bat
echo if not "%%rest_%%"=="%%prev_%%" goto _next>> tmp$$$.bat
echo goto _nopath>> tmp$$$.bat
echo :_found>> tmp$$ at
echo set haspath_=yes>> tmp$$$.bat
echo goto _out>> tmp$$$.bat
echo :_nopath>> tmp$$$.bat
echo set haspath_=no>> tmp$$$.bat
echo :_out>> tmp$$$.bat
echo set rest_=>> tmp$$$.bat
echo set prev_=>> tmp$$$.bat
for %%f in (%1) do call tmp$$$ %%f
if "%haspath_%"=="yes" echo Filename %1 includes a path
if "%haspath_%"=="no" echo Filename %1 does not include a path
rem if exist tmp$$$.bat del tmp$$$.bat
set haspath_=
22. ¿£ÅÍÅ°¸¦ ´©¸£Áö ¾Ê°í ½Ã°£À» º¸±â
====================================
ÇöÀçÀÇ ½Ã°£À» º¸´Â °£´ÜÇÑ ±â¼úÀº ´ÙÀ½°ú °°´Ù.
echo.| time | find /v "new"
½Ã°£À» È‾°æº‾¼ö—Î ÀúÀåÇÏ´Â ¹æ¹ýÀº LASTBOOT.BATÀ» º¸¾Æ¶ó.
23. ¿¡—‾—¹º§ °ªÀ» È®ÀÎÇÏ´Â ´Ù¸¥ ¹æ¹ý
====================================
¸¹Àº ÇÁ—αח¥°ú ¸î°³ÀÇ µµ½º¸í—ɾîµé( diskcomp, format, xcopy)Àº
³¡³‾ ¶§ ¿¡—‾ —¹º§À» ¹ß»ý½ÃŲ´Ù. ¿¡—‾—¹º§ÀÇ ´©ÀûÀûÀÎ ¼ºÁú ¶§¹®¿¡
¿¡—‾ —¹º§À» È®ÀÎÇÏ´Â °ÍÀº ´Ù¼Ò º¹ÀâÇØÁø´Ù. ±×—¡¼ ¸¸¾à ¿¡—‾—¹º§
ÀÌ Á¤È®È÷ 2ÀÎÁö È®ÀÎÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
if errorlevel==2 if not errorlevel==3 echo Errorlevel 2
for ¸í—ɾ »ç¿ëÇÏ´Â ´Ù¸¥ ¹æ¹ýÀ¸—Î ´ÙÀ½À» µé¼ö ÀÖ´Ù.
for %%e in (0 1 2 3 4 5 6 7) do if errorlevel==%%e set
_errlev=%%e
if "%_errlev%"=="2" echo Errorlevel 2
Á» ´õ ÀϹÝÀûÀ¸—Î ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.
for %%e in (0 1 2 3 4 5 6 7) do if errorlevel==%%e set
_errlev=%%e
if "%_errlev%"=="2" echo Errorlevel %_errlev%
º¹ÀâÇÑ ¹èġȍÀÏ¿¡¼ Æí¸®ÇÑ ¹æ¹ýÀº goto¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
for %%e in (0 1 2) do if errorlevel==%%e goto _label%%e
goto _out
:_label0
echo Errorlevel 0
:_label1
echo Errorlevel 1
:_label2
echo Errorlevel 2
:_out
ÀÌ ±â¼úÀ» ½ÇÁ¦—Î »ç¿ëÇÏ´Â ¿¹´Â BOOT.BAT¿¡¼ ã¾Æº¼¼ö ÀÖ´Ù.
24. ¹èġȍÀÏÀÇ Ãâ—ÂÀ» ¸®µð—º¼Ç(redirection)Çϱâ
===============================================
¹èġȍÀÏ ¾È¿¡¼ÀÇ Ãâ—ÂÀº ¼Õ ½±°Ô Àç ¹æÇâÀüÈ‾(redirecion)ÇÒ ¼ö ÀÖ
´Ù. ´ÙÀ½°ú °°Àº example.bat À̶ó´Â ¹èġȍÀÏÀ» »ý°¢Çغ¸ÀÚ.
@echo This is a redirection test> test
"example"¸¦ ½ÇÇà½ÃÅ°¸é ¾Æ—¡ÀÇ ¹®ÀåÀ» ´ãÀº "test"¶ó´Â ȍÀÏÀ» »ý¼º
ÇÒ °ÍÀÌ´Ù.
This is a redirection test
ÀÌ ÁÙÀº eoln(end of line: ascii 13 + 10)À» ÁÙ ³¡¿¡ Æ÷ÇÔÇÏ°í ÀÖ
´Ù. ¸®µð—º¼Ç ±âÈ£ '>' ¾Õ¿¡ ¾Æ¹«—± °ø¹éµµ ÁÖÁö ¾Ê´Â °ÍÀÌ Çö¸íÇÒ
¶§°¡ ÀÖ´Ù.
¹èġȍÀÏÀÌ ¸¸µå´Â Ãâ—ÂÀ» ´Ù½Ã Àç ¹æÇâÀüÈ‾(redirection)ÇÏ´Â °ÍÀº
´Ù¼Ò º¹ÀâÇÏ´Ù. ´ÙÀ½°ú °°Àº ³»¿ëÀ» Áö´Ñ example2.batÀ» »ý°¢ÇØ º¸
ÀÚ.
@echo This is another redirection test
½ÇÇàÇϸé,
example2 > test
Ãâ—ÂÀº ȍ¸é¿¡ ³ª¿À°í, ºó test¶ó´Â ȍÀÏÀÌ »ý¼ºµÉ °ÍÀÌ´Ù. Ãâ—ÂÀ»
Àç ¹æÇâ ÀüÈ‾ ½ÃÅ°±â À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ command.com ¸í—ɾî Çؼ®
±â¸¦ ÅëÇؼ ¹èġȍÀÏÀ» ½ÇÇàÇØ¾ß ÇÑ´Ù.( command.comÀº Çöµð—ºÅ丮
³ª °æ—ο¡ ÀÖ¾î¾ß ÇÑ´Ù.)
command /c example2 > test
ÀÌ¿Í °°ÀÌ ÇÏ¸é ³»¿ëÀÌ "test"¶ó´Â ȍÀÏ¿¡ ´ã±æ °ÍÀÌ´Ù.
25. È‾°æÀúÀå °ø°£ÀÌ ÃæºÐÇÑÁö È®ÀÎÇϱâ
=====================================
¸¸¾à ¹èġȍÀÏÀÌ È‾°æÀúÀå º‾¼ö¸¦ »ç¿ëÇϸé, È‾°æÀúÀå °ø°£ÀÌ ºÎÁ—ÇÒ
°æ¿ì°¡ ÀÖ´Ù. ¸¸¾à "Out of environment space"¶ó´Â ¸Þ¼¼Áö¸¦ ¹Þ´Â´Ù
¸é Àß ¾Ë—ÁÁø ¹æ¹ýÀ» ÅëÇؼ ´ÙÀ½°ú °°ÀÌ config.sys ÀÇ shellÀ» ¼³
Á¤Çؼ È‾°æÀúÀå °ø°£À» ´Ã¸± ¼ö ÀÖ´Ù.
shell=c:\bin\command.com c:\bin /e:1024 /p
ÀÌ º¸´Ù ´ú ¾Ë—ÁÁø ±â¼ú—δ È‾°æÀúÀå °ø°£ÀÌ ¸ðÀÚ¶ó±â Àü¿¡ ¹Ì¸® È®
ÀÎÇØ º¼¼ö ÀÖ´Ù. ¾Æ—¡ÀÇ ¿¹´Â 32¹ÙÀÌÆ®ÀÇ È‾°æÀÌ ³²¾Æ ÀÖ´ÂÁö È®ÀÎÇÑ
´Ù.
@echo off
set test_=12345678901234567890123456789012
if "%test_%"=="12345678901234567890123456789012" goto _yes
echo Insufficient environment space
goto _out
:_yes
echo Sufficient environment space
set test_=
rem Whatever you wish to do
:_out
26. µå¶óÀ̺긦 »ç¿ë ¸øÇÏ°Ô ÇÏ´Â °£´ÜÇÑ ¹æ¹ý
===========================================
Àӽ×Πµå¶óÀ̺긦 »ç¿ëÇÏÁö ¸øÇÏ°Ô ÇϗÁ¸é, subst¸í—ɾ »ç¿ëÇϸé
µÈ´Ù. ¿¹´Â ¾Æ—¡¿Í °°´Ù.
@echo off
md c:\none
subst d: c:\none
´Ù½Ã »ç¿ëÇÏ°Ô ÇϗÁ¸é,
@echo off
subst d: /d
rd c:\none
27. ÇÁ¸°ÅÍ¿¡ escape ¸í—ɾ º¸³»±â
===================================
¿©±â Á¤¸» »ç¼ÒÇÑ ±â¼úÀÌ ÀÖ´Ù. ¸í—ÉÇà¿¡¼ °ð¹Ù—Î ÇÁ¸°ÅÍ¿¡°Ô
escape sequence¸¦ º¸³¾ ¼ö ¾ø´Ù. ±×—‾³ª ´ÙÀ½°ú °°Àº ¹èġȍÀÏÀ» ÀÌ
¿ëÇÏ¸é °£´ÜÇÏ´Ù.
@echo ESC%1> prn
ESC´Â ÁøÂ¥ escape¹®ÀڗΠ¿¡µðÅ͗Π¾²¿©Á®¾ß µÈ´Ù. ÀÌ ¹æ¹ýÀÇ ÇÑ°¡Áö
°áÁ¡Àº ¶óÀÎÇǵ带 º¸³»´Â °ÍÀÌ´Ù.
28. ¹«ÀÛÀ§ ¹®ÀÚ¿À» ¸¸µç´Â ¹æ¹ý
===============================
UseNet news¿¡¼ ¹«ÀÛÀ§ ¹®ÀÚ¿À» ¸¸µå´Â ¹æ¹ýÀ» ¹°¾îº¸´Â »ç¶÷ÀÌ ÀÖ
¾ú´Ù. ´ë´äÀº ´ÙÀ½°ú °°´Ù. À̸¦ È®ÀåÇؼ °øºÎÇغ¸±â ¹Ù¶õ´Ù.
@echo off
echo 10 randomize(val(mid$(time$,7,2))) > tmp.bas
echo 20 open "tmp2.bat" for output as #1 >> tmp.bas
echo 30 x$ = mid$(str$(int(rnd*10000)),2) >> tmp.bas
echo 40 print #1,"@set ramdom_=";x$ >> tmp.bas
echo 50 close #2 >> tmp.bas
echo 60 system >> tmp.bas
gwbasic tmp.bas
call tmp2
del tmp.bas
del tmp2.bat
set
29. ¹®ÀÚ¿ÀÇ ±æÀ̸¦ ¾Ë¾Æ³»±â
============================
¹®ÀÚ¿ÀÇ ±æÀ̸¦ ã¾Æ³»´Â ÀÏÀº PC Magazine January 26, 1993 issue
¿¡ ½Ç—È´Ù. ¿©±â¼ Á¦¾ÈÇÏ´Â ¹æ¹ýÀº PC ¸Þ°ÅÁøÀÇ ¹æ¹ý°ú ±Ùº»ÀûÀ¸—Î
°°Áö¸¸, ´õ ÀϹÝÀûÀÌ´Ù.
@echo off
set test_=Testing the lenght of a string
echo %test_% > len$&$&$
dir len$&$&$ | find "LEN$&$&$" > go$$$.bat
echo @echo off> len$&$&$.bat
echo set length_=%% len$&$&$.bat
call go$$$
echo The lenght is %length_% bytes
del len$&$&$
del len$&$&$.bat
del go$$$.bat
30. MsDosÀÇ ¹öÀüÀ» È‾°æº‾¼ö—Î ÀúÀåÇϱâ
======================================
ADJCURS.BATÀ» º¸¸é ¾Ë°ÚÁö¸¸, ¹èġȍÀϗθ¸ ¹öÀüÀ» ¾Ë¾Æ³¾ ¼öÀÖ´Ù.
¿©±â¿¡ ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù.
@echo off
ver > go$$$.bat
echo @echo off> ms-dos.bat
echo set version_=%%2>> ms-dos.bat
call go$$$
echo Your MsDos version is %version_%
del go$$$.bat
del ms-dos.bat

Você também pode gostar