X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=_src%2F_vbslib%20manual.files%2Fdos_batch.files%2Fdos_batch_03.html;fp=_src%2F_vbslib%20manual.files%2Fdos_batch.files%2Fdos_batch_03.html;h=865a8608511a88b6488ed43e2ba0382e846beb12;hb=789b8160859f55b0be4b16cb2a92639ae41d3b51;hp=a4b876806aed44351e734755886d522607366263;hpb=b3a835050ab0797a5a3d94ba4e3b6a30670622ae;p=vbslib%2Fmain.git diff --git a/_src/_vbslib manual.files/dos_batch.files/dos_batch_03.html b/_src/_vbslib manual.files/dos_batch.files/dos_batch_03.html index a4b8768..865a860 100644 --- a/_src/_vbslib manual.files/dos_batch.files/dos_batch_03.html +++ b/_src/_vbslib manual.files/dos_batch.files/dos_batch_03.html @@ -87,402 +87,939 @@ function out( text ){ text.style.display = "none"; } - + -© -¥ -£ +© +¥ +£
ª
- - - -
->call /?
-ƒoƒbƒ` ƒvƒƒOƒ‰ƒ€‚ð•Ê‚̃oƒbƒ` ƒvƒƒOƒ‰ƒ€‚©‚çŒÄ‚яo‚µ‚Ü‚·B
-
-CALL [ƒhƒ‰ƒCƒu:][ƒpƒX]ƒtƒ@ƒCƒ‹–¼ [ƒoƒbƒ`ƒpƒ‰ƒ[ƒ^]
-
-  ƒoƒbƒ`ƒpƒ‰ƒ[ƒ^   ƒoƒbƒ` ƒvƒƒOƒ‰ƒ€‚Å•K—v‚ȃRƒ}ƒ“ƒh ƒ‰ƒCƒ“î•ñ‚ðŽw’肵‚Ü‚·B
-
-ƒRƒ}ƒ“ƒhŠg’£‹@”\‚ð—LŒø‚É‚·‚é‚ƁACALL ‚ÍŽŸ‚̂悤‚ɕύX‚³‚ê‚Ü‚·:
-
-CALL ƒRƒ}ƒ“ƒh‚́ACALL ‚̃^[ƒQƒbƒg‚Æ‚µ‚ă‰ƒxƒ‹‚ðŽó‚¯•t‚¯‚é‚悤‚É‚È‚è‚Ü‚·B
-\•¶‚́AŽŸ‚Ì‚Æ‚¨‚è‚Å‚·:
-
-    CALL :ƒ‰ƒxƒ‹ ˆø”
-
-Žw’肳‚ꂽˆø”‚ŐV‚µ‚¢ƒoƒbƒ` ƒtƒ@ƒCƒ‹ ƒRƒ“ƒeƒLƒXƒg‚ªì¬‚³‚êAŽw’è
-‚³‚ꂽƒ‰ƒxƒ‹‚ÌŽŸ‚Ì•¶‚ɐ§Œä‚ª“n‚³‚ê‚Ü‚·Bƒoƒbƒ` ƒXƒNƒŠƒvƒg ƒtƒ@ƒCƒ‹‚Ì
-ÅŒã‚É 2 ‰ñ“ž’B‚·‚邱‚Æ‚É‚æ‚Á‚āA2 ‰ñ "I—¹" ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
-1 ‰ñ–ڂɍŌã‚É“ž’B‚µ‚½‚Æ‚«‚ɂ́A§Œä‚Í CALL •¶‚ÌŽŸ‚̍s‚É•Ô‚³‚ê‚Ü‚·B
-2 ‰ñ–ڂɁAƒoƒbƒ` ƒXƒNƒŠƒvƒg‚ªI—¹‚µ‚Ü‚·Bƒoƒbƒ` ƒXƒNƒŠƒvƒg‚©‚ç "–ß‚é"
-‚½‚ß‚Ì GOTO :EOF Šg’£‹@”\‚Ìà–¾‚ɂ‚¢‚ẮAGOTO /? ‚Æ“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B
-
-‚Ü‚½Aƒoƒbƒ` ƒXƒNƒŠƒvƒg‚̈ø”ŽQÆ (%0A%1 ‚È‚Ç) ‚Ì“WŠJ‚́AŽŸ‚̂悤‚É
-•ÏX‚³‚ê‚Ü‚µ‚½:
-
-
-    %* ƒoƒbƒ` ƒXƒNƒŠƒvƒg“à‚ł́A‚·‚ׂĂ̈ø” (%1A%2A%3A%4A
-        %5 ‚È‚Ç) ‚ðŽQÆ‚µ‚Ü‚·B
-
-    ƒoƒbƒ` ƒpƒ‰ƒ[ƒ^ (%n) ‚Ì’uŠ·‚ÍŠg’£‚³‚ê‚Ü‚µ‚½BŽŸ‚̃IƒvƒVƒ‡ƒ“\•¶
-    ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·:
-
-        %~1         - ‚·‚ׂĂ̈ø—p‹å (") ‚ðíœ‚µ‚āA
-                      %1 ‚ð“WŠJ‚µ‚Ü‚·B
-        %~f1        - %1 ‚ðŠ®‘SCüƒpƒX–¼‚É“WŠJ‚µ‚Ü‚·B
-        %~d1        - %1 ‚ðƒhƒ‰ƒCƒu•¶Žš‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~p1        - %1 ‚ðƒpƒX‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~n1        - %1 ‚ðƒtƒ@ƒCƒ‹–¼‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~x1        - %1 ‚ðƒtƒ@ƒCƒ‹Šg’£Žq‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~s1        - “WŠJ‚³‚ꂽƒpƒX‚́A’Z‚¢–¼‘O‚¾‚¯‚ðŠÜ‚Ý‚Ü‚·B
-        %~a1        - %1 ‚ðƒtƒ@ƒCƒ‹‘®«‚É“WŠJ‚µ‚Ü‚·B
-        %~t1        - %1 ‚ðƒtƒ@ƒCƒ‹‚Ì“ú•t/Žž‚É“WŠJ‚µ‚Ü‚·B
-        %~z1        - %1 ‚ðƒtƒ@ƒCƒ‹‚̃TƒCƒY‚É“WŠJ‚µ‚Ü‚·B
-        %~$PATH:1   - PATH ŠÂ‹«•Ï”‚ÉŽw’肳‚ê‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠ‚ð
-                      ŒŸõ‚µAÅ‰‚ÉŒ©‚‚©‚Á‚½Š®‘SCü–¼‚É %1 ‚ð
-                      “WŠJ‚µ‚Ü‚·BŠÂ‹«•Ï”–¼‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚¢ê‡A
-                      ‚Ü‚½‚ÍŒŸõ‚µ‚Ä‚àƒtƒ@ƒCƒ‹‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½
-                      ê‡‚́A‚±‚̏CüŽq‚ðŽw’è‚·‚é‚Æ‹ó‚Ì•¶Žš—ñ‚É
-                      “WŠJ‚³‚ê‚Ü‚·B
-
-    CüŽq‚ð‘g‚ݍ‡‚킹‚āA•¡‡Œ‹‰Ê‚𓾂邱‚Æ‚à‚Å‚«‚Ü‚·:
-
-        %~dp1       - %1 ‚ðƒhƒ‰ƒCƒu•¶Žš‚ƃpƒX‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~nx1       - %1 ‚ðƒtƒ@ƒCƒ‹–¼‚ÆŠg’£Žq‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~dp$PATH:1 - PATH ŠÂ‹«•Ï”‚ÉŽw’肳‚ê‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠ‚ð
-                      ŒŸõ‚µ‚Ä %1 ‚ð’T‚µAÅ‰‚ÉŒ©‚‚©‚Á‚½ƒtƒ@ƒCƒ‹
-                      ‚̃hƒ‰ƒCƒu•¶Žš‚ƃpƒX‚¾‚¯‚É“WŠJ‚µ‚Ü‚·B
-        %~ftza1     - %1 ‚ð DIR ‚̏o—͍s‚̂悤‚É“WŠJ‚µ‚Ü‚·B
-
-    ã‚Ì—á‚Ì %1 ‚Æ PATH ‚́A‚Ù‚©‚Ì—LŒø‚È’l‚Å’u‚«Š·‚¦‚邱‚Æ‚ª‚Å‚«
-    ‚Ü‚·B%~ \•¶‚Í—LŒø‚Ȉø”‚̐”‚É‚æ‚Á‚Ä‹æØ‚ç‚ê‚Ü‚·B%~ CüŽq
-    ‚Í %* ‚Æ“¯Žž‚É‚ÍŽg—p‚Å‚«‚Ü‚¹‚ñB
-
-call æ‚Őݒ肵‚½ŠÂ‹«•Ï”‚́A–ß‚Á‚Ä‚«‚Ä‚àˆø‚«Œp‚ª‚ê‚Ü‚·B
- -
-goto :eof
-
-call Œ³‚Ö–ß‚è‚Ü‚·B
- -
-call æ‚Őݒ肳‚ꂽŠÂ‹«•Ï”‚́A call ‚É‘±‚¢‚Ä & ‚Å“¯‚¶s‚ɏ‘‚¢‚½ŽŸ‚Ì–½—ß‚Å‚Í
-”½‰f‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB call ‚ÌŽŸ‚̍s‚Å”½‰f‚³‚ê‚Ü‚·B
- -
-set rr=0
-
-call  sub.bat & echo (%r%)
-echo (%r%)
-
-:sub_ret
-set r=%rr%
-goto ret
-
-main.bat
-
-sub.bat
- -
-set r=1
-
-o—Í
- -
-(0)
-(1)
-
-‘æ1ˆø”‚ðˆ—–¼‚É‚·‚é‚ƁA“¯‚¶ƒtƒ@ƒCƒ‹‚Ì’†‚Å call ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- -
+ + + +
+echo /* [DEBUGGING] */   a   & pause & cls
+
+ŽÀs’†‚ÉŽ~‚ß‚é
+
+‘S‘Ì‚Ì“®‚«‚ðŒ©‚é
+
+Eecho on ‚É‚µ‚āA’–Ú‚µ‚½‚¢‰ÓŠ‚ɁA“Á—L‚̃Rƒƒ“ƒgA‚Ü‚½‚́Aƒtƒ@ƒCƒ‹‚ÖƒŠƒ_ƒCƒŒƒNƒg‚·‚é
+@echo ‚ð“ü‚ê‚Ü‚·B
+ +
+REM  /* [DEBUGGING] */  a
+
+E’–Ú‚µ‚½‚¢‰ÓŠ‚ɁA•Ï”‚ÉŠÖ‚·‚éƒRƒƒ“ƒg‚ð“ü‚ê‚Ü‚·
+
+Eecho on ‚É‚·‚é‚©Aƒoƒbƒ`ƒtƒ@ƒCƒ‹“à‚Å set echo_on=1 ‚ɑΉž‚³‚¹‚āA
+@ŽÀsƒƒO‚ðƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚È‚ª‚çAŽÀs‚·‚éƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ðì¬‚µ‚ÄŽÀs‚µ‚Ü‚·B
+ +
+REM  /* [DEBUGGING] */  r=%r%
+ +
+echo on
+set echo_on=1
+( call auto.bat 2>&1 ) > log.txt
+if "%notepad%"=="" start "" notepad log.txt
+if not "%notepad%"=="" start "" %notepad% log.txt
+set echo_on=
+
+x.bat
+
+auto.bat
+
+2>&1 ‚ŁA•W€ƒGƒ‰[o—Í‚à log.txt ‚ɏo—Í‚µ‚Ä‚¢‚Ü‚·B
+ +
+>call
+
+ŽÀsƒƒO‚ŁA‚ǂ̃oƒbƒ`ƒtƒ@ƒCƒ‹‚ðŽÀs‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©‚́Acall •¶‚ðŒŸõ‚·‚ê‚Î
+•ª‚©‚è‚Ü‚·B
+ +
+if not (%rr%)==(0) echo %cd%^>&echo /* [DEBUGGING] */   %msg%&pause
+
+¨ x.lzh
+ +
+¨ x_me.lzh
+
+‚Ü‚½‚́A
+ +
+del  "C:\batlog.txt"
+echo  /* [DEBUGGING] */  a  >> "C:\batlog.txt"
+ +
+set /A g_count = %g_count% + 1
+echo g_count=%g_count% & if "%g_count%" == "1"  ( pause & echo on )
+
+Žw’肵‚½‰ñ”‚ª’ʉ߂µ‚½‚çAƒRƒ}ƒ“ƒh‚ð•\Ž¦‚µ‚È‚ª‚çŽÀs‚·‚éB
+ + + + + + + + + + +© +¥ +£ + + + +
+¨ VisualBat_1.0.0.zip
+ +
+ƒ_ƒEƒ“ƒ[ƒh
+ + +
+ŽŸ‚Ì‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+EƒuƒŒ[ƒN ƒ|ƒCƒ“ƒg‚̐ݒè
+EƒXƒeƒbƒvŽÀs
+E‘S•Ï”‚̃EƒHƒbƒ`
+
+ŽQl
+
+ŽŸ‚Ì‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+EƒR[ƒ‹ƒXƒ^ƒbƒN‚ÌŽQÆ
+ + + + + + +
+ + + +© +¥ +£ + + +
+¨ batlib ƒtƒHƒ‹ƒ_[
+
+Sage Plaisir 21 ‚ª’ñ‹Ÿ‚·‚éi—\’è‚́jƒoƒbƒ` ƒtƒ@ƒCƒ‹‚̃‰ƒCƒuƒ‰ƒŠB
+ + +
@echo off
-set _this=%0
-if "%1"=="" goto _main
-if "%1"=="_sub" shift & goto _sub
-echo ERROR! invalid param1 of %_this% & pause & goto ret
-
-:_main
-echo _main
-call %_this% _sub 1
-pause
-goto :ret
+rem ********************************************************************
+rem * File: batlib.bat
+rem ********************************************************************
+
+call :Main
+if errorlevel 1 ( echo ^<%error_message%/^> & pause & exit /b )
+exit
+
+
+rem ********************************************************************
+rem * Function: Main
+rem *    Calls test functions.
+rem *
+rem * Return Value:
+rem *    %errorlevel% - 0=Pass
+rem ********************************************************************
+:Main
+    call :T_Example  "Example.txt"
+        if errorlevel 1 ( exit /b )
+        rem  š call ‚Ì’¼Œã‚Í•K‚¸ errorlevel ‚ðƒ`ƒFƒbƒN‚·‚邱‚Æ
+
+    echo Pass.
+    pause
+goto :eof

-:_sub
-echo _sub %1
-goto :ret

-:ret
-set _this=
-
-o—Í
- -
-_main
-_sub 1
-
-¨ ƒoƒbƒ`ƒtƒ@ƒCƒ‹Eƒeƒ“ƒvƒŒ[ƒg
- - -
-ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å“ü—Í‚µ‚½ƒoƒbƒ`ƒtƒ@ƒCƒ‹–¼‚É‚È‚è‚Ü‚·B
- -
->sample
-sample
- -
->..\sample.bat
-..\sample.bat
-
-ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚çA"" ‚ň͂܂ꂽƒtƒ‹ƒpƒX‚É‚È‚è‚Ü‚·B
- -
-"C:\dir\file.bat"
- -
->sample.bat "a b"
-%1="a b"
-%~1=a b
- - - -
-call  a.bat
- -
-call  :label  param1 ...
-
-“¯‚¶ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚Ì’†‚ðƒR[ƒ‹B %1 ‚È‚Ç‚Í’u‚«Š·‚í‚è‚Ü‚·
-
-call Œ³‚Ö–ß‚è‚Ü‚·B i‚·‚®‚Ƀoƒbƒ`ƒtƒ@ƒCƒ‹‚ðI—¹‚·‚é•û–@‚Í•s–¾Bj
- -
+rem ********************************************************************
+rem * Function: T_Example
+rem *    A test function.
+rem *
+rem * Arguments:
+rem *    "%~1" - Full path of input.
+rem *
+rem * Return Value:
+rem *    %return_value% - 1=Same, 0=NotSame
+rem ********************************************************************
+:T_Example
+    set input_path=%~1
+
+    set return_value=0
goto :eof
- -
-Œ^ƒ`ƒFƒbƒN‚ª–³‚¢‚̂ŁAƒ‰ƒCƒuƒ‰ƒŠ‚̈ø”‚̍\¬‚ª•Ï‚í‚é‚ƁAˆÚA‚ª‘å•Ï‚É‚È‚è‚Ü‚·B
-‚½‚Æ‚¦‚Î a_ ‚ÅŽn‚Ü‚éŠÂ‹«•Ï”‚ðAƒpƒ‰ƒ[ƒ^—p‚É‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B
- -
-set  a_paramX=
-set       a_Y=
-
-ƒŠƒ^[ƒ“‚·‚é’¼‘O‚âA‰Šú‰»Žž‚ɁAa_ ‚ÅŽn‚Ü‚éŠÂ‹«•Ï”‚̓ŠƒZƒbƒg‚µ‚Ä‚­‚¾‚³‚¢B
- -
-goto ret
-:ret
-REM ^>call_return  %0
-
-•Ê‚̃tƒ@ƒCƒ‹‚ւ̃R[ƒ‹
-
-“¯‚¶ƒtƒ@ƒCƒ‹‚ւ̃R[ƒ‹
- - - - - - - -
-call :label ... > log.txt ‚Æ‚·‚é‚ƁAƒTƒuƒ‹[ƒ`ƒ“‚̏o—Í‚ð‚·‚×‚ÄƒŠƒ_ƒCƒŒƒNƒg‚µ‚Ü‚·B
+ + - - - - + + + +
- + + +© +¥ +£ + + + +
+ƒ\[ƒX
+
+¨ batlib.bat
+ +
+call :Error "%~1" & exit /b
+
+ƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
+
+yˆø”z
+
+%~1
+
+%errorlevel% ‚ɐݒ肷‚é’l
+
+%errorlevel%
+
+%~1A‚½‚¾‚µ®”‚Ì‚Ý
+
+%~2
+
+%error_message% ‚̈ꕔ‚ɐݒ肷‚éƒGƒ‰[ƒƒbƒZ[ƒW
+ +
+if not exist "a.txt" ( call :Error 1 & exit /b )
+
+ƒTƒ“ƒvƒ‹
+ +
+if not exist "a.txt" ( call :Error 1 "not found" & exit /b )
+
+ƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B
+
+Error ŠÖ”‚ðŒÄ‚яo‚·‚ƁA%error_message% ‚ÉŽŸ‚̂悤‚ȃGƒ‰[ƒƒbƒZ[ƒW‚ª“ü‚è‚Ü‚·B
+ +
+ERROR  errorlevel="1"  error_message=""
+
+%error_message% ‚ð XML Œ`Ž®‚É‚µ‚È‚©‚Á‚½——R‚́A•Ï”‚ðŽQÆ‚µ‚½‚Æ‚«‚É
+ƒŠƒ_ƒCƒŒƒNƒg‚³‚ê‚Ä‚µ‚Ü‚¤‚©‚ç‚Å‚·B
+%~2 ˆø”‚ɁA< ‚â > ‚â " ‚ðŠÜ‚߂邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+ +
+ŠÖ˜A
+ +
+ƒGƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B
+ƒGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦‚µ‚āA‘±‚«‚ðŽÀs‚µ‚Ü‚·B
+ƒGƒ‰[‚ª”­¶‚µ‚½‚±‚Æ‚ðƒeƒXƒg‚µ‚Ü‚·B
+ + + + + + + +
+ + + +© +¥ +£ + + + + +
+call :ClearError
+
+ƒGƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B
+ +
+call :T_Example
+    echo.
+    echo Next is Error Test
+
+        ...
+
+    if not errorlevel 1 ( call :Error 1 & exit /b )
+    call :ClearError
+
+ƒTƒ“ƒvƒ‹
+
+ƒGƒ‰[‚ª”­¶‚µ‚½‚±‚Æ‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B ƒpƒX‚µ‚½‚çƒGƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B
+
+ƒ\[ƒX
+
+¨ batlib.bat
+
+%errorlevel% ‚Æ %error_message% ‚ðƒNƒŠƒA‚µ‚Ü‚·B
+ +
+ŠÖ˜A
+ +
+ƒGƒ‰[‚ª”­¶‚µ‚½‚çAƒGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦‚µ‚āA‘±‚«‚ðŽÀs‚µ‚Ü‚·B
+
+ƒTƒ“ƒvƒ‹
+ +
+call :T_Example
+    if errorlevel 1 ( echo ^<%error_message%/^> & call :ClearError )
+
+if ‚â for ‚Ì ( ) ‚Ì’†‚Å errorlevel •Ï”‚ðŽQÆ‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B
+ +
+( ) ‚Ì‘O‚Ì errorlevel •Ï”‚Ì’l‚ªŽQÆ‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B
+ + + + + + +
+ + + +© +¥ +£ + + + +
+ƒeƒXƒg
+
+ƒ\[ƒX
+
+¨ batlib.bat
+
+¨ batlib.bat
+
+T_GetStepPath
+ +
+call :GetStepPath  "%~1"  "%~2"
+
+ƒtƒ‹ ƒpƒX‚𑊑΃pƒX‚É•ÏŠ·‚µ‚Ü‚·B
+
+yˆø”z
+
+%~1
+
+%~2
+
+“ü—Í‚·‚éƒtƒ‹ ƒpƒX
+
+‘Š‘΃pƒX‚̊‚Æ‚È‚éƒtƒ‹ ƒpƒX
+
+%return_value%
+
+‘Š‘΃pƒX
+
+eƒtƒHƒ‹ƒ_[iƒsƒŠƒIƒh‚Q‚j‚ª‘Š‘΃pƒX‚ÉŠÜ‚Ü‚ê‚é‚悤‚È’l‚ðˆø”‚ÉŽw’肵‚½‚Æ‚«‚́A
+ƒGƒ‰[‚É‚È‚è‚Ü‚·B
+
+‚̃R[ƒh‚à•K—v‚Å‚·B
+ + + + + + + +
+ + + +© +¥ +£ + + + +
+call :GetFileName  "%~1"
+
+ƒpƒX‚©‚çƒtƒ@ƒCƒ‹–¼‚ð•Ô‚µ‚Ü‚·B
+
+yˆø”z
+
+%~1
+
+“ü—Í‚·‚éƒpƒXB‘Š‘΃pƒXA‚Ü‚½‚́Aƒtƒ‹ ƒpƒX
+
+ƒtƒ@ƒCƒ‹–¼A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[–¼
+
+%return_value%
+
+ƒTƒ“ƒvƒ‹
+
+C:\Folder\Example.txt
+
+%~1
+
+%return_value%
+ +
+Example.txt
+
+C:\Folder
+
+Folder
+
+C:
+
+‚È‚µiƒGƒ‰[j
+
+‚È‚µ
+
+‚È‚µiƒGƒ‰[j
+
+ƒeƒXƒg
+
+ƒ\[ƒX
+
+¨ batlib.bat
+
+¨ batlib.bat
+
+T_GetFileName
+
+Folder\Example
+
+Folder
+
+Example
+
+Folder
+
+ŽQl
+ +
+‚̃R[ƒh‚à•K—v‚Å‚·B
+ + + + + + + +
+ + + +© +¥ +£ + + + +
+call :GetParentPath  "%~1"
+
+eƒtƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B
+
+yˆø”z
+
+%~1
+
+“ü—Í‚·‚éƒpƒXB‘Š‘΃pƒXA‚Ü‚½‚́Aƒtƒ‹ ƒpƒX
+
+%~1 ‚̐eƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒX
+
+%return_value%
+
+ƒTƒ“ƒvƒ‹
+
+C:\Folder\Example
+
+%~1
+
+%return_value%
+ +
+C:\Folder
+
+C:\Folder
+
+C:
+
+C:
+
+‚È‚µiƒGƒ‰[j
+
+‚È‚µ
+
+‚È‚µiƒGƒ‰[j
+
+ƒeƒXƒg
+
+ƒ\[ƒX
+
+¨ batlib.bat
+
+¨ batlib.bat
+
+T_GetParentPath
+
+Folder
+
+C:\Current\Folder iƒJƒŒƒ“ƒg‚ª C:\Current ‚̏ꍇj
+
+ŽQl
+ +
+‚̃R[ƒh‚à•K—v‚Å‚·B
+ + + + + + + +
+ + + +© +¥ +£ + + + +
+‚̃R[ƒh‚à•K—v‚Å‚·B
+ + +
+call :SearchParent  "%~1"
+
+StepPath  ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðAeƒtƒHƒ‹ƒ_‚ÉŒü‚©‚Á‚Ä’T‚µ‚Ü‚·B
+
+yˆø”z
+
+%~1
+
+ƒtƒ@ƒCƒ‹–¼A‚Ü‚½‚Í‘Š‘΃pƒX
+
+Œ©‚‚©‚Á‚½ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX
+
+%return_value%
+
+ƒTƒ“ƒvƒ‹
+
+B2
+
+%~1
+
+%return_value%
+ +
+C:\A\B\B2
+
+ƒeƒXƒg
+
+ƒ\[ƒX
+
+¨ batlib.bat
+
+¨ batlib.bat
+
+T_SearchParent
+
+ƒJƒŒƒ“ƒg ƒtƒHƒ‹ƒ_[‚ªAC:\A\B\C ‚ŁA‰º‹L‚̃tƒHƒ‹ƒ_[‚Ü‚½‚̓tƒ@ƒCƒ‹‚ª‚ ‚é‚Æ‚«A
+
+C:\A\A2
+
+A2
+
+C2
+
+C:\A\B\C\C2
+
+C:\A\B\B2
+
+B\B2
+
+ˆø”‚Æ•Ô‚è’l‚ÌŠÖŒW‚́AˆÈ‰º‚̂悤‚É‚È‚è‚Ü‚·B
+
+C:\A\A2
+C:\A\B\B2
+C:\A\B\C\C2
+C:\A\B\C
+
+NotFound
+
+‚È‚µiƒGƒ‰[j
+ + + + + + +
+ + + +© +¥ +£ + +
+IsSameFolder
+ +
+–¢‘Ήž
+
+ƒeƒXƒg
+
+ƒ\[ƒX
+
+¨ batlib.bat
+
+¨ batlib.bat
+
+T_IsSameFolder
+
+ŽQl
+ +
+ƒTƒu ƒtƒHƒ‹ƒ_[‚Í”äŠr‚µ‚È‚¢
+ + + + + + +
+ + + +© +¥ +£ + + + +
+set prog="%ProgramFiles%\prog\prog.exe"
+if not exist %prog%  echo %prog% ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ & echo exit. & pause & goto :eof
+
+%prog% %1
+
+ƒvƒƒOƒ‰ƒ€‚ðŒÄ‚яo‚·‚Æ‚«‚́AŽŸ‚̂悤‚Ƀoƒbƒ`ƒtƒ@ƒCƒ‹‚̐擪‚ŁAƒvƒƒOƒ‰ƒ€‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN
+‚·‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B
+
+ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚Ƀpƒ‰ƒ[ƒ^‚ª•K—v‚È‚Æ‚«‚́AŽŸ‚̂悤‚Ƀ`ƒFƒbƒN‚µ‚Ü‚·B
+%1 ‚Å‚Í‚È‚­ %~1 ‚É‚µ‚Ä‚¢‚é‚̂́A"" ‚ª•t‚¢‚Ä‚¢‚½‚çƒJƒbƒg‚·‚邽‚ß‚Å‚·B
+ +
+if "%~1"=="" echo  Žg‚¢•û: %bat_name%  (folder) & echo exit. & pause & goto :eof
+
+ƒpƒ‰ƒ[ƒ^‚ÉŽw’肵‚½ƒpƒX‚ðAƒvƒƒOƒ‰ƒ€‚É“n‚·‚Æ‚«‚́A"%1" ‚Å‚Í‚È‚­ "%~1" ‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B
+ +
+%prog% "%~1"
+ +
+%*
+
+‚·‚ׂẴpƒ‰ƒ[ƒ^
+
+ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ª‚ ‚éêŠ‚©‚ç‘Š‘΃pƒX‚ÅŽÀsƒtƒ@ƒCƒ‹‚ðŽw’è‚·‚é‚Æ‚«‚́A"" ‚ň͂ñ‚¾‘Š‘΃pƒX
+‚̐擪‚ɁA%~d0%~p0 ‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B
+ + +
+"%~d0%~p0..\Sample.exe"  "%~1"
+
+shift ‚ðŽÀs‚µ‚Ä‚àAƒpƒ‰ƒ[ƒ^[‚ÍŒ¸‚è‚Ü‚¹‚ñB
+ + + + + + +
+ + -© -¥ -£ - -
+© +¥ +£ + + -
+ - -
+ +
>echo set a=1 > s.bat
>call s.bat
>del s.bat
>echo %a%
1
-
+
c ”CˆÓ‚̃vƒƒOƒ‰ƒ€‚Ì•W€o—͂̂‚à‚è
c call æ‚Őݒ肵‚½ŠÂ‹«•Ï”‚ªŽg‚¦‚é
-
+ -
+ -
+ -
+ -
+ -
+ -
+ -
- + -
+ -
+ -
+ - -
+ +
set VAR=value
- -
+ +
%VAR%
+ +
+set VAR2=%VAR%
+ +
+call :Sub  "%VAR%"
+ +
+if "%VAR%" == "" (  )
+
+c ‘ã“ü‚·‚é’l‚́A" " ‚ň͂܂Ȃ¢‚±‚Æ
+
+c call ‚âƒRƒ}ƒ“ƒh‚̈ø”‚́A" " ‚ň͂߂܂·
+
+c if ‚ÌðŒŽ®‚Ì’†‚́A" " ‚ň͂߂܂·
+
+c •Ï”‚É’l‚ð‘ã“ü‚µ‚Ü‚·
+
+c •Ï”‚Ì’l‚ðŽQÆ‚µ‚Ü‚·
+
+= ‚ÌŒã‚É‹ó”’‚ð“ü‚ê‚é‚ƁA’l‚̐擪‚ª‹ó”’‚É‚È‚è‚Ü‚·B
- - - - + + + + - + -© -¥ -£ - - -
+© +¥ +£ + + +
>set STR=ABCDEFGHIJKL
>echo %STR:~2,5%
CDEFG
-
+ -
+
c 3•¶Žš–Ú‚©‚ç 5•¶ŽšŽæ‚èo‚·i2•¶Žš–Ú‚©‚ç‚Å‚Í‚È‚¢j
- -
+ +
echo %STR:~0,3%
-
+
c ¶‚©‚ç 3•¶ŽšŽæ‚èo‚·
- -
+ +
echo %STR:~-3%
-
+
c ‰E‚©‚ç 3•¶ŽšŽæ‚èo‚·
- -
+ +
echo %STR:~4%
-
+
c ¶‚©‚ç 3•¶Žš–ڈȍ~‚ðŽæ‚èo‚·
- -
-echo %STR:~0,-1%
-
+ +
+echo %STR:~0,-1%
+    rem // Cut a last character.
+
c ‰E‚©‚ç 1•¶Žšíœ‚·‚é
+
+:~0,3
+
+:~2,5
+
+:~-3
+
+:~4
+
+:~0,-1
- - - - + + + + - + -© -¥ -£ - -
+© +¥ +£ + + - -
+ +
@echo off
set file_name=C:\Folder\File.txt
echo %file_name:\=/%
pause
- -
+ +
%i•Ï”–¼j:i’u‚«Š·‚¦‚é‘Oj=i’u‚«Š·‚¦‚½Œãj%
-
+
ƒTƒ“ƒvƒ‹
- -
+ +
C:/Folder/File.txt
-
+
ƒoƒbƒ`ƒtƒ@ƒCƒ‹F
-
+
Œ‹‰ÊF
+ +
+ŽQl
+
+ˆø”‚Í’u‚«Š·‚¦‚Å‚«‚Ü‚¹‚ñB
- - - - + + + + - + -© -¥ -£ - -
+© +¥ +£ + + - -
+ +
%1="C:\Users\user1\Desktop\V‚µ‚¢ƒeƒLƒXƒg ƒhƒLƒ…ƒƒ“ƒg.txt"
%~1=C:\Users\user1\Desktop\V‚µ‚¢ƒeƒLƒXƒg ƒhƒLƒ…ƒƒ“ƒg.txt
%~d1=C:
@@ -496,282 +1033,150 @@ C:/Folder/File.txt
%~t1=2012/07/05 20:33 ... time stamp
%~z1=895 ... file size
%~a1=--a------ ... attribute
-
+
%0 ` %9 ‚ɂ‚¢‚ẮAã‹L‚Ì‹Lq‚ªŽg‚¦‚Ü‚·B
-
+
”CˆÓ‚̊‹«•Ï”‚ɂ‚¢‚ẮA‰º‹L‚̂悤‚É
-
- + -
+
‚ðŠˆ—p‚µ‚Ä‚­‚¾‚³‚¢B
-
+ -
+ -
+ +
+‚½‚Æ‚¦‚΁A%~d0%~p0 ‚́Aƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[\ ‚É‚È‚è‚Ü‚·B
- - - - - - - - - -© -¥ -£ - - -
-call :GetFileName "%cd%"
-echo %ret%
-goto :eof
-
-

-REM ********************************************************************
-REM  <<< [GetFileName] >>>
-REM  GetFileName %1=<Path> : ret=<FileName>
-REM ********************************************************************
-:GetFileName
-set ret=%~nx1
-goto :eof
-
-
- - - - - - - -
- - - -© -¥ -£ - - - -
-@echo off
-call :GetParentPath %0
-echo %ret%
-call :GetParentPath "%ret%"
-echo %ret%
-pause
-goto :eof
-
-

-REM ********************************************************************
-REM  <<< [GetParentPath] >>>
-REM  GetParentPath %1=<Path> : ret=<ParentPath>
-REM ********************************************************************
-:GetParentPath
-set ret=%~1
-if "%ret:~-1%" == ":" echo Not found parent folder&Pause
-set ret=%~dp1
-set ret=%ret:~0,-1%
-goto :eof
-
-
- -
-C:\home\mem_cache\MyDoc\src\vbslib new\Samples\Verb
-C:\home\mem_cache\MyDoc\src\vbslib new\Samples
-
-ƒoƒbƒ`ƒtƒ@ƒCƒ‹
-
-Œ‹‰Ê
- - - - - - -
- - - -© -¥ -£ - - - -
-@echo off
-
-call :SearchParent "%cd%" "DebugOut.txt"
-echo %ret%
-pause
-goto :eof
-
-

-REM ********************************************************************
-REM  <<< [SearchParent] >>>
-REM  SearchParent %1="%cd%" %2=<StepPath> : ret=<FoundPath>
-REM ********************************************************************
-:SearchParent
-set ret=%~1
-:SearchParent_Sub
-if exist "%ret%\%~2"  set ret=%ret%\%~2&goto :eof
-if "%ret:~-1%" == ":" echo Not found "%~2" at parent folder of "%~dp1"&Pause
-call :GetParentPath "%ret%"
-goto :SearchParent_Sub
-
-
-
-ƒoƒbƒ`ƒtƒ@ƒCƒ‹
- -
-‚̃R[ƒh‚à•K—v‚Å‚·B
- - - - - + + + +
- + -© -¥ -£ - -
+© +¥ +£ + + - -
+ +
>echo %date%
2007/07/18
- -
+ +
>echo %time%
13:43:11.81
-
+
‚½‚¾‚µA’nˆæ‚âƒo[ƒWƒ‡ƒ“ˆË‘¶‚ɂȂ邽‚߁A‚¨Š©‚ß‚Å‚«‚È‚¢B
-
+
¨ timedate.lzh
- -
+ +
"%batchlib_dir%\timedate.exe" > _t.bat & call _t.bat & del _t.bat
echo %now%
-
+
—áj 070101_2359
- -
+ +
set now=070101_2359
-
+
•W€o—͂ɁAŽŸ‚Ì“à—e‚ðo—Í‚µ‚Ü‚·B
-
+
ŽŸ‚̂悤‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
-
+ -
+ -
+
ŽŸ‚̂悤‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
call ‚È‚Ç‚ðŽg‚Á‚Ä‚¢‚é‚̂́AŽqƒvƒƒZƒX‚©‚çeƒvƒƒZƒX‚֊‹«•Ï”‚ðˆø‚«Œp‚°‚È‚¢
‚½‚ß‚Å‚·B
- -
+ +
REM  Œ»Ý‚ÌŽžiƒ[ƒJƒ‹ƒ^ƒCƒ€j
"%batchlib_dir%\timedate2.exe" now_var=now >_t.bat& call _t.bat& del _t.bat
echo %now_var%
- -
+ +
–¢‘Ήž
- -
+ +
REM  ƒ^ƒCƒ€ƒXƒ^ƒ“ƒvEXV“úŽž
timedate2.exe t_var=update "C:\folder\file.txt" >_t.bat& call _t.bat& del _t.bat
echo %t_var%
-
+
‘Ž®F
- -
+ +
timedate2.exe [(ŠÂ‹«•Ï”–¼)=(ƒRƒ}ƒ“ƒh)] [(ƒtƒ@ƒCƒ‹ƒpƒX)]
-
+ -
+ -
+
Œ»Ý‚ÌŽž‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðAŠÂ‹«•Ï”‚ɐݒ肵‚Ü‚·B
-
+ - - - - + + + + - + -© -¥ -£ - -
+© +¥ +£ + + - -
+ +
set a=1
set b=2
-set /A c=%a%+%b%
+set /A c = %a% + %b%
echo %c%
-
+
”’lŒvŽZ‚́Aset /A ‚Å‚Å‚«‚Ü‚·B
- - - - + + + + - + -© -¥ -£ - -
+© +¥ +£ + + -
+
ŽqƒvƒƒZƒX‚©‚çeƒvƒƒZƒX‚֊‹«•Ï”‚ðˆø‚«Œp‚°‚Ü‚¹‚ñB

.exe ƒtƒ@ƒCƒ‹‚ð‹N“®‚·‚é‚ƁAV‚µ‚­ƒvƒƒZƒX‚ðì¬‚µA‹N“®‚ðƒgƒŠƒK‚µ‚½ƒvƒƒZƒX‚Ì
@@ -781,33 +1186,34 @@ PC
ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚Ɋ‹«•Ï”‚Ńf[ƒ^‚ð•Ô‚·‚Æ‚«‚́Acall ‚ŌĂяo‚·ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ð
ì¬‚µ‚Ü‚·B
-
- + -
-RunBat (vbslib)
-
+ +
‚Ńoƒbƒ`ƒtƒ@ƒCƒ‹‚ðŽÀs‚·‚éê‡AŠÂ‹«•Ï”‚ðÝ’è‚·‚éƒoƒbƒ`
-
+
ƒtƒ@ƒCƒ‹‚ð call ‚·‚é‘ã‚í‚è‚ɁAƒoƒbƒ`ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðARunBat ‚̃pƒ‰ƒ[ƒ^[‚É
ReadFile (vbslib) ‚Å–„‚ߍž‚ނƁAƒoƒbƒ`ƒtƒ@ƒCƒ‹‚É‚æ‚Á‚Đݒ肷‚éŠÂ‹«•Ï”‚ðˆø‚«
Œp‚®‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- - - - + + + + - + -© -¥ -£ - - -
+© +¥ +£ + + +
cmd.exe ŠÂ‹«•Ï”‚ð•\Ž¦AÝ’èA‚Ü‚½‚͍폜‚µ‚Ü‚·B

SET [•Ï”–¼=[•¶Žš—ñ]]
@@ -966,63 +1372,18 @@ SET
%CMDCMDLINE% - ƒRƒ}ƒ“ƒh ƒvƒƒZƒbƒT‚ð‹N“®‚µ‚½ƒIƒŠƒWƒiƒ‹ ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“
                 ‚É“WŠJ‚µ‚Ü‚·B
-
+ - - - - - - - - - -© -¥ -£ - - - - -
-« ƒRƒ“ƒxƒ“ƒVƒ‡ƒiƒ‹Eƒƒ‚ƒŠ[
-
-OS‚Ì‹@”\‚ðŒÄ‚яo‚·‚Æ‚«‚́AINT21 Š„ž‚Ý‚ðŽg‚¤B
-
-20ƒrƒbƒg‚̃AƒhƒŒƒX = (uƒZƒOƒƒ“ƒgEƒŒƒWƒXƒ^ 16bitv ~ 0x10 ) + uƒIƒtƒZƒbƒgEƒŒƒWƒXƒ^ 16bitv
-
-20bit ƒAƒhƒŒƒXEƒŒƒWƒXƒ^‚ðÌ—p‚µ‚È‚©‚Á‚½‚̂́AIntel 8080 ‚Ƃ̌݊·‚Ì‚½‚߁B
-
-MS-DOS on Intel 8086 ‚̃ƒ‚ƒŠƒ}ƒbƒv
-
-Intel 8086 (1978”N)
- -
-‰‘ã‚ÌIBM PC ‚Í 8088
-
-¨ Windows 3.x/95
-
-ŠÖ˜A
-
-Œ»Ý‚Ì PC (2008”N) ‚àA‹N“®’¼Œã‚̓ŠƒAƒ‹ƒ‚[ƒh
- - - - - + + + + - -
+ +