X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=_src%2Fdiff.txt;fp=_src%2Fdiff.txt;h=0000000000000000000000000000000000000000;hb=dd0cb37955bb57eddf077bca2981ee877b32e4f6;hp=8371d486765c3bae6618f9a9782f6504532b7fad;hpb=789b8160859f55b0be4b16cb2a92639ae41d3b51;p=vbslib%2Fmain.git diff --git a/_src/diff.txt b/_src/diff.txt deleted file mode 100644 index 8371d48..0000000 --- a/_src/diff.txt +++ /dev/null @@ -1,73356 +0,0 @@ - - - - - - - - - - - - - - - ‚悤‚É‚È‚è‚Ü‚·B ‚Ü‚½AƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ւ̃IƒvƒVƒ‡ƒ“•t‚«ƒVƒ‡[ƒgƒJƒbƒg‚ðì¬‚·‚邾‚¯‚ŁAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ð - - - - - - - vbslib5 - - VBScript (WSH) - - vbslib ‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê VBScript ‚Ìà–¾‚Å‚· - VBScript (WSH) Œ¾Œê‚ðAƒoƒbƒ`ƒtƒ@ƒCƒ‹‚̂悤‚ÉŠÈ’P‚ÉŽg‚¦‚é‚悤‚É‚·‚éƒXƒNƒŠƒvƒgEƒvƒƒOƒ‰ƒ~ƒ“ƒOEƒ‰ƒCƒuƒ‰ƒŠ[‚Å‚·B vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚́AƒCƒ“ƒXƒg[ƒ‹‚µ‚È‚­‚Ä‚àA - vbslib ‚̃}ƒjƒ…ƒAƒ‹i–{‘j‚Å‚· - - vbslib ƒwƒ‹ƒv - - 2014/10/13 - ƒ‰ƒCƒZƒ“ƒX - - ¨ BSDƒ‰ƒCƒZƒ“ƒX - Wikipedia (Web) - - - - '// vbslib - Short Hand Library ver*.** ***.**, ****'// vbslib is provided under 3-clause BSD license. - '// Copyright (C) 2007-20** Sofrware Design Gallery "Sage Plaisir 21" All Rights Reserved. - - ŽQl - vbslib ‚́AC³BSDƒ‰ƒCƒZƒ“ƒX‚Å‚ ‚èA–³—¿‚Å‚¨Žg‚¢‚¢‚½‚¾‚¯‚Ü‚·‚ªA–³•ÛØ‚Å‚·BÄ”Еz‚â‰ÁH‚à vbs ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽ‰º‹L‚ðíœ‚µ‚È‚¯‚ê‚ÎŽ©—R‚É‚Å‚«‚Ü‚·B ¤—p—˜—p‰ÂB - vbslib ‚ðŽQl‚É‚µ‚č쐬‚µ‚½ƒXƒNƒŠƒvƒg‚⃉ƒCƒuƒ‰ƒŠ‚Ì’˜ìŒ ‚́A‚ ‚È‚½‚É‚ ‚è‚Ü‚·B - ƒpƒbƒP[ƒW‚ɂ́AGPL ƒ‰ƒCƒZƒ“ƒX‚̃vƒƒOƒ‰ƒ€‚ð scriptlib\GPL ƒtƒHƒ‹ƒ_[‚ÉŠÜ‚ñ‚Å‚¢‚Ü‚·B - - ƒ\ƒtƒgƒEƒFƒAƒfƒUƒCƒ“ŠÙ Sage Plaisir 21 http://www.sage-p.com/ - - ƒTƒ|[ƒgæ - - ¨ ‚Í‚¶‚ß‚É - - ƒCƒ“ƒXƒg[ƒ‹ - - ¨ ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ - - - ¨ ƒGƒfƒBƒ^[“™‚̕ύX - - - ¨ –ÚŽŸ - - ‰‚ß‚ÄŽg‚Á‚Ä‚Ý‚é‚Æ‚«‚́A - vbslib Prompt.vbs - ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B - ‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹ - - - ƒ_ƒEƒ“ƒ[ƒh - - - ¨ vbslib ƒz[ƒ€ƒy[ƒW - - for Windows 7 / 8 (32bit/64bit) - - (help) - - - - Sub Main( Opt, AppKey ) echo "Hello, world!" - End Sub - - ƒTƒ“ƒvƒ‹ - - ¨ ƒXƒNƒŠƒvƒg‚ðì¬‚·‚é - - ‰ðà - - - - - - ƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ŕҏWƒ_ƒuƒ‹ƒNƒŠƒbƒN‚ÅŽÀs - sample.vbs - - echo - - - Main - - - shorthand library for vbscript - - 4.91 interim version - - ¨ ƒfƒoƒbƒK[ - - - ƒfƒoƒbƒK[ - - ‚ÅŽg‚¦‚é - - ƒRƒs[‚·‚邾‚¯ - - ‚ÅŠm”F‚Å‚«‚é‚悤‚É VBScript ‚ðŠg’£‚µ‚Ä‚¨‚èA’èŒ^ì‹Æ‚Ì - Ž©“®‰»‚âƒeƒXƒg‹ì“®ŠJ”­(TDD)‚ª‰õ“K‚ɍs‚¦‚é‚悤‚É‚È‚è‚Ü‚·B - - ƒoƒbƒ`ƒtƒ@ƒCƒ‹ - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚Ìà–¾‚Å‚·B - - ¨ vbslib - Git Hub iŠJ”­’†j - - - ¨ Microsoft ƒXƒNƒŠƒvƒg ƒZƒ“ƒ^[ TechNet (Web) - - ŽQl - - ¨ GPL ‚̃vƒƒOƒ‰ƒ€‚ðŠÜ‚Þ vbslib ‚̍Ĕz•z‚Ì’ˆÓ“_ - - - - - - - - –ÚŽŸ - - ¨ ƒvƒƒZƒX§Œä‚Æ include - - - ¨ ƒGƒ‰[ˆ— iErr2j - - - ¨ ƒtƒ@ƒCƒ‹‘€ì - - - ¨ ƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX - - - ¨ vbs_inc ivbslib ‚̃x[ƒXEƒVƒXƒeƒ€j - - - ¨ •Ï”A’萔A•¶Žš—ñA”z—ñA“úŽž - - Snap Note ‚ðŽg‚¦‚Î _src\vbslib.svg ‚ðŠJ‚­‚±‚Æ‚ª‚Å‚«A–{•¶’†‚Ì (src) ‚ªAƒ\[ƒX‚ւ̃nƒCƒp[ƒŠƒ“ƒN‚É‚È‚è‚Ü‚·B - - ¨ vbslib2 ‚©‚ç vbslib3 ‚ֈڐA‚·‚é‚É‚Í - - - ¨ ¢‚Á‚½‚Æ‚«‚́H iƒfƒoƒbƒOj - - - ¨ ‚Í‚¶‚ß‚É iscriptlib ƒtƒHƒ‹ƒ_[j - - - ¨ ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ - - - ¨ ƒlƒbƒgƒ[ƒN - - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg (Prompt.vbs) - - - ¨ ƒGƒfƒBƒ^[“™‚̐ݒè•ÏX isetting ƒtƒHƒ‹ƒ_[j - - - ¨ Ž©“®ƒeƒXƒg - - - ¨ ƒo[ƒWƒ‡ƒ“”»’èAŠÂ‹«•Ï” - - - - - - - - - - - vbslib ‚©‚çƒGƒfƒBƒ^[‚Ȃǂ̃c[ƒ‹‚ð‹N“®‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·‚ªA‚ǂ̃c[ƒ‹‚ðŽg‚¤‚Ì‚©‚ðA‘I‘ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - Sub Main( Opt, AppKey ) echo "Hello, world!" - End Sub - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - - - - - - - - - ‚Í‚¶‚ß‚É iscriptlib ƒtƒHƒ‹ƒ_[j - V‹K‚É vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚ðì¬‚·‚é‚Æ‚«‚́Asample.vbs iƒƒCƒ“j‚ƁAscriptlib ƒtƒHƒ‹ƒ_‚ðAì‹Æ‚ðs‚¤”CˆÓ‚̃tƒHƒ‹ƒ_‚ɃRƒs[‚µ‚Ä‚­‚¾‚³‚¢B+ i‚±‚̍ì‹Æ‚́A - @@@@@@@@‚Ì 3 ‚ð‘I‚ñ‚Å‚à‚Å‚«‚Ü‚·Bj ‚»‚µ‚āAƒRƒs[‚µ‚½ sample.vbs ‚ðƒeƒLƒXƒgƒGƒfƒBƒ^ - ‚ŕҏW‚·‚é‚©A‰EƒNƒŠƒbƒN [ •ÒW ] ‚µ‚Ä‚­‚¾‚³‚¢B ŽÀs‚·‚é‚Æ‚«‚́Asample.vbs ‚ðƒ_ƒuƒ‹ - ƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚́A‰º‹L‚̂悤‚É vbslib include ‚ª‚ ‚è‚Ü‚·B - - - scriptlib - - sample.vbs - ƒƒCƒ“.vbs ‚́Ascriptlib ƒtƒHƒ‹ƒ_‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_iã‹L‚̏ꍇ‚ÍScriptA ƒtƒHƒ‹ƒ_j‚̃TƒuƒtƒHƒ‹ƒ_[‚É’u‚­‚±‚Æ‚à‚Å‚«‚Ü‚·B ‹t‚ÉŒ¾‚¦‚΁Ascriptlib ƒtƒHƒ‹ƒ_‚ðAeƒtƒHƒ‹ƒ_‚É - ˆÚ“®‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚æ‚Á‚āAScriptA ƒtƒHƒ‹ƒ_‚Ì’†‚È‚ç‚Ç‚±‚Å‚àAscriptlib ƒtƒHƒ‹ƒ_ - ‚É‚ ‚é vbs ƒtƒ@ƒCƒ‹‚Ì‹@”\‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ƒƒCƒ“.vbs ‚̃tƒ@ƒCƒ‹–¼‚ð•Ï‚¦‚邱‚Æ‚Í‚Å‚«‚Ü‚·‚ªAscriptlib ƒtƒHƒ‹ƒ_‚Ì–¼‘O‚ð•Ï‚¦‚邱‚Æ - ‚Í‚Å‚«‚Ü‚¹‚ñBi‚·‚×‚Ä‚Ì vbs ƒtƒ@ƒCƒ‹‚Ì g_vbslib_path •Ï”‚ð•Ï‚¦‚È‚¢ŒÀ‚èBj - sample.vbs iƒƒCƒ“j - ŠÈˆÕ vbslib ƒŠƒ“ƒN ‹@”\ - vbslib include - vbslib include ‚́Avbslib ‚Ȃǂ̃‰ƒCƒuƒ‰ƒŠ‚ðŽg‚¦‚é‚悤‚É‚µ‚Ü‚·B - vbslib ‚ðŽg‚¤‚ƁAƒtƒ@ƒCƒ‹‘€ì‚âƒvƒƒOƒ‰ƒ€‚Ì‹N“®‚È‚Ç‚ðs‚¤AƒXƒNƒŠƒvƒg‚̍쐬iƒvƒƒOƒ‰ƒ~ƒ“ƒOj‚ªŠÈ’P‚É‚È‚èA‚¢‚ë‚¢‚ë‚È‚±‚Æ‚ªŽ©“®‰»‚Å‚«‚Ü‚·B - - ‚»‚µ‚āAì¬‚µ‚½ƒXƒNƒŠƒvƒg‚ðA - ‹N“®‚ª‘f‘‚­‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - •¡ŽG‚ȏˆ—‚ðŽ©“®‰» - - - - - - .vbs ƒXƒNƒŠƒvƒg - PC - ƒRƒs[/‰ð“€‚·‚邾‚¯‚ŁA - i”CˆÓ‚̍ì‹ÆƒtƒHƒ‹ƒ_j - - vbslib ‚̃ƒCƒ“ƒtƒHƒ‹ƒ_ - - - - - - - - ƒRƒs[ - { - scriptlib - - Main - - ‚Æ‚è‚ ‚¦‚¸Žg‚Á‚Ä‚Ý‚é‚Æ‚«‚́A¶‚̃cƒŠ[‚É‚ ‚éuƒ†[ƒUƒCƒ“ƒ^[ƒtƒF[ƒXvAuƒtƒ@ƒCƒ‹‘€ìvAuƒvƒƒZƒX§Œäv‚̏͂ðŽQÆ‚µ‚āAsample.vbs ‚ðC³‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B - - echo - - ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹ - vbslib ‚Ì zip ƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚½ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ä‚­‚¾‚³‚¢Bã‹L‚Åà–¾‚µ‚Ä‚¢‚é scriptlib ƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚µ‚Ä‚¢‚½‚çA‚»‚ê‚àíœ‚µ‚Ä‚­‚¾‚³‚¢B - ƒx[ƒX‚Æ‚È‚é VBScript(WSH) ‚́AWindows 2000 ‚©‚çAƒvƒŠƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚Ü‚·BƒfƒoƒbƒK‚́AVisual Studio 2003 ˆÈ~‚Ì Standard ˆÈã‚Ü‚½‚́Aƒtƒ‹ƒCƒ“ƒXƒg[ƒ‹‚Ì MS-Office - ‚ª‚ ‚ê‚ÎŽg‚¦‚Ü‚·Bvbslib ‚̃\[ƒX‚́A\‘¢‰»ƒGƒfƒBƒ^‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B - .vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‚©‚çŽÀsŠJŽn‚Ü‚ÅŽžŠÔ‚ª‚©‚©‚é‚Æ‚«‚́AƒEƒBƒ‹ƒX‘΍ôƒ\ƒtƒg‚̃XƒNƒŠƒvƒg‚ÉŠÖ‚·‚éƒ`ƒFƒbƒN‚ð‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B ƒ`ƒFƒbƒN‚ð‚µ‚È‚­‚Ä‚àAWindows ‚̃ZƒLƒ… - ƒŠƒeƒB‹@”\‚É‚æ‚Á‚āAƒ†[ƒU[‚Ì‹–‰Â–³‚­ˆ«ˆÓ‚Ì‚ ‚éƒXƒNƒŠƒvƒg‚ªŽÀs‚³‚ê‚邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB - - (src) - - vbslib ‚́AƒeƒXƒg‹ì“®ŠJ”­(TDD)‚à‹­—͂ɃTƒ|[ƒg‚µ‚Ü‚·B ’Pƒ‚ÈŽ©“®ƒeƒXƒgEƒXƒNƒŠƒvƒg‚ðì‚Á‚Ä‚©‚çA‚»‚̃eƒXƒg‚ª“®‚­‚½‚߂̃vƒƒOƒ‰ƒ€‚ðŠJ”­‚·‚éƒXƒ^ƒCƒ‹‚́AŠJ”­‚Ì - ƒS[ƒ‹‚ª–¾Šm‚É‚È‚èA–À‘–‚·‚邱‚Æ‚ª–³‚­‚È‚è‚Ü‚·B - - ¨ ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_ - - PC‚ðŽØ‚è‚Ä‚¢‚é‚Æ‚«‚͏î•ñ˜R‚¦‚¢‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ ƒGƒfƒBƒ^[“™‚̕ύX - - ƒeƒXƒg‹ì“®ŠJ”­(TDD)‚ðs‚¤‚ɂ́AuƒeƒXƒgEƒvƒƒ“ƒvƒg (Test.vbs)v‚̏͂ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - ã‹L‚́Ascriptlib ƒtƒHƒ‹ƒ_‚ª‚ǂ̂悤‚ɍì‚ç‚ê‚Ä‚¢‚é‚©‚̏ڍׂɂ‚¢‚Ä’m‚肽‚¢‚Æ‚«‚́A - uvbs_incv ‚Æ usetting ƒtƒHƒ‹ƒ_v ‚̏͂ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢Bi’†‹‰ŽÒˆÈãj - - Žv‚¢’Ê‚è‚É“®‚©‚È‚©‚Á‚½‚Æ‚«‚́AuƒfƒoƒbƒOv Au¢‚Á‚½‚Æ‚«‚́Hv ‚̏͂ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - ƒRƒ}ƒ“ƒh–¼‚́AMS-DOSƒoƒbƒ`ƒtƒ@ƒCƒ‹‚â Linux ƒVƒFƒ‹•W€‚ɏ€‹’‚µ‚Ä‚¢‚Ü‚·B¶‚̃cƒŠ[‚ðŠJ‚¢‚Ä‚­‚¾‚³‚¢B‚¢‚ë‚¢‚ë‚Ȋ֐”‚ª—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B‚±‚ê‚ç‚̊֐”‚â - ‚ ‚È‚½‚̃IƒŠƒWƒiƒ‹‚̊֐”‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚ªAƒCƒ“ƒXƒg[ƒ‰‚ðŽÀs‚·‚邱‚Æ‚È‚­A - ƒRƒs[‚·‚邾‚¯‚ÅŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚·B - - ¨ ƒIƒuƒWƒFƒNƒgAƒAƒvƒŠ‘€ì - - MS ƒIƒtƒBƒX‚Ȃǂ̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‘€ì‚́AWSH ‚Ì ActiveX ‹@”\‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ì¬‚µ‚½ƒXƒNƒŠƒvƒg‚ð - ‚É‚·‚é‚ÆŽg‚¢‚â‚·‚­‚È‚è‚Ü‚·B - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - ƒƒOƒtƒ@ƒCƒ‹‚ւ̏o—Í‚µ‚½‚¢‚Æ‚«‚́AƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚牺‹L‚̂悤‚É“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B - - - cscript sample.vbs | safetee -o log.txt - - safetee ‚̓lƒbƒg‚©‚ç“üŽè‚µ‚Ä‚­‚¾‚³‚¢ - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - ‚ÌŒ`Ž®‚É‚·‚ê‚΁AƒXƒNƒŠƒvƒg‚Ì - - ¨ ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - - PC‚ðŽØ‚è‚Ä‚¢‚é‚Æ‚«‚͏î•ñ˜R‚¦‚¢‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - ƒXƒNƒŠƒvƒg‚ðì¬‚·‚é - Eƒtƒ@ƒCƒ‹‚̃Rƒs[AˆÚ“®AíœAŠJ‚­‚±‚Æ‚ÌŽ©“®‰»EƒeƒLƒXƒgEƒtƒ@ƒCƒ‹iHTML, XML, CSV, ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Ȃǁj‚̕ҏW‚ÌŽ©“®‰» - E”’l‚ÌŒvŽZAƒf[ƒ^‚̏WŒv‚ÌŽ©“®‰» - EƒRƒ“ƒpƒCƒ‹AƒeƒXƒg‹ì“®ŠJ”­(TDD)A–â‘è‚ÌŒŸõ‚â’Ê’m‚ÌŽ©“®‰» - EƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚̓ǂݏ‘‚«‚ÌŽ©“®‰» - EMSƒIƒtƒBƒX‚È‚Ç ActiveX ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃tƒ@ƒCƒ‹‚̕ҏW‚ðŠÜ‚ޏˆ—‚ÌŽ©“®‰» - ƒXƒNƒŠƒvƒg‚ÅŽ©“®‰»‚Å‚«‚邱‚Æ - ƒCƒ“ƒXƒg[ƒ‹ - vbslib ‚ð“à•”‚ÅŽg‚¤ƒXƒNƒŠƒvƒg‚ðŽn‚ß‚ÄŽg‚¤ PC ‚Å‚àAvbslib ‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚éƒvƒƒOƒ‰ƒ€‚ðŽÀs‚µ‚½‚èAƒpƒX‚ð’Ê‚·Ý’è‚ð‚µ‚½‚è‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ƈꏏ‚É scriptlib ƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚Ü‚½‚́A‚»‚ê‚ç‚ðŠÜ‚ÞƒtƒHƒ‹ƒ_[ - ‚ðƒRƒs[‚µ‚½‚èAˆ³kƒtƒ@ƒCƒ‹‚ð‰ð“€‚·‚邾‚¯‚ŁAƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚ăXƒNƒŠƒvƒg‚ð‹N“®‚Å‚«‚Ü‚·B - iƒƒCƒ“j - sample.vbs - - - scriptlib - - - - samples - - - vbslib Short Hand - - ƒfƒoƒbƒK[‚̃Cƒ“ƒXƒg[ƒ‹‚ɂ‚¢‚ẮA - - ¨ ƒfƒoƒbƒO, g_debug - - - vbslib include - - - Prompt.vbs - - vbslib ‚âAvbslib ‚ðŽg‚¤ƒXƒNƒŠƒvƒg‚̃Cƒ“ƒXƒg[ƒ‹‚́Aƒ_ƒEƒ“ƒ[ƒh‚µ‚½ˆ³kƒtƒ@ƒCƒ‹‚ð‰ð“€‚·‚邾‚¯‚Å‚·B - ŽQl - - ¨ vbs_inc, vbslib include ivbslib ‚̃RƒAEƒVƒXƒeƒ€j - - ì¬‚µ‚½ƒXƒNƒŠƒvƒg‚̃fƒoƒbƒO‚ð‚·‚é‚Æ‚«‚́A - - ¨ ¢‚Á‚½‚Æ‚«‚́H iƒfƒoƒbƒOj - - scriptlib ƒtƒHƒ‹ƒ_[‚́AƒƒCƒ“EƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚©A‚»‚̐eƒtƒHƒ‹ƒ_[‚ÉŠi”[‚µ‚Ä‚­‚¾‚³‚¢B ‚»‚±‚ɁAvbslib ‚â—lX‚ȃXƒNƒŠƒvƒgŠÖŒW‚̃tƒ@ƒCƒ‹‚ªŠi”[‚³‚ê‚Ä‚¢‚Ü‚·B - GPL ‚̃vƒƒOƒ‰ƒ€‚ðŠÜ‚Þ vbslib ‚̍Ĕz•z‚Ì’ˆÓ“_ - - ¨ GPL ‚̃vƒƒOƒ‰ƒ€‚ðŠÜ‚Þ vbslib ‚̍Ĕz•z‚Ì’ˆÓ“_ - - ŽQl - vbslib ‚ðÄ”z•z‚·‚éÛAvbslib ‚ÉŠÜ‚Ü‚ê‚é GPL ‚̃vƒƒOƒ‰ƒ€‚É’ˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - - GPL - - ‚̃vƒƒOƒ‰ƒ€‚𓯍«‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ GNUƒ‰ƒCƒZƒ“ƒX‚ÉŠÖ‚µ‚Ä‚æ‚­•·‚©‚ê‚鎿–â - ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAƒtƒ@ƒEƒ“ƒf[ƒVƒ‡ƒ“ (Web) - - ŽQl - vbslib ‚́A“à•”‚Å scriptlib\GNU\bin ‚É“ü‚Á‚Ä‚¢‚é GPL ‚̃vƒƒOƒ‰ƒ€‚ðƒRƒ}ƒ“ƒhƒ‰ƒCƒ“Œo—R‚ŌĂяo‚µAo—́uƒf[ƒ^v‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B ‚±‚Ì‚½‚߁AGPL ‚Ì”h¶ƒvƒƒOƒ‰ƒ€‚ÉŠY“–‚µ‚È‚¢ - i—¼—§‚·‚é•K—v‚ª‚È‚¢j‚à‚̂ƍl‚¦‚Ä‚¢‚Ü‚·B - ‚Ü‚½AGPL‚Æ—¼—§‚µ‚È‚¢ƒpƒbƒP[ƒW‚Å‚àA - ‚½‚¾‚µAGPL ‚̃\ƒtƒg‚́A‚»‚ê’P‘Ì‚Å GPL ‚ÅŽg—p‚Å‚«‚éŒ`‚ŃŠƒŠ[ƒX‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·Bš‹ï‘Ì“I‚ɂ́A_src\GPL ƒtƒHƒ‹ƒ_[‚É GPL ‚̃\ƒtƒg‚ð‚»‚Ì‚Ü‚ÜŠi”[‚µAREADME ‚É‚»‚̏ꏊ‚ð - ‘‚¢‚Ä‚¢‚Ü‚·B - - ¨ GNUƒ‰ƒCƒZƒ“ƒX‚ÉŠÖ‚µ‚Ä‚æ‚­•·‚©‚ê‚鎿–â - ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAƒtƒ@ƒEƒ“ƒf[ƒVƒ‡ƒ“ (Web) - - ŽQl - ‚È‚¨Avbslib ‚́AC³BSDƒ‰ƒCƒZƒ“ƒX‚Ȃ̂ŁAGPL ‚Æ—¼—§iGPL‚Ì—pŒêj‚µ‚Ä‚¢‚Ü‚·B - - ¨ ‚³‚Ü‚´‚܂ȃ‰ƒCƒZƒ“ƒX‚Æ‚»‚ê‚ç‚ɂ‚¢‚Ẳðà - ƒtƒŠ[ƒ\ƒtƒgƒEƒFƒAƒtƒ@ƒEƒ“ƒf[ƒVƒ‡ƒ“ (Web) - - ŽQl - vbslib ‚̃†[ƒU[‚ª GPL ‚Æ—¼—§‚µ‚È‚¢ƒ‰ƒCƒZƒ“ƒX‚Å‚à”z•z‚·‚邱‚Æ‚ª‚Å‚«‚邱‚Æ‚ðl—¶‚µ‚āAvbslib ‚ª GPL ‚Æ—¼—§‚µ‚È‚¢‚à‚̂Ɖ¼’肵‚Ä vbslib ‚͍ì‚ç‚ê‚Ä‚¢‚Ü‚·B - vbslib Ž©‘̂́AC³BSDƒ‰ƒCƒZƒ“ƒX‚Ȃ̂ŁAÄ”z•z‚ÍŽ©—R‚Å‚·‚ªA‚½‚Æ‚¦‚΁Ascriptlib ƒtƒHƒ‹ƒ_[‚Ì’†‚É GPL ‚̃vƒƒOƒ‰ƒ€‚ª¬‚´‚Á‚Ä‚¢‚é‚̂ŁA‚»‚̂܂܍Ĕz•z‚·‚é‚É‚Í GPL ‚Ì—v‹i‰º‹Lšj - ‚ð–ž‚½‚·•K—v‚ª‚ ‚è‚Ü‚·B ‚È‚¨AGPL ‚̃vƒƒOƒ‰ƒ€‚̏ꏊ‚́Avbslib ‚Ì README ‚É‚Ü‚Æ‚ß‚Ä‚¨‚èA - GPL ‚̃vƒƒOƒ‰ƒ€‚ðíœ‚·‚ê‚΁iGPL ‚̃vƒƒOƒ‰ƒ€‚ð•K—v‚Æ‚·‚é vbslib ‚̊֐”‚ðŽg‚í‚È‚¯‚ê‚΁j - GPL ‚̐S”z‚Í‚ ‚è‚Ü‚¹‚ñB vbslib ‚̃Rƒs[ƒ‰ƒCƒg‚ª‘‚©‚ꂽƒXƒNƒŠƒvƒg‚́A‚·‚ׂĂP‚©‚珑‚¢‚Ä - ‚¢‚Ü‚·B ‚»‚Ì‚½‚߁AGPL ‚̃R[ƒh‚ÍŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚¹‚ñB - ƒEƒBƒ“ƒhƒE‚ð•\Ž¦‚µ‚È‚¢‚Æ‚«‚âÅ¬‰»‚·‚é‚Æ‚«‚́A - - ¨ g_CommandPrompt - - - - - - - - ŠJ”­•ûj - Eƒ†[ƒU[‚Ì‘ÌŒ±‚ªAƒVƒ“ƒvƒ‹•ƒrƒWƒ…ƒAƒ‹‚Å‚ ‚邱‚ƁEŒŸõ‰Â”\‚ȃTƒ“ƒvƒ‹‚©‚çƒRƒs[‚µ‚āAŒ©‚悤Œ©^Ž—‚ŁA‚·‚®‚ÉŽŽ‚¹‚邱‚Æ - EŒ‹‰Ê‚ª“¯‚¶‚Å‚ ‚ê‚΁AƒGƒ‰[‚É‚µ‚È‚¢‚±‚ƁiéŒ¾Œ^ƒvƒƒOƒ‰ƒ~ƒ“ƒOjB - @@—áFƒtƒ@ƒCƒ‹‚ª–³‚¢ƒpƒX‚ðŽw’肵‚č폜‚µ‚½‚Æ‚« - Eƒ^ƒCƒvƒ~ƒX‚́A–¢éŒ¾ƒGƒ‰[‚Å‚Í‚È‚­Ý’è’lŽQÆ‚ÅŒ©‚‚¯‚é c —áF /g_debug ƒIƒvƒVƒ‡ƒ“ - EŒ‹‰Ê‚ªƒ†[ƒU[‚Ì‘z’èŠO‚É‚È‚é‚Æ‚«‚́AŽd—l‚Ì’Ê‚è‚Å‚ ‚Á‚Ä‚àŽ¸”s‚µ‚½‚Æ“`‚¦‚邱‚Æ - E‘Ώˆ–@‚́AŠT”O‚ð‰î‚µ‚Äà–¾‚·‚é‚Ì‚Å‚Í‚È‚­AƒTƒ“ƒvƒ‹‚ðŽg‚Á‚ă_ƒCƒŒƒNƒg‚ÉŽ¦‚·‚±‚Æ - EƒGƒ‰[‚ª”­¶‚µ‚Ä•œ‹A‚·‚é‚܂ł́AŽŸ‚̃Gƒ‰[‚ª”­¶‚µ‚Ä‚àAÅ‰‚̃Gƒ‰[‚ð•\Ž¦‚·‚邱‚Æ - Eƒ†[ƒU[‚©‚猩‚é‚ƈӖ¡‚ªˆÙ‚È‚éAƒ{ƒgƒ€ƒAƒbƒv‚©‚ç’è‹`‚³‚ꂽ—pŒê‚ÍŽg‚í‚È‚¢‚±‚Æ - E—ªŒê‚Í•W€‰»‚³‚ꂽ‚à‚̂̂݁B ƒf[ƒ^i–¼ŽŒj‚©ˆ—i“®ŽŒj‚Ì‹æ•Ê‚𖾎¦‚·‚邱‚ƁB - E“¯‚¶‹@”\‚ªŠù‘¶‚Ì‹Zp‚É‚ ‚ê‚΁A‘€ì•û–@iƒRƒ}ƒ“ƒh–¼‚Ȃǁj‚ð‚»‚ê‚ɍ‡‚킹‚邱‚Æ - - - - - - - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg (Prompt.vbs) - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg(CUI)‚©‚çAƒRƒ}ƒ“ƒh‚ð“ü—Í‚·‚é‚ƁA“Á•Ê‚É—pˆÓ‚³‚ꂽƒXƒNƒŠƒvƒg‚ð‘f‘‚­‹N“®‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ƒhƒLƒ…ƒƒ“ƒg‚ɃRƒ}ƒ“ƒh–¼‚ð‘‚­‚Æ•Ö—˜‚É‚È‚è‚Ü‚·B - - - ‰ÆŒv•ëƒvƒƒ“ƒvƒg1. ¡ŒŽ‚̉ƌv•ëƒtƒ@ƒCƒ‹‚ðŠJ‚­ [op] - 2. ƒoƒbƒNƒAƒbƒv‚·‚é [bk] - 3. ‰ÆŒv•ëƒtƒHƒ‹ƒ_[‚ðŠJ‚­ [fo] - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >op - - op - ‰ÆŒv•ë.vbs - « ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ÆŠJ‚­ - © ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh‚ð“ü—Í‚·‚é - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ivbslib Prompt.vbsj (vbslib•t‘®) - - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ÌŠˆ—p - - - ¨ MakeNewPrompt ƒRƒ}ƒ“ƒh - - c ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ðAV‹Kì¬‚·‚é - - ¨ InputCommand ŠÖ” - - c ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ð‹N“®‚·‚éŠÖ” - - ¨ ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚ªŒ™‚¢‚Ȑl‚Å‚àŽg‚¦‚é CUI ‚Æ‚Í (Web) - - c ƒoƒbƒ`Eƒtƒ@ƒCƒ‹“™‚©‚ç‹N“®‚·‚é - vbslib ‚É•t‘®‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“ - ŽQl - vbslib ‚́A‚·‚®‚ÉŽg‚¦‚é‚¿‚å‚Á‚Æ‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B - ‚P‚‚́AƒXƒ^[ƒgEƒƒjƒ…[‚©‚ç‘I‚Ԃ悤‚ɁAvbslib Prompt.vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‹N“®‚·‚éŒ`Ž®‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚·BiƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒgŒ`Ž®j - - ¨ ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib•t‘®) - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg iƒ‰ƒCƒuƒ‰ƒŠj - - - - vbslib Prompt 1. ƒwƒ‹ƒv(SVGŒ`Ž®)‚Ì•\Ž¦ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·) - 2. ƒwƒ‹ƒv(Internet Explorer - VMLŒ`Ž®)‚Ì•\Ž¦ - 3. ¡ vbs ƒtƒ@ƒCƒ‹‚ðV‹Kì¬‚·‚é [MakeNewScript] - 4. ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ðV‹Kì¬‚·‚é [MakeNewPrompt] - 5. ƒ^ƒu•¶Žš‚Æ‹ó”’•¶Žš‚ð•ÏX‚·‚é [SpaceToTab] - 6. Test ƒeƒ“ƒvƒŒ[ƒgEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ [test] - 7. ÅV‚Ì vbslib ‚É•ÏŠ·‚·‚é [ConvertToNewVbsLib] - 8. ‚±‚̃vƒƒ“ƒvƒg‚̃\[ƒX‚ðŠJ‚­ - 9. vbslib ƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh > - - - ¨ vbslib ‚É•t‘®‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“ - - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - ‚à‚¤‚P‚‚́A“Á’è‚̃tƒHƒ‹ƒ_[‚É .vbs ƒtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚āA‚»‚̃tƒHƒ‹ƒ_[‚ɑ΂·‚鏈—‚ð‚·‚éƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹Œ`Ž®‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚·B ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹Œ`Ž®‚̃AƒvƒŠ - ƒP[ƒVƒ‡ƒ“‚ðAƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ɂ܂Ƃ߂邱‚Æ‚àŠÈ’P‚É‚Å‚«‚Ü‚·B - - ¨ ƒVƒ‡[ƒgƒJƒbƒg‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çŽÀs‚·‚é - - ƒL[ƒ[ƒhF - STH - - - - - - - - vbslib Prompt.vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒXƒNƒŠƒvƒg‚ÌŠJ”­‚ðŽx‰‡‚·‚éƒXƒNƒŠƒvƒg‚ð‹N“®‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‰º‹L‚̂悤‚Ƀƒjƒ…[‚ª•\Ž¦‚³‚ê‚é‚̂ŁA”ԍ†‚ð“ü—Í - ‚µ‚Ä‚­‚¾‚³‚¢B ‚Ü‚½Aƒƒjƒ…[‚É•\Ž¦‚³‚ê‚Ä‚¢‚È‚¢ƒRƒ}ƒ“ƒh‚ð“ü—Í‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - vbslib ‚É•t‘®‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ivbslib Prompt.vbsj - - - vbslib - Short Hand Library 1. ƒwƒ‹ƒv(SVGŒ`Ž®)‚Ì•\Ž¦ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·) - 2. ƒwƒ‹ƒv(Internet Explorer-VMLŒ`Ž®)‚Ì•\Ž¦ - 3. ¡ vbs ƒtƒ@ƒCƒ‹‚ðV‹Kì¬‚·‚é [MakeVbsLibSample] - 4. ƒGƒfƒBƒ^[‚È‚ÇŠO•”ƒvƒƒOƒ‰ƒ€Ý’è [Setting] - 5. ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ðV‹Kì¬‚·‚é [MakeNewPrompt] - 6. Test ƒeƒ“ƒvƒŒ[ƒgEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - 8. ‚±‚̃vƒƒ“ƒvƒg‚̃\[ƒX‚ðŠJ‚­ - 9. vbslib ƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >3 - - ¶‚̃cƒŠ[‚ð“WŠJ‚·‚é‚ƁAŽg‚¦‚éƒRƒ}ƒ“ƒh‚ÌÚ×‚ðŒ©‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B iŒ»Ý‚̃y[ƒW‚ɑΉž‚·‚鍶‚̃cƒŠ[‚Ì•\Ž¦‚́Aƒy[ƒW‚̍¶ãŠO‚É‚ ‚é u©v ‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢j - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ÌŠˆ—p - - - vbslib Prompt.vbs - - « ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ÆŠJ‚­ - ‰‚ß‚ÄŽg‚Á‚Ä‚Ý‚é‚Æ‚«‚́A3 ‚ð‘I‚ñ‚ŁAŠÈ’P‚ȃXƒNƒŠƒvƒg‚ð“®‚©‚µ‚Ä‚Ý‚Ü‚µ‚傤B - - - Option Explicit - Sub main2( Opt, AppKey ) - echo "Hello, world!" - End Sub - - sample.vbs - 3. ¡ vbs ƒtƒ@ƒCƒ‹‚ðV‹Kì¬‚·‚é [MakeVbsLibSample] - 3 - u3. vbs ƒtƒ@ƒCƒ‹‚ðV‹Kì¬‚·‚év‚ð‘I‚ԂƁA‰º‹L‚悤‚È“à—e‚̃tƒ@ƒCƒ‹‚ª‚Å‚«‚Ü‚·B - - ¨ ƒXƒNƒŠƒvƒg‚ðì¬‚·‚é - - ‰ðà - ƒRƒ}ƒ“ƒh–¼‚́A‘啶Žš‚Ə¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB ‚‚܂èAƒRƒ}ƒ“ƒh–¼‚̑啶Žš‚Ì•¶Žš‚ª¬•¶Žš‚É‚È‚Á‚Ä‚¢‚½‚Æ‚µ‚Ä‚à‹N“®‚Å‚«‚Ü‚·B - - ƒRƒ}ƒ“ƒh‚Ì‘¬‹LŒ`‚ð’ljÁ‚µ‚½‚èA“ÆŽ©‚̃Rƒ}ƒ“ƒh‚ð’ljÁ‚µ‚½‚èAˆ—“à—e‚ðƒJƒXƒ^ƒ}ƒCƒY‚µ‚½‚è‚·‚é - ‚±‚Æ‚ª‚Å‚«‚Ü‚·B - —áF - - ¨ FindFile - - - ¨ grep - - - ¨ Shutdown - - - ¨ GetHash - - - ¨ fdiv - - - ¨ Translate - - - ¨ CreateTask - - - ¨ CutSharpIf - - - ¨ ReplaceSymbols - - - - - - - - - - - - - - ¨ InputCommand - - ŽQl - “ü—Í‚Å‚«‚éê—pƒRƒ}ƒ“ƒh‚́A‘½‚­‚̏ꍇAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃}ƒjƒ…ƒAƒ‹‚ɏ‘‚©‚ê‚Ä‚¢‚Ü‚·BŽ©•ª‚ª‚µ‚½‚¢‚±‚Æ‚ðƒ}ƒjƒ…ƒAƒ‹‚Ì–ÚŽŸ‚©‚猩‚‚¯‚½‚çA‚»‚Ì–{•¶‚©‚çê—pƒRƒ}ƒ“ƒh‚ð’T‚µ‚Ä‚­‚¾‚³‚¢B - - ‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹‚ðŒ©‚Ä‚¢‚é‚Ì‚È‚çAê—pƒRƒ}ƒ“ƒh‚ðƒRƒs[•ƒy[ƒXƒg‚Å‚«‚Ü‚·B ‚½‚¾‚µA - ƒy[ƒXƒg‚·‚é‚Æ‚«‚́A‰EƒNƒŠƒbƒN‚µ‚Ä [ “\‚è•t‚¯ ] ‚ðƒNƒŠƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B - ‚æ‚­Žg‚¤ƒRƒ}ƒ“ƒh‚́ASnap Note ‚̃m[ƒgEƒo[‚ȂǂɈꎞ“I‚É“\‚è•t‚¯‚Ä‚¨‚­‚Æ•Ö—˜‚ÉŽg‚¦‚Ü‚·B - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - - - - OpenTemp - - - ‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹ - - - - - vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚é‚ƁA‚»‚ÌŽÀs‚Ì‚½‚ß‚É“à•”“I‚É•K—v‚É‚È‚éƒtƒ@ƒCƒ‹‚ªAƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[‚ɍì‚ç‚ê‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - Prompt.vbs - - - - - - - ‚±‚±‚ð‘I‘ð‚µ‚ÄA‰EƒNƒŠƒbƒN‚µ‚Ä [ ƒRƒs[ ] ‚ðƒNƒŠƒbƒNAPrompt.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä•\Ž¦‚³‚ê‚éƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ðA - ‰EƒNƒŠƒbƒN‚µ‚Ä [ “\‚è•t‚¯ ] - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚É“ü‚éŠÖ” - - - -------------------------------------------------------------------------------Short Hand Prompt - 1. RunProgram - 2. InvestigateLog - ‘¼. Document.svg ‚ðŽQÆ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·) - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >2 - ------------------------------------------------------------------------------- - ƒƒOEƒtƒ@ƒCƒ‹‚̃pƒX >C:\Log\Test_log.txt - Test_log_summary.html ‚ðo—Í‚µ‚Ü‚µ‚½B - - C:\Log\Test_log.txt - 2 - ƒpƒX‚́Aƒtƒ@ƒCƒ‹‚ðƒvƒƒ“ƒvƒg‚Ƀhƒ‰ƒbƒO•ƒhƒƒbƒv‚·‚邱‚Æ‚Å‚à“ü—Í‚Å‚«‚Ü‚·B - ã‹L‚̉©F‚¢•”•ª‚ªAƒ†[ƒU[‚ª“ü—Í‚·‚é•”•ª‚Å‚·B - ƒRƒ}ƒ“ƒh–¼‚́A‘啶Žš‚Ə¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB ‚‚܂èAƒRƒ}ƒ“ƒh–¼‚̑啶Žš‚Ì•¶Žš‚ª¬•¶Žš‚É - ‚È‚Á‚Ä‚¢‚½‚Æ‚µ‚Ä‚à‹N“®‚Å‚«‚Ü‚·B - - ƒRƒ}ƒ“ƒh‚ð“ü—Í‚µ‚½ŒãAƒpƒ‰ƒ[ƒ^[‚âƒtƒ@ƒCƒ‹‚ւ̃pƒX‚Ì“ü—Í‚ð‹‚ß‚ç‚ê‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - Žg‚¢ŸŽè‚̈«‚¢ê–å“I‚ȃvƒƒOƒ‰ƒ€‚́A‚»‚ê‚ðŽx‰‡‚·‚éƒXƒNƒŠƒvƒg‚ð vbslib ‚Ȃǂō쐬‚µ‚āAƒAƒvƒŠƒP[ƒVƒ‡ƒ“Eƒvƒƒ“ƒvƒg‚ÌŒ`‚É‚µ‚āA‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹ ‚ð—pˆÓ‚·‚邱‚ƂŁAŽg‚¢‚â‚·‚­ - ‚È‚è‚Ü‚·B - - ‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹‚©‚çAê—pƒRƒ}ƒ“ƒh‚ðƒRƒs[•ƒy[ƒXƒg‚µ‚½‚èAƒVƒ‡[ƒgƒJƒbƒg‚ðì¬‚·‚é - ‚±‚ƂŁAŽŸX‚Æ–‚piƒXƒNƒŠƒvƒgj‚ðŒJ‚èo‚·‘¬‹LŒ´“TiƒVƒ‡[ƒgƒnƒ“ƒhj‚̂悤‚ɁAŽŸX‚Əˆ—‚ð - ‹N“®‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - Žg‚¢‚â‚·‚³‚́ACUI ‚â GUI ‚ÉŠÖ‚í‚炸A“dŽqƒ}ƒjƒ…ƒAƒ‹‚̍\¬‚É‚æ‚Á‚āA‘å‚«‚­¶‰E‚³‚ê‚Ü‚·B - ŒŸõ‰Â”\‚ȃ†[ƒXƒP[ƒXEƒx[ƒX‚̃nƒCƒp[ƒeƒLƒXƒg‚Å‚Å‚«‚½ƒ}ƒjƒ…ƒAƒ‹‚ðASnap Note ‚È‚Ç‚Å - ì¬‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - ‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹ ‚Ƃ̃Rƒ‰ƒ{ƒŒ[ƒVƒ‡ƒ“ - Šù‘¶‚̃vƒƒOƒ‰ƒ€‚ðŽg‚¢‚â‚·‚­‚·‚é - ƒVƒ‡[ƒgƒJƒbƒg‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - ˆê”ʂ̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚âAƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çAê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B‚½‚¾‚µAcmd.exe ‚ðŽg‚í‚È‚¢‚ŁAcscript.exe ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B 64ƒrƒbƒgWindows ‚É‚à‘Ήž‚·‚é - ‚ɂ́A‰º‹L‚̂悤‚É cscript ŠÂ‹«•Ï”‚Ì’l‚ª•Ï‚í‚é‚悤‚É‚µ‚āAcscript ŠÂ‹«•Ï”‚ðŽg‚Á‚Ä - .vbs ƒtƒ@ƒCƒ‹‚ð‹N“®‚µ‚Ä‚­‚¾‚³‚¢B - ‚Å‚«‚ê‚΁AVBScript ‚ðŽg‚Á‚āAPrompt.vbs ‚Ì“à—e‚ðŽQl‚É‚µ‚āAŠÖ”‚𒼐ڌĂяo‚·‚悤‚É - ‚µ‚Ä‚­‚¾‚³‚¢B - / ‚©‚çŽn‚Ü‚éƒIƒvƒVƒ‡ƒ“‚́A‘S‚Ẵpƒ‰ƒ[ƒ^[‚ÌŒã‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B ‚±‚ê‚́A/ ‚©‚çŽn‚Ü‚é - Linux ‚̃pƒX‚àƒpƒ‰ƒ[ƒ^[‚ÉŽw’è‚Å‚«‚é‚悤‚É‚·‚邽‚ß‚Å‚·B - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ªŠJ‚­ƒAƒvƒŠƒP[ƒVƒ‡ƒ“(*.exe, *.vbs ‚È‚Ç) ‚ðAƒ}ƒEƒX‚̉Eƒ{ƒ^ƒ“‚Ńhƒ‰ƒbƒO•ƒhƒƒbƒv‚µ‚Ä [ ƒVƒ‡[ƒgƒJƒbƒg‚ð‚±‚±‚ɍ쐬 ] ‚ð‘I‚ԂƁAƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚邾‚¯‚Å - ‚·‚®‚ɐê—pƒRƒ}ƒ“ƒh‚ð‹N“®‚Å‚«‚é‚悤‚É‚Å‚«‚Ü‚·B - ƒ}ƒEƒX‚̉Eƒ{ƒ^ƒ“‚Ńhƒ‰ƒbƒO•ƒhƒƒbƒv‚µ‚Ä [ ƒVƒ‡[ƒgƒJƒbƒg‚ð‚±‚±‚ɍ쐬 ] - Prompt - ƒVƒ‡[ƒgƒJƒbƒg - ƒVƒ‡[ƒgƒJƒbƒg‚ð‰EƒNƒŠƒbƒN‚µ‚Ä [ ƒvƒƒpƒeƒB ] ‚ŁAƒŠƒ“ƒNæ‚ðC³B - - - cmd.exe /K (%cscript% //nologo "C:\Fo\Prompt.vbs" CommandA "C:\Log\file.txt") - - - - - - ƒŠƒ“ƒNæF - ªê—pƒRƒ}ƒ“ƒh–¼ - ªƒpƒ‰ƒ[ƒ^[ - ‚±‚¤‚µ‚Ä‚Å‚«‚½ƒVƒ‡[ƒgƒJƒbƒgEƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAê—pƒRƒ}ƒ“ƒh‚ª‚·‚®‚ÉŽÀs‚³‚ê‚Ü‚·B - - - @echo offif "%ProgramFiles(x86)%" == "" set cscript=cscript - if not "%ProgramFiles(x86)%" == "" set cscript=%windir%\SysWOW64\cscript.exe - - %cscript% //nologo Prompt.vbs CommandA "C:\Log\file.txt" /option:1 - pause - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - Prompt.vbs - « ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ÆŠJ‚­ - ƒpƒ‰ƒ[ƒ^[‚ð•À‚ׂĂ¢‚­‚±‚ƂŁAƒ†[ƒU[‚Ì“ü—Í‚ðŽ©“®“I‚É‚Å‚«‚Ü‚·B"" ‚ðŽw’è‚·‚é‚Æ Enter ‚Ì‚Ý‚Ì“ü—Í‚à‚Å‚«‚Ü‚·B ‚½‚¾‚µAuƒŠƒ“ƒNæv‚̐擪‚É cmd.exe ‚ª•K—v‚Å‚·B - cmd.exe ‚ª‚ ‚é‚ƁAê—pƒRƒ}ƒ“ƒh‚ªI—¹‚µ‚Ä‚àƒEƒBƒ“ƒhƒE‚ª•Â‚¶‚È‚­‚È‚èAŒ‹‰Ê‚ðŠm”F‚Å‚«‚Ü‚·B - /K ‚ð /C ‚É•Ï‚¦‚é‚ƁAƒEƒBƒ“ƒhƒE‚ªŽ©“®“I‚ɕ‚¶‚é‚悤‚É‚È‚è‚Ü‚·B - ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚É g_debug = 1 ‚ðÝ’è‚·‚é‚悤‚É•\Ž¦‚³‚ꂽ‚çA/g_debug:1 ‚ð’ljÁ‚·‚é‚ƁAƒfƒoƒbƒK[‚ɐڑ±‚µ‚āAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ðŠm”F‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - cscript.exe Prompt.vbs CommandA "C:\Log\file.txt" /g_debug:1 - - - ¨ ƒfƒoƒbƒO, g_debug - - ŽQl - /g_debug:1 - ƒGƒ‰[‚ÌŒ´ˆö‚ªƒXƒNƒŠƒvƒg‚Ì“à—e‚É‚ ‚é‚Æ‹^‚í‚ê‚é‚Æ‚« - CommandA "C:\Log\file.txt" - "C:\Fo\Prompt.vbs" - cmd.exe /K (%cscript% //nologo - ª cmd.exe /K ‚ª•K—v‚ȏꍇ‚à‚ ‚é - ƒtƒ@ƒCƒ‹‚ÌŠÖ˜A•t‚¯‚ɐݒ肷‚ê‚΁Aƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚ÄŽÀs‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ ƒTƒ“ƒvƒ‹ ƒR[ƒh (InputCommand) - - ƒƒjƒ…[€–Ú‚âƒRƒ}ƒ“ƒh–¼i‚Ì‘¬‹LŒ`j‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚é - ŽQl - ƒJƒXƒ^ƒ}ƒCƒY‚·‚é‚ɂ́AInputCommand ŠÖ”‚ÉŽw’è‚·‚éƒpƒ‰ƒ[ƒ^[‚ð•ÒW‚µ‚Ä‚­‚¾‚³‚¢B - %cscript% //nologo - CommandA "C:\Log\file.txt" - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ÌŠˆ—p - “Á•Ê‚ȃXƒNƒŠƒvƒg‚ð‹N“®‚·‚邽‚߂ɁAƒL[ƒ{[ƒh‚©‚çƒRƒ}ƒ“ƒh‚ð“ü—Í‚Å‚«‚éó‘Ô‚Å‚ ‚邱‚Æ‚ðŽ¦‚·‹L†A‚Ü‚½‚Í‚»‚̃EƒBƒ“ƒhƒE‚ðAuƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒgv‚ƌĂт܂·B - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹ (Prompt.vbs) ‚ðƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ŕҏW‚·‚ê‚΁A‚æ‚­Žg‚¤ƒRƒ}ƒ“ƒh‚ðƒƒjƒ…[€–ڂɒljÁ‚µ‚½‚èA‚æ‚­Žg‚¤ƒRƒ}ƒ“ƒh‚Ì–¼‘O‚ð’Z‚­‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒ}ƒjƒ…ƒAƒ‹‚ðì¬‚·‚é‚Æ‚«‚́Aƒ†[ƒU[‚ª‚µ‚½‚¢‚±‚Ɓiƒ†[ƒXƒP[ƒXj‚²‚Ƃ̏͂ƁAƒRƒ}ƒ“ƒh‚²‚Ƃ̏́iõˆøj‚Ì—¼•û‚ð—pˆÓ‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - sample.bat - Prompt.vbs ‚Ì CommandA ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B CommandA ŠÖ”‚Ì’†‚ŁAinput Œn‚̌Ăяo‚µ‚ª‚P‚‚̂Ƃ«‚́Aƒpƒ‰ƒ[ƒ^[‚Í "C:\Log\file.txt"AŽc‚è‚Ì /option:1 ‚̓IƒvƒVƒ‡ƒ“B - - ¨ cscript ŠÂ‹«•Ï” - - %cscript% ‚ɂ‚¢‚ẮA - cscript ŠÂ‹«•Ï”‚ðŽg‚Á‚½ƒoƒbƒ`ƒtƒ@ƒCƒ‹ - - ¨ cscript ŠÂ‹«•Ï” - - ˆê”ʂ̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚âAƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çAê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚Æ‚«‚́A - - ¨ ‰æ–Ê‚ÅŒ©‚éƒ}ƒjƒ…ƒAƒ‹ ‚Ƃ̃Rƒ‰ƒ{ƒŒ[ƒVƒ‡ƒ“ - - - ¨ ƒƒjƒ…[€–Ú‚âƒRƒ}ƒ“ƒh–¼i‚Ì‘¬‹LŒ`j‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚é - - - ¨ ƒVƒ‡[ƒgƒJƒbƒg‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - - - ¨ cscript ŠÂ‹«•Ï”‚ðŽg‚Á‚½ƒoƒbƒ`ƒtƒ@ƒCƒ‹ - - - ¨ ƒGƒ‰[‚ÌŒ´ˆö‚ªƒXƒNƒŠƒvƒg‚Ì“à—e‚É‚ ‚é‚Æ‹^‚í‚ê‚é‚Æ‚« - - - ¨ Šù‘¶‚̃vƒƒOƒ‰ƒ€‚ðŽg‚¢‚â‚·‚­‚·‚é - - “Á’è‚Ì–Ú“I‚ð’B¬‚·‚邽‚߂ɍ쐬‚µ‚½‘½‚­‚̃XƒNƒŠƒvƒg‚ðA‚P‚‚̃XƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚É‚Ü‚Æ‚ß‚½‚à‚Ì‚ªAƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚̃XƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚Å‚·B - - ¨ ƒEƒBƒ“ƒhƒE‚ªŠJ‚¢‚Ä‚µ‚Ü‚¤‚Æ‚« - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚Ì .vbs ƒXƒNƒŠƒvƒg‚ðƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚ç‹N“®‚µ‚½ê‡AŽÀs‚ªŠ®—¹‚µ‚½‚çA‚»‚̃vƒƒZƒXiƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒgj‚͏I—¹‚µ‚Ü‚·B - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚̃eƒXƒg - - ŠÖ˜A - - ¨ ƒTƒ“ƒvƒ‹ ƒR[ƒh (InputCommand) - - ƒTƒ“ƒvƒ‹ - - ¨ Samples\BatchFiles ƒtƒHƒ‹ƒ_[ - - - - - - - - - - ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib) - vbslib ‚ª’ñ‹Ÿ‚·‚éƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹‚ɑΉž‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚͉º‹L‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B - —áF - - ¨ CommitCopy - - ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÆŠÖ˜A•t‚¯‚ç‚ꂽƒf[ƒ^Eƒtƒ@ƒCƒ‹‚̂悤‚Ɉµ‚¦‚éƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚Å‚·B ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹‚ðƒeƒLƒXƒgEƒGƒfƒBƒ^[‚Å - ŠJ‚¯‚΁AÝ’è‚ð•ÒW‚·‚邱‚Æ‚ª‚Å‚«Aƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚ê‚΁A‚»‚̐ݒè‚ɏ]‚Á‚ăXƒNƒŠƒvƒg‚ª - ‹N“®‚µ‚Ü‚·B - ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚½‚Æ‚«‚ɁA‚à‚µ‹N“®‚Å‚«‚È‚©‚Á‚½‚Æ‚«‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì–{‘Ì‚ª“ü‚Á‚½ scriptlib ƒtƒHƒ‹ƒ_[‚ªeƒtƒHƒ‹ƒ_[i‚Ü‚½‚́A‚»‚̐eƒtƒHƒ‹ƒ_[Acj - ‚É‘¶Ý‚µ‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·B ‚»‚Ì‚Æ‚«‚́Ascriptlib ƒtƒHƒ‹ƒ_[‚àƒRƒs[‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ SyncFilesX - - - - '---------------------------------------------[FileInScript.xml]'<Sample_App> - '<Setting value="WORK"/> - '</Sample_App> - '--------------------------------------------[/FileInScript.xml] - - Sub Main( Opt, AppKey ) - Sample_App AppKey, new_FilePathForFileInScript( Empty ) - End Sub - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - - ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹‚Ì“à—e‚́A‚¨‚¨‚æ‚»A‰º‹L‚̂悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B - - Main - - - vbslib include - - - new_FilePathForFileInScript - - - - ----------------------------------------------------------------------Short Hand Prompt - 1. RunProgram - 2. InvestigateLog - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >2 - - - Sample App.vbs - - « ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ÆŠJ‚­ - c ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃f[ƒ^ Œ“ ‹N“®ƒAƒCƒRƒ“ - - scriptlib - - c ’†‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì–{‘Ì‚ª‚ ‚é scriptlib ƒtƒHƒ‹ƒ_[ - Sample_App - - - - - - - - ƒf[ƒ^•”•ª - - - - - - - - ŠÖ˜A•t‚¯•”•ª - ƒf[ƒ^•”•ª‚́A - - XMLŒ`Ž®A - - - ini Œ`Ž®A - - ‚ȂǁAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚Ä - ŠÖ˜A•t‚¯•”•ª‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÆŠÖ˜A‚¯‚̐ݒ肪‚ ‚è‚Ü‚·B ‰º‹L‚̏ꍇ Sample_AppŠÖ”‚ªƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚·B ŠÖ”‚̈ø”‚Í•Ï‚¦‚È‚¢‚Å‚­‚¾‚³‚¢B - - JSON Œ`Ž®A - - - CSV Œ`Ž® - - Œ`Ž®‚ªˆÙ‚È‚è‚Ü‚·B ‚Ç‚ÌŒ`Ž®‚Å‚ ‚é‚©‚́Aƒf[ƒ^•”•ª‚̍ŏ‰‚ƍŌã‚̍s‚̍s––‚É‚ ‚é[ ] ‚ň͂܂ꂽ•”•ª‚ðŽQl‚É”»’f‚Å‚«‚Ü‚·B ‰º‹L‚̏ꍇA[FileInScript.xml] ‚Ȃ̂ŁA - ‚½‚¾‚µA‚Ç‚ÌŒ`Ž®‚Å‚àAs“ª‚É ' ‚ª•K—v‚Å‚·BiVBScript ‚ÌŒ¾ŒêŽd—l‚Ì‚½‚߁j - XML Œ`Ž®‚Å‚·B - Sample App.vbs - ƒf[ƒ^•”•ª‚̍ŏ‰‚ƍŌã‚̍s‚́A•ÏX‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B - - - - - - - Base64 - ƒoƒCƒiƒŠ[ƒf[ƒ^‚ð base64 •ûŽ®‚̃eƒLƒXƒg‚É•ÏŠ·‚µ‚Ü‚·B ‚Ü‚½‚́A‚»‚Ì‹t•ÏŠ·‚ð‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >base64--------------------------------------------------------------------------- - 1) Base64Œ`Ž®‚É•ÏŠ·‚·‚é [Encode] - 2) ƒoƒCƒiƒŠ[Eƒtƒ@ƒCƒ‹‚É–ß‚· [Decode] - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>2 - “ü—̓tƒ@ƒCƒ‹iƒeƒLƒXƒgŒ`Ž®j‚̃pƒX>C:\input.txt - o—̓tƒ@ƒCƒ‹‚̃pƒXiã‘‚«‚µ‚Ü‚·j>C:\output.jpg - o—Í‚µ‚Ü‚µ‚½B - - base64 - - ¨ Base64 - - ŽQl - ŠÖ˜A - - ¨ new_BinaryArrayFromBase64 - - - ¨ Base64 (BinaryArray) - - - - - - - - BashSyntax - bash ƒVƒFƒ‹EƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚Ì " ", ' ', ` ` ‚̑ΉžŠÖŒW‚ª•¡”s‚É‚Ü‚½‚ª‚Á‚Ä‚¢‚éêŠ‚ð’T‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >BashSyntaxƒVƒFƒ‹EƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚̃pƒX >sample.sh - <WARNING msg="•¡”s‚É‚Ü‚½‚ª‚Á‚Ä‚¢‚Ü‚·" line="7">"</WARNING> - <WARNING msg="•¡”s‚É‚Ü‚½‚ª‚Á‚Ä‚¢‚Ü‚·" line="8">"</WARNING> - - BashSyntax - sample.sh - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - CheckEnglishOnly - ŽQl - - ¨ CheckEnglishOnly (exeƒtƒ@ƒCƒ‹) - - ‰pŒêˆÈŠO‚Ì•¶Žš‚ªƒtƒ@ƒCƒ‹‚É“ü‚Á‚Ä‚¢‚È‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CheckEnglishOnlyƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚Ì’†‚ɁA‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹‚ðˆê——‚µ‚Ü‚·B - ƒTƒuƒtƒHƒ‹ƒ_[‚àŠÜ‚߂ă`ƒFƒbƒN‚µ‚Ü‚·B - - Enter ‚̂݁FC:\vbslib\Samples\Translate\SettingForCheckEnglish.ini - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX> - - ’²‚ׂéƒtƒHƒ‹ƒ_‚̃pƒX>C:\ProjA\src - - <FILE path="TestData\KanjiInUnicode.txt"> - <LINE num="2" text="Š¿Žš"/> - <LINE num="4" text="‚Å‚·B"/> - <SUMMARY count="2"/> - </FILE> - - <FILE path="TestData\SJisInAscii.txt"> - <LINE num="2" text="ƒVƒtƒgJIS"/> - <LINE num="4" text="‚Å‚·B"/> - <SUMMARY count="2"/> - </FILE> - - CheckEnglishOnly - C:\ProjA\src - ƒ\[ƒX - ƒeƒXƒg - - ¨ CheckEnglishOnly ŠÖ” - - - ¨ vbslib Prompt.vbs - - - ¨ T_CheckEnglishOnly.vbs - - T_CheckEnglishOnly_sth - Ý’èƒtƒ@ƒCƒ‹ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ¨ CopyNotOverwriteFileClass - - ŠÖ˜A - ƒeƒXƒg - CommitCopy - ƒ\[ƒX - - ¨ CommitCopyLib.vbs - - - ¨ CommitCopy ƒtƒHƒ‹ƒ_[ - - - ¨ SynchronizeFolder - - - ¨ DeleteSameFileClass - - - ¨ SyncFilesMenu - - - ¨ RepliCmp - - CommitCopy ‚́A‹¤—LƒtƒHƒ‹ƒ_[‚É‚ ‚鑼‚̐l‚ª•ÒW‚µ‚½ƒtƒ@ƒCƒ‹‚ðã‘‚«‚µ‚È‚¢‚悤‚É”r‘¼§Œä‚µ‚È‚ª‚çA‘O‰ñ“¯Šú‚µ‚½“à—e‚Æ“¯‚¶‚Æ‚«‚¾‚¯Aã‘‚«“¯ŠúƒRƒs[iƒRƒ~ƒbƒg/XVj‚ð‚µ‚Ü‚·B - - SubVersion ‚̂悤‚ȃT[ƒo[‚Í•K—v‚È‚­A’Pƒ‚ȃtƒ@ƒCƒ‹EƒvƒƒgƒRƒ‹(SMB)‚ðŽg—p‚µA - ‹¤—LƒtƒHƒ‹ƒ_[‚É“ä‚̃tƒ@ƒCƒ‹‚ðì‚è‚Ü‚¹‚ñB ”r‘¼§Œä‚às‚¢‚Ü‚·B - ƒRƒ~ƒbƒgi‹¤—LƒtƒHƒ‹ƒ_[‚ð•ÏXj‚µ‚½‚çA_history\(Œ»Ý“úŽž) ƒtƒHƒ‹ƒ_[‚ɃRƒs[‚ªì‚ç‚ê‚Ü‚·B - ‘¼‚̐l‚à•ÒW‚µ‚Ä‚¢‚½‚Æ‚«‚́Aƒ}[ƒW‚·‚é•K—v‚ª‚ ‚éƒtƒ@ƒCƒ‹‚ðƒ[ƒNEƒtƒHƒ‹ƒ_[‚ɍì‚è‚Ü‚·B - - - '---------------------------------------------[FileInScript.xml]'<CommitCopy - ' share_folder_path = "\\PC01\folder\share" - '/> - '--------------------------------------------[/FileInScript.xml] - - Sub Main( Opt, AppKey ) - CommitCopy_App AppKey, new_FilePathForFileInScript( Empty ) - End Sub - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - - ƒTƒ“ƒvƒ‹ - ‰‚ß‚ÄŽg‚¤‚Æ‚«‚̉æ–ʁF - - - ‹¤—LƒtƒHƒ‹ƒ_[F(PC01) \\PC01\folder\share - 1 .ƒ`ƒFƒbƒNƒAƒEƒgiƒ[ƒNEƒtƒHƒ‹ƒ_[‚ÖƒRƒs[j [CheckOut] - 3. ”r‘¼§Œä‚̃eƒXƒg [TestMutex] - 4. ƒ[ƒNEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ [OpenWork] - 5. ‹¤—LƒtƒHƒ‹ƒ_[‚ðŠJ‚­ [OpenShare] - 6. ‘O‰ñ‚Ì“¯Šú‚̃tƒHƒ‹ƒ_[‚ðŠJ‚­ [OpenSynced] - - ƒ[ƒNEƒtƒHƒ‹ƒ_[ - ‹¤—LƒtƒHƒ‹ƒ_[ - - _CommitCopy.vbs - - - scriptlib - - “¯Šú‚·‚éƒtƒ@ƒCƒ‹ - “¯Šú‚·‚éƒtƒHƒ‹ƒ_[ - “¯Šú‚·‚éƒtƒHƒ‹ƒ_[ - “¯Šú‚·‚éƒtƒ@ƒCƒ‹ - - - - - - - - “¯Šú - iƒtƒ@ƒCƒ‹EƒT[ƒo[“àAƒ[ƒJƒ‹‚à‰Âj - iƒ[ƒJƒ‹PC“àj - c eƒtƒHƒ‹ƒ_[‚É‚ ‚Á‚Ä‚à‚æ‚¢ - _synced - ‚Q‰ñ–ڈȍ~‚̉æ–ʁF - - - ‹¤—LƒtƒHƒ‹ƒ_[F(PC01) \\pc01\folder\share - 2. ”äŠr [Compare] - 4. ƒ[ƒNEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ [OpenWork] - 5. ‹¤—LƒtƒHƒ‹ƒ_[‚ðŠJ‚­ [OpenShare] - 6. ‘O‰ñ‚Ì“¯Šú‚̃tƒHƒ‹ƒ_[‚ðŠJ‚­ [OpenSynced] - 7. XViƒ[ƒNEƒtƒHƒ‹ƒ_[‚ÖƒRƒs[j [Update] - 8. ƒRƒ~ƒbƒgi‹¤—LƒtƒHƒ‹ƒ_[‚ÖƒRƒs[j [Commit] - 9. ‘O‰ñ‚Ì“¯Šú‚ðƒRƒs[‚µ‚čXV [UpdateForMerge] - - Žg‚¢•û‚͉º‹LB‘O‰ñ‚Ì“¯Šú‚̃tƒHƒ‹ƒ_[‚ª–³‚¢‚Æ‚«‚É‚±‚̉æ–Ê‚É‚È‚è‚Ü‚·B - ‰‚ß‚ÄŽg‚¤ƒT[ƒo[‚ł́A•¡”‚̃[ƒJƒ‹PC‚©‚çATestMutex ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - _CommitCopy.vbs - - vbslib include - - Žg‚¢•û - - Samples\CommitCopy ƒtƒHƒ‹ƒ_[ - - _CommitCopy.vbs ƒtƒ@ƒCƒ‹‚ðƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ÅŠJ‚«AXML Œ`Ž®‚̐ݒè‚ð•ÒW‚µ‚Ä•Û‘¶‚µ‚Ü‚·B ŽQlF‰º‹L - _CommitCopy.vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‹N“®‚µ‚Ü‚·B‰‚ß‚ÄŽg‚¤‚Æ‚«‚́Aƒ`ƒFƒbƒNƒAƒEƒg‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢B - ‚ðAƒ[ƒJƒ‹ PC ‚̐V‚µ‚¢ƒtƒHƒ‹ƒ_[iƒ[ƒN - - scriptlib ƒtƒHƒ‹ƒ_[ - - ‚É‚ ‚é - 1. - 2. - 4. - ‘O‰ñ“¯Šú‚µ‚½ƒtƒHƒ‹ƒ_[ - ‘O‰ñ“¯Šú‚µ‚½ƒtƒ@ƒCƒ‹ - c ‘O‰ñ‚Ì“¯Šú‚̃tƒHƒ‹ƒ_[ - - _history - - 2014-01-01T12:00:00 (start) - 2014-01-01T12:00:00 userA - - _history - - 2014-01-02T12:00:00 userB - - history.xml - - 2014-01-01T12:00:00 userA - 2014-01-01T12:00:00 (start) - - history.xml - - c •ÏX‚³‚ꂽ‚çì‚ç‚ê‚é - c •ÏX‚³‚ꂽ‚çì‚ç‚ê‚é - c ƒƒCƒ“EƒXƒNƒŠƒvƒg - —š—ðƒtƒHƒ‹ƒ_[ - ‘O‰ñ‚̃Rƒ~ƒbƒg‚ƈقȂéƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃Rƒs[‚ð—š—ðƒtƒHƒ‹ƒ_[‚ÉŠi”[‚µ‚Ü‚·B‘O‰ñ‚̃Rƒ~ƒbƒg‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Í“ü‚è‚Ü‚¹‚ñB - XViUpdate ‚â UpdateForMerge ƒRƒ}ƒ“ƒhj‚ł́A—š—ðƒtƒHƒ‹ƒ_[‚ðXV‚µ‚Ü‚¹‚ñB - —š—ð‚́Ahistory.xml ƒtƒ@ƒCƒ‹‚É‹L˜^‚³‚ê‚Ü‚·B ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̈ꗗ‚ªŠm”F‚Å‚«‚Ü‚·B - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ªíœ‚³‚ꂽ‚±‚Ƃ́Ahistory.xml ƒtƒ@ƒCƒ‹‚©‚番‚©‚è‚Ü‚·B - Žè“®‚Å XML Œ`Ž®‚̃Rƒƒ“ƒg <!-- ƒRƒƒ“ƒg --> ‚ð‘‚­‚±‚Æ‚ª‚Å‚«‚Ü‚·B - history.xml - ƒTƒ“ƒvƒ‹ - - - <History> - <Commit name="2014-01-01T12:00:00 (start)"> - <File name="“¯Šú‚·‚éƒtƒ@ƒCƒ‹.txt" entity="2014-01-01T12:00:00 (start)"/> - <Folder name="“¯Šú‚·‚éƒtƒHƒ‹ƒ_[" entity="2014-01-01T12:00:00 (start)"/> - <File name="íœ—\’èƒtƒ@ƒCƒ‹.txt" entity="2014-01-01T12:00:00 (start)"/> - </Commit> - - <Commit name="2014-01-02T12:00:00 userB"> - <File name="“¯Šú‚·‚éƒtƒ@ƒCƒ‹.txt" entity="2014-01-02T12:00:00 userB"/> - <Folder name="“¯Šú‚·‚éƒtƒHƒ‹ƒ_[" entity="2014-01-01T12:00:00 (start)"/> - </Commit> - - </History> - - entity ‚́Aƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª“ü‚Á‚Ä‚¢‚é _history ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒHƒ‹ƒ_[–¼‚Å‚·B - ƒtƒHƒ‹ƒ_[–¼‚́AW3CDTF Œ`Ž®‚ÌŒ»Ý“úŽž‚ƃRƒ~ƒbƒg‚µ‚½ƒ†[ƒU[–¼‚Å‚·Bƒ†[ƒU[–¼‚́ACommitCopyUI_Class::UserName ‚ŁAƒfƒtƒHƒ‹ƒg‚́A - %USERDOMAIN%\%USERNAME% ‚Å‚·B - ‹¤—LƒtƒHƒ‹ƒ_[‚Ì’¼‰º‚̃tƒHƒ‹ƒ_[‚Ì’†‚̈ꕔ‚ªˆÙ‚È‚Á‚Ä‚¢‚Ä‚àA’¼‰º‚̃tƒHƒ‹ƒ_[ - ‘S‘̂̃Rƒs[‚ªì‚ç‚ê‚Ü‚·B - - [ e: ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib•t‘®) ] - - - ¨ ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib) - - XML Œ`Ž®‚ɐݒè‰Â”\‚ȍ€–Ú - share_folder_path - ‹¤—LƒtƒHƒ‹ƒ_[‚̃pƒX - work_folder_path - name - ƒvƒƒ“ƒvƒg‚Ì’†‚Ì‹¤—LƒtƒHƒ‹ƒ_[‚̃pƒX‚Ì‘O‚É•\Ž¦‚³‚ê‚é“à—eBƒfƒtƒHƒ‹ƒg‚́A"CommitCopy" - ƒ[ƒNEƒtƒHƒ‹ƒ_[‚̃pƒXBƒfƒtƒHƒ‹ƒg‚́AƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[ - is_history_in_share - ‹¤—LƒtƒHƒ‹ƒ_[‚É _history ƒtƒHƒ‹ƒ_[‚ðì‚é‚©‚Ç‚¤‚©B"yes" or "no"AƒfƒtƒHƒ‹ƒg‚Í "no" - - ¨ T_CommitCopyUI.vbs - - V‚µ‚­‹¤—LƒtƒHƒ‹ƒ_[‚ðì¬‚·‚é‚Æ‚«‚́A‹¤—LƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚āA‚»‚Ì’†‚Ƀtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ä‚­‚¾‚³‚¢B - 3. - ƒtƒHƒ‹ƒ_[‚É‚ ‚é - EƒtƒHƒ‹ƒ_[‚É‘Š“–j‚ɃRƒs[‚µ‚Ü‚·B ‚È‚¨Ascriptlib ƒtƒHƒ‹ƒ_[‚́A_CommitCopy.vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̐eƒtƒHƒ‹ƒ_[‚É’u‚­‚±‚Æ‚à‚Å‚«‚Ü‚·B - ‚ƁA‚»‚̐e‚̐e - _CommitCopy.vbs ƒtƒ@ƒCƒ‹ - - _CommitCopy.vbs - - - scriptlib - - - - - - - - ConvertDocumetCommentFormat - ƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚éAƒhƒLƒ…ƒƒ“ƒg‚É•ÏŠ·‚Å‚«‚éƒRƒƒ“ƒg‚ÌŒ`Ž®‚ð•ÏŠ·‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ConvertDocumetCommentFormatƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚éAƒhƒLƒ…ƒƒ“ƒg‚É•ÏŠ·‚Å‚«‚éƒRƒƒ“ƒg‚Ì - Œ`Ž®‚ð•ÏŠ·‚µ‚Ü‚·B - •ÏŠ·‚·‚é‘O‚̃\[ƒX‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[ >C:\src - •ÏŠ·Œã‚̃\[ƒX‚ð“ü‚ê‚éƒtƒHƒ‹ƒ_[išã‘‚«‚µ‚Ü‚·j>C:\out - - Enter ‚Ì‚Ý: NaturalDocs - 1. CŒ¾Œê‚Ì NaturalDocs [NaturalDocs] - •ÏŠ·‘O‚̃Rƒƒ“ƒgŒ`Ž® > - - Enter ‚Ì‚Ý: ${vbslib}\Samples\DocComment\doxygen.xml - o—Í‚·‚éƒRƒƒ“ƒg‚̃eƒ“ƒvƒŒ[ƒg‚ª‘‚©‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX > - - ConvertDocumetCommentFormat - - ¨ ConvertDocumetCommentFormat ŠÖ” - - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ DocComment ƒtƒHƒ‹ƒ_[ - - C:\src - C:\out - Œ»ÝACŒ¾Œê‚Ì NaturalDocs Œ`Ž®ƒRƒƒ“ƒg‚©‚çAdoygen (Javadoc)Œ`Ž®ƒRƒƒ“ƒg‚Ö‚Ì•ÏŠ·‚̈ꕔ‚̂݉”\‚Å‚·B - - ¨ T_ConvertDCF ƒtƒHƒ‹ƒ_[ - - ƒTƒ“ƒvƒ‹ - - - <Text id="Function"><![CDATA[/** - * @brief ${Brief} - * - * @param ${Name} ${Brief} - * @return ${ReturnValue}${Descriptions} - */ - ]]></Text> - - ƒeƒ“ƒvƒŒ[ƒg‚̈ꕔ‚ðŽ¦‚µ‚Ü‚·B - ã‹L‚̃eƒ“ƒvƒŒ[ƒg‚́AText ƒ^ƒO‚Ì id ‘®«‚ª Function ‚Ȃ̂ŁAˆÈ‰º‚̂悤‚ɃL[ƒ[ƒh‚ª Function ‚ÉŽw’肳‚ꂽ NaturalDocs Œ`Ž®ƒRƒƒ“ƒg‚ª“K—p‘Ώۂł·B - - - /********************************************************* Function: SampleFunction - * This is a brief. - * - * Arguments: - * Source - Input - * Destination - Output - * - * Return Value: - * Error Code. 0=No Error. - * - * Description: - * The output from <SampleFunction>. - * - * Example: - * > void main() - * > {} - *********************************************************/ - errnum_t SampleFunction( int Source, int Destination ) - { - return Source + Destination; - } - - - - /*** @brief This is a brief. - * - * @param Source Input - * @param Destination Output - * @return Error Code. 0=No Error. - * - * @par Description - * The output from @ref SampleFunction. - * - * @par Example - * @code - * void main() - * {} - * @endcode - */ - errnum_t SampleFunction( int Source, int Destination ) - { - return Source + Destination; - } - - NaturalDocs Œ`Ž®ƒRƒƒ“ƒg‚Ì—áF - doxygen Œ`Ž®ƒRƒƒ“ƒg‚Ì—áF - ‚»‚µ‚āAã‹L‚̃Tƒ“ƒvƒ‹‚́A‰º‹L‚ÉŽ¦‚· doxygen Œ`Ž®‚̃Rƒƒ“ƒg‚É•ÏŠ·‚µ‚Ü‚·B - ${Descriptions} ‚́AReturn Value: ‚æ‚艺‚Ì•”•ª‚ÉŠY“–‚µ‚Ü‚·B s“ª‚É> ‚ª‚ ‚é‚ƁA@code ` @endcode ‚ň݂͂܂·B - < > ‚ň͂܂ꂽƒL[ƒ[ƒh‚́A@ref (ƒnƒCƒp[ƒŠƒ“ƒN) ‚ª•t‚«‚Ü‚·B - Œ©o‚µ‚́A@par ‚ª•t‚«‚Ü‚·B - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - ConvertToNewVbsLib - ƒXƒNƒŠƒvƒg‚ªŽg‚Á‚Ä‚¢‚éŒÃ‚¢ vbslib ‚ðÅV‚Ì vbslib ‚É’u‚«Š·‚¦‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ConvertToNewVbsLibƒXƒNƒŠƒvƒg‚ªŽg‚Á‚Ä‚¢‚éŒÃ‚¢ vbslib ‚ðÅV‚Ì vbslib ‚É’u‚«Š·‚¦‚Ü‚·B - ver4 ¨ ver5 - Ž–‘O‚É•ÏŠ·‚ðs‚¤ƒtƒHƒ‹ƒ_[‚Ì šƒoƒbƒNƒAƒbƒv ‚ð‚Æ‚Á‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B - •ÏŠ·‚ðs‚¤ƒtƒHƒ‹ƒ_[‚̃pƒX >C:\folder - - C:\folder - ConvertToNewVbsLib - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ƒƒCƒ“.vbs - - ‚Ì’†‚É‚ ‚é - - vbslib include - - ‚̃R[ƒh‚ðÅV”łɍXV‚µA - scriptlib ƒtƒHƒ‹ƒ_[‚É‚ ‚é vbs_inc.vbs ‚Æ vbslib* ƒtƒHƒ‹ƒ_[‚Ì“à—e‚ðÅV”łɍXV‚µ‚Ü‚·B - ƒƒCƒ“.vbs ‚©‚Ç‚¤‚©‚́AŠg’£Žq‚ª *.vbs ‚ŁAƒtƒ@ƒCƒ‹‚Ì’†‚É "--- start of vbslib include ---" ‚ª‚ ‚é‚©‚Ç‚¤‚©‚Å”»’肵‚Ä‚¢‚Ü‚·B - vbslib ‚ª“ü‚Á‚Ä‚¢‚é scriptlib ƒtƒHƒ‹ƒ_[‚©‚Ç‚¤‚©‚́AŽw’肵‚½ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é scriptlib ƒtƒHƒ‹ƒ_[‚Ì’¼‰º‚É vbs_inc.vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚é‚©‚Ç‚¤‚©‚Å”»’肵‚Ä‚¢‚Ü‚·B - scriptlib ƒtƒHƒ‹ƒ_[‚𒼐ڎw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ƒeƒXƒg - - ¨ T_VbsLibUpdater.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - - - - - CopyOnlyExist - ƒRƒs[æ‚É‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚¾‚¯ƒRƒs[‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CopyOnlyExistƒRƒs[æ‚É‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚¾‚¯ƒRƒs[‚µ‚Ü‚·B - ƒRƒs[æ‚É‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚ªƒRƒs[Œ³‚É–³‚¢‚Æ‚«‚̓Gƒ‰[‚É‚È‚è‚Ü‚·B - ƒRƒs[Œ³ƒtƒHƒ‹ƒ_‚̃pƒX>FolderA - ƒRƒs[æƒtƒHƒ‹ƒ_‚̃pƒX>FolderB - - CopyOnlyExist - ƒeƒXƒg - - ¨ T_CopyOnlyExist ƒtƒHƒ‹ƒ_ - - FolderA - FolderB - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ copy_ex ŠÖ” - - ŠÖ˜A - - - - - - - CreateFromTextSections - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚ß‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CreateFromTextSections - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚ß‚Ü‚·B - - MixedText ƒ^ƒO‚ª‚ ‚é XML ƒtƒ@ƒCƒ‹‚̃pƒX >C:\_setup_generated\_TextSectionPath.xml - - Enter ‚̂݁FCreateFile ƒ^ƒO‚É‹Lq‚³‚ꂽ‚·‚ׂẴtƒ@ƒCƒ‹ - MixedText ‚Ì id ‘®« >C_Type - W‚ß‚½ƒeƒLƒXƒg‚̏o—̓tƒ@ƒCƒ‹‚̃pƒXišã‘‚«‚µ‚Ü‚·j>C:\Users\user1\Desktop\a.txt - W‚ß‚Ü‚µ‚½B - - CreateFromTextSections - - - <MixedText id="C_Type"><TextSection path="File1.txt#First"/> - <TextSection path="File1.txt#Third"/> - <TextSection path="File2.txt#Last"/> - </MixedText> - - SettingA.xml - File1.txt - - - First Text_ - Second - String - _ - Third Text - String - _ - - File2.txt - - - First Text_ - Second - String - _ - Last Text - _ - - _ ‚Í‹ó”’‚ð•\‚· - o—Í“à—e - - - First Text_ - Third Text - String - _ - Last Text - _ - - # ‚ÌŒã‚́AŒŸõƒL[ƒ[ƒh‚Å‚· - ŠÖ˜A - “ü—Í‚µ‚½uMixedText ‚Ì id ‘®«v‚ª C_Type ‚̏ꍇA/MixedText[@id='C_Type'] ‚ªŽw‚· XML —v‘f‚ÌŽqƒm[ƒhiTextSection —v‘fj‚Ì path ‘®«‚ªŽw‚·ƒZƒNƒVƒ‡ƒ“‚ðW‚ß‚Ü‚·B - File1.txt ‚È‚Ç‚Ì‹ó”’‚¾‚¯‚̍s‚̓ZƒNƒVƒ‡ƒ“‚Ì‹æØ‚è‚Å‚·B - path="File1.txt#Third" ‚̏ꍇAFile1.txt ƒtƒ@ƒCƒ‹‚Ì’†‚ðƒL[ƒ[ƒh Third ‚ÅŒŸõ‚·‚é‚Æ - Third Text ‚̍s‚ªƒqƒbƒg‚µ‚Ü‚·B ƒqƒbƒg‚µ‚½s‚ðŠÜ‚ÞƒZƒNƒVƒ‡ƒ“‚ðW‚ß‚Ü‚·B - - \‘¢‰»ƒeƒLƒXƒgƒtƒH[ƒ}ƒbƒg - - ‚̃y[ƒW‚Ì‹æØ‚èi‹ó”’j‚ðƒZƒNƒVƒ‡ƒ“‚Ì‹æØ‚è‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚̃AƒhƒŒƒX‚ðA‰º‹L‚̃Tƒ“ƒvƒ‹‚̂悤‚È XML ‚ÅŽw’肵‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - C:\_setup_generated\_TextSectionPath.xml - C_Type - C:\Users\user1\Desktop\a.txt - - ModuleMixer - - ‚́A_setup_generated\_TextSectionPath.xml ‚É MixedText ƒ^ƒO‚ª‚ ‚é XML ƒtƒ@ƒCƒ‹ - ‚ðo—Í‚µ‚Ü‚·B - TextSection ƒ^ƒO‚Ì path ‘®«‚É # ‚ª‚ ‚é‚Æ‚«‚́A - - - - - - TextSection ƒ^ƒO‚Ì path ‘®«‚É # ‚ª‚ ‚é‚Æ‚« - TextSection ƒ^ƒO‚É start_line ‘®«‚Æ end_line ‘®«‚ª‚ ‚é‚Æ‚« - SettingA.xml - - - <MixedText id="C_Type"><TextSection path="File1.txt" start_line="3" end_line="5"/> - <TextSection path="File2.txt" start_line="2" end_line="2"/> - </MixedText> - - - - B_1B_2 - B_3 - B_4 - B_5 - B_6 - - File2.txt - File1.txt - - - A_1A_2 - A_3 - A_4 - A_5 - A_6 - - - - - - - - - A_3A_4 - A_5 - B_2 - - o—Í“à—e - TextSection ƒ^ƒO‚É start_line ‘®«‚Æ end_line ‘®«‚ª‚ ‚é‚Æ‚«‚́Astart_line ‚©‚ç end_line ‚É‹Lq‚³‚ꂽs”ԍ†‚͈̔͂̃eƒLƒXƒg‚𒊏o‚µ‚Ü‚·B - - ¨ CreateFromTextSections ŠÖ” - - CreateFile ƒ^ƒO‚ª‚ ‚é‚ƁAo—̓tƒ@ƒCƒ‹‚̃pƒX‚Ì“ü—Í‚ðÈ—ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - CreateFile ƒ^ƒO‚ª‚ ‚é‚Æ‚« - - - <Root><CreateFile path="_out.txt" mixed_text_href="#C_Type"/> - - <MixedText id="C_Type"> - <TextSection path="File1.txt" start_line="3" end_line="5"/> - <TextSection path="File2.txt" start_line="2" end_line="2"/> - </MixedText> - - </Root> - - - - - - - - CreateTask - Žw’莞ŠÔ‚É‚P‰ñ‚¾‚¯ŽÀs‚·‚éƒ^ƒXƒN‚ðV‹K‚É“o˜^‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CreateTaskŽw’莞ŠÔ‚É‚P‰ñ‚¾‚¯ŽÀs‚·‚éƒ^ƒXƒN‚ðV‹K‚É“o˜^‚µ‚Ü‚·B - ƒ^ƒXƒN–¼i”CˆÓj>vbslib_test - ŽÀs‚·‚éƒRƒ}ƒ“ƒh>C:\Window\notepad.exe - —áF 13:00 ... ¡‚ªŒß‘O10Žž‚È‚çA¡“ú‚̌ߌã1Žž‚ÉŽÀs‚·‚é - —áF 1:00 ... ¡‚ªŒß‘O10Žž‚È‚çA–¾“ú‚̌ߑO1Žž‚ÉŽÀs‚·‚é - —áF +1:00 ... ¡‚©‚ç1ŽžŠÔŒã‚ÉŽÀs‚·‚é - ‚¢‚ÂŽÀs‚ðŠJŽn‚µ‚Ü‚·‚©>+0:01 - - CreateTask - ƒeƒXƒg - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ T_Task ƒtƒHƒ‹ƒ_ - - vbslib_test - C:\Window\notepad.exe - +0:01 - ŠÖ˜A - - ¨ SetTask - - - ¨ OpenTask - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - CutComment - - ¨ CutCommentC ŠÖ” - - ƒ\[ƒX ƒtƒ@ƒCƒ‹‚©‚çƒRƒƒ“ƒg‚ðíœ‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CutCommentCŒ¾Œê‚̃Rƒƒ“ƒgi/* */ ‚Æ // j‚ðíœ‚µ‚Ü‚·B - - ˆÈ‰º‚ɃtƒHƒ‹ƒ_[‚̃pƒX‚ð“ü—Í‚·‚é‚ƁA*.c, *.h, *.cpp ‚ɑ΂µ‚ďˆ—‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒXišã‘‚«‚µ‚Ü‚·j>C:\src - - íœ‘OF - - - // This is comment.int g = 0; - - /**************************** - * Function: Sample - *****************************/ - void Sample() - { - } - - íœŒãF - - - int g = 0; - void Sample() - { - } - - /* ‚©‚ç */ ‚̊ԂƁA// ‚©‚ç ‚»‚̍s––‚Ü‚Å‚ðAíœ‚µ‚Ü‚·BƒRƒƒ“ƒg‚¾‚¯‚©‚ç‚È‚és‚͍폜‚³‚êA‚»‚ê‚æ‚艺‚̍s‚͏ã‚É‹l‚ß‚ç‚ê‚Ü‚·B - /* ‚©‚ç */ ‚ÌŠÔ‚ª•¡”s‚Ì‚Æ‚«‚É‚à‘Ήž‚µ‚Ä‚¢‚Ü‚·B - ƒRƒƒ“ƒg‚Ì’†‚̃Rƒƒ“ƒg‹L†‚́A³‚µ‚­–³Ž‹‚µ‚Ü‚·B - /* ‚©‚ç */ ‚́AƒlƒXƒg‚µ‚È‚¢‚悤‚Ɉµ‚í‚ê‚Ü‚·B - ƒRƒƒ“ƒg‚ðíœ‚·‚é‘O‚Ì“à—e‚͏㏑‚«‚³‚ê‚Ä–³‚­‚È‚é‚̂ŁAƒoƒbƒNƒAƒbƒv‚ðŽæ‚Á‚Ä‚©‚çŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - in_Path ‚ɃtƒHƒ‹ƒ_[‚ðŽw’肵‚½‚Æ‚«‚́AƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚߂āAŠg’£Žq‚ª c ‚Æ h ‚Æ cpp ‚̃tƒ@ƒCƒ‹‚ðˆ—‘Ώۂɂµ‚Ü‚·B - ŠÖ˜A - C:\src - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ƒTƒ“ƒvƒ‹ - CutComment - - - - - - - - - - - - CutLineFeedAtRightEnd - ŽQl - - ¨ CutLineFeedAtRightEnd - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚̉E’[‚©‚ç‚ ‚ӂꂽ•¶Žš—ñ‚ð‚Ps‚É‚Ü‚Æ‚ß‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CutLineFeedAtRightEndƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚̉E’[‚©‚ç‚ ‚ӂꂽ•¶Žš—ñ‚ð‚Ps‚É‚Ü‚Æ‚ß‚Ü‚·B - ƒtƒ@ƒCƒ‹‚̃pƒX>Text.txt - - Enter ‚̂݁F80 - ‚Ps‚Ì•> - - CutLineFeedAtRightEnd - - - ABCDEFGHIJKLMNOPQRSTUVWXYZ - END - - - - - - - - - ABCDEFGHIJKLMNOPQRSTUVWXYZEND - - Text.txt - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - CutSharpIf - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - #ifdef ` #endif ‚ðƒJƒbƒg‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >CutSharpIf#ifdef ` #endif ‚ðƒJƒbƒg‚µ‚Ü‚·B - •ÏŠ·‚·‚éƒ\[ƒXƒtƒ@ƒCƒ‹‚̃pƒX >C:\Source.c - #define ƒVƒ“ƒ{ƒ‹ >MY_PRIVATE - - 1) ’è‹`‚³‚ê‚Ä‚¢‚é‚Æ‚«‚̃R[ƒh‚ðíœ‚·‚é - 0) ’è‹`‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚̃R[ƒh‚ðíœ‚·‚é - ”ԍ†‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ >1 - •ÏŠ·‚µ‚Ü‚µ‚½B - - CutSharpIf - C:\Source.c - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - MY_PRIVATE - ƒTƒ“ƒvƒ‹ - - - #ifdef MY_PRIVATE printf( "Private\n" ); - #else - printf( "Public\n" ); - #endif - - - - - - - - - printf( "Public\n" ); - - - ¨ T_CutSharpIf ƒtƒHƒ‹ƒ_[ - - ƒeƒXƒg - ŠÖ˜A - - ¨ CutSharpIf ŠÖ” - - ‘ΉžF #ifdef ` #endifA #ifndef ` #endifA #if ` #endif - #ifdef ` #else ` #endifA #ifndef ` #else ` #endifA #if ` #else ` #endif - - ”ñ‘ΉžF - #elif - - - - - - - DelTemp - - ¨ OpenTemp - - ŠÖ˜A - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - - ‚ðíœ‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >DelTemp - - DelTemp - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >diff[Diff] ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì”äŠr - ƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’è‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚Ö‚Ì‘Š‘΃pƒX‚̃x[ƒXƒtƒHƒ‹ƒ_[‚Æ‚µ‚ďˆ—‚µ - ‚Ü‚·B - path1>C:\FolderA - path2>C:\FolderB - - Enter ‚Ì‚Ý F 2‚‚̃tƒ@ƒCƒ‹‚Ì”äŠr - path3> - - “ü—Í‚µ‚½ƒx[ƒXƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - Enter ‚̂݁FI—¹ - path>C:\FolderA\File.txt - - Enter ‚̂݁FI—¹ - path> - - Diff - ‚Q‚A‚Ü‚½‚Í‚R‚‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̍·•ª‚ð•\Ž¦‚µ‚Ü‚·B - ŽQl - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >diff[Diff] ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì”äŠr - ƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’è‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚Ö‚Ì‘Š‘΃pƒX‚̃x[ƒXƒtƒHƒ‹ƒ_[‚Æ‚µ‚ďˆ—‚µ - ‚Ü‚·B - path1>C:\folder\file1.txt - path2>C:\folder\file2.txt - - Enter ‚Ì‚Ý F 2‚‚̃tƒ@ƒCƒ‹‚Ì”äŠr - path3> - - diff - C:\folder\file1.txt - C:\folder\file2.txt - - ¨ Setting_getDiffCmdLine - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - SVG ƒtƒ@ƒCƒ‹‚ðŽw’è‚·‚é‚ƁA‚»‚Ì SVG ƒtƒ@ƒCƒ‹‚Í Snap Note ‚©‚çì¬‚³‚ꂽ‚à‚Ì‚Æ‚µASnap Note ‚́u”äŠrƒc[ƒ‹—pƒeƒLƒXƒg‚ðo—́v‚µ‚½Œã‚̃eƒLƒXƒg‚ð”äŠr‚µ‚Ü‚·B - ƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’è‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚Ö‚Ì‘Š‘΃pƒX‚̃x[ƒXƒtƒHƒ‹ƒ_[‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B‰º‹L‚̏ꍇAC:\FolderA\File.txt ‚Æ C:\FolderB\File.txt ‚ð”äŠr‚µ‚Ü‚·B - “¯‚¶ƒx[ƒXƒtƒHƒ‹ƒ_[‚Ì‘g‚ݍ‡‚킹‚𑱂¯‚½‚¢‚Æ‚«‚ɁA–ˆ‰ñ‚Q‚‚܂½‚Í‚R‚‚̃tƒ@ƒCƒ‹‚ð - Žw’è‚·‚é•K—v‚ª–³‚­A‚Q‚‚܂½‚Í‚R‚‚̃tƒHƒ‹ƒ_[‚Ì’†‚Ì‚P‚‚̃tƒ@ƒCƒ‹‚¾‚¯Žw’è‚·‚ê‚΁A - ”äŠr‚ª‚Å‚«‚Ü‚·B - C:\FolderB - C:\FolderA - diff - C:\FolderA\File.txt - - ¨ SyncFilesX ƒc[ƒ‹ - - ŠÖ˜A - - ¨ SyncFilesT ƒc[ƒ‹ - - Žg—p‚·‚é Diff ƒc[ƒ‹‚̕ύX - - ¨ Rekisa - ƒeƒLƒXƒg”äŠrƒc[ƒ‹ - - - ¨ TortoiseMerge - ƒeƒLƒXƒg”äŠrƒc[ƒ‹ - - - - - - - - - - Diff1 - ƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚Ì 1s‚ð 1•¶Žš‚¸‚”äŠr‚µ‚Ü‚·B - ŽQl - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >Diff1ƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚Ì 1s‚ð 1•¶Žš‚¸‚”äŠr‚µ‚Ü‚·B - - Enter ‚Ì‚Ý: ƒNƒŠƒbƒvƒ{[ƒh‚É‚ ‚é2s‚̃eƒLƒXƒg‚ð”äŠr‚·‚é - \ ‚Ì‚Ý: I—¹ - ƒtƒ@ƒCƒ‹ 1 > C:\Base.txt - s”ԍ† 1 > 2 - ƒtƒ@ƒCƒ‹ 2 > C:\New.txt - s”ԍ† 2 > 2 - - Diff1 - - ¨ Setting_getDiffCmdLine - - Žg—p‚·‚é Diff ƒc[ƒ‹‚̕ύX - ŠÖ˜A - - ¨ GetDiffOneLineCmdLine ŠÖ” - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - C:\Base.txt - C:\New.txt - ˆê”Ê“I‚È diff ƒc[ƒ‹‚ðŽg‚Á‚āA‰º‹L‚̂悤‚ɍ·•ª‚ªŒ©‚‚©‚Á‚½‚Æ‚«A - ‚»‚̍s‚ɑ΂µ‚Ä Diff1 ƒRƒ}ƒ“ƒh‚ðŽg‚¤‚ƁA‰º‹L‚̂悤‚É•\Ž¦‚³‚ê‚Ü‚·B - ƒeƒXƒg - - ¨ T_fc_Manually.vbs - - T_Diff1 - - ¨ T_AssertFC ƒtƒHƒ‹ƒ_[ - - 2 - 2 - - - - - - - - DiffClip - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒ@ƒCƒ‹‚ðŽg‚Á‚āA‚Q‚A‚Ü‚½‚Í‚R‚‚̃eƒLƒXƒg‚̍·•ª‚ð•\Ž¦‚µ‚Ü‚·B - ŽQl - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >DiffClip[DiffClip] ƒeƒLƒXƒg‚Ì”äŠr - ŽŸ‚É•\Ž¦‚³‚ê‚éƒtƒ@ƒCƒ‹‚ɁA”äŠr‚·‚éƒeƒLƒXƒg‚Ì‚P‚–ڂð•Û‘¶‚µ‚Ä‚­‚¾‚³‚¢B - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - ŽŸ‚É•\Ž¦‚³‚ê‚éƒtƒ@ƒCƒ‹‚ɁA”äŠr‚·‚éƒeƒLƒXƒg‚Ì‚Q‚–ڂð•Û‘¶‚µ‚Ä‚­‚¾‚³‚¢B - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - ‚Q‚‚̃tƒ@ƒCƒ‹‚Ì”äŠr‚Å‚·‚©[Y/N] - - ˆêŽž“I‚É•Û‘¶‚µ‚½ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·‚©[Y/N] - - DiffClip - - ¨ Setting_getDiffCmdLine - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - DoTextShrink - - ¨ DoTextShrink ŠÖ” - - ŠÖ˜A - - - <?xml version="1.0" encoding="Shift_JIS"?><txmx:TextSectionMixer xmlns:txmx="http://sage-p.com/TextSectionMixer/2015"> - - <txmx:SourceFile path="LibraryFolder\*" - base_path="LibraryFolder" shrinked_path="_shrinked" cache_path="_txsc"/> - - <txmx:Project> - <txmx:CallerFile>MainFolder\*</txmx:CallerFile> - </txmx:Project> - </txmx:TextSectionMixer> - - .txmx ƒtƒ@ƒCƒ‹iÝ’èƒtƒ@ƒCƒ‹j‚Ì—á - txmx:SourceFile - txmx:Project - @path - @base_path - @shrinked_path - @cache_path - - ¨ T_TextShrink ƒtƒHƒ‹ƒ_[ - - ƒ†[ƒU[‚ªŽg—p‚µ‚Ä‚¢‚È‚¢ƒZƒNƒVƒ‡ƒ“‚ðíœ‚·‚éAƒtƒ@ƒCƒ‹‚ÉŠÖ‚·‚éÝ’èBŒÄ‚яo‚µæ‚̊֐”‚ȂǁB - ƒ†[ƒU[‚ªŽg—p‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©‚́AƒZƒNƒVƒ‡ƒ“–¼‚ªƒ†[ƒU[‚̃tƒ@ƒCƒ‹‚É - ’PŒê’PˆÊE‘啶Žš¬•¶Žš‹æ•Ê‚Å‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚Å”»’肳‚ê‚Ü‚·B - “ü—̓tƒ@ƒCƒ‹‚̃pƒXB - “ü—̓tƒ@ƒCƒ‹‚̃x[ƒX ƒtƒHƒ‹ƒ_[‚̃pƒXB“üo—̓tƒ@ƒCƒ‹‚́A@shrinked_path ‚â @cache_path ‚©‚ç‚Ì‘Š‘΃pƒX - ‚ªˆê’v‚µ‚Ü‚·B - o—̓tƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒx[ƒX ƒtƒHƒ‹ƒ_[‚̃pƒXBÈ—ªŽž‚́A“ü—̓tƒ@ƒCƒ‹‚ɏo—Í‚·‚éB - ƒZƒNƒVƒ‡ƒ“‚ÉŠÖ‚·‚é’†ŠÔƒtƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒx[ƒX ƒtƒHƒ‹ƒ_[‚̃pƒX - txmx:CallerFile - ƒ†[ƒU[‚̃tƒ@ƒCƒ‹‚̃pƒXB •¡”‰Â”\B - ƒTƒ“ƒvƒ‹ - - - #include <stdio.h> - /* - * Function: FuncA - */ - void FuncA() {} - - /* - * Function: FuncB - */ - void FuncB() {} - - /* - * End of File: - */ - - SourceFile ‚ÉŽw’è‚·‚éƒtƒ@ƒCƒ‹i“ü—́j - CallerFile ‚ÉŽw’è‚·‚éƒtƒ@ƒCƒ‹ - - - void main(){ - FuncB(); - } - - shrinked_path ‚ÉŽw’è‚·‚éƒtƒ@ƒCƒ‹io—́j - - - #include <stdio.h> - /* - * Function: FuncB - */ - void FuncB() {} - - /* - * End of File: - */ - - - - - - - CallerFile ‚É FuncB ‚ª‚ ‚邽‚߁AFuncB ‚̃ZƒNƒVƒ‡ƒ“‚ÍŽc‚è‚Ü‚·B - ’PŒê’PˆÊE‘啶Žš¬•¶Žš‹æ•Ê‚Å”»’肵‚Ü‚·B - SourceFile ‚Ì’†‚Ì NaturalDocs ƒRƒƒ“ƒg‚Ì’†‚É - FuncA ‚ª‚ ‚Á‚Ä‚àAŽg—p‚µ‚Ä‚¢‚È‚¢‚Æ‚µ‚Ä FuncA ‚ð - íœ‚µ‚Ü‚·B - - Å‰‚Ì NaturalDocs ƒRƒƒ“ƒg‚æ‚è‘O‚ƁA - File ‚̃Rƒƒ“ƒg‚̃ZƒNƒVƒ‡ƒ“‚ƁA - End of File ‚̃Rƒƒ“ƒg‚̃ZƒNƒVƒ‡ƒ“‚́A - Žg—p‚µ‚Ä‚¢‚È‚­‚Ä‚àŽc‚è‚Ü‚·B - Žg—p‚µ‚Ä‚¢‚È‚¢ƒZƒNƒVƒ‡ƒ“iCŒ¾Œê‚Ì NaturalDocs ‚Å‹æØ‚Á‚½ƒ\[ƒX ƒtƒ@ƒCƒ‹j‚ðíœ‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >DoTextShrinkƒZƒNƒVƒ‡ƒ“iNaturalDocs ‚Å‹æØ‚Á‚½ƒ\[ƒX ƒtƒ@ƒCƒ‹j‚Ì‚¤‚¿AŽg—p‚µ‚Ä‚¢‚È‚¢ƒZƒNƒV - ƒ‡ƒ“‚ðíœ‚µ‚Ü‚·B - .txmx ƒtƒ@ƒCƒ‹‚̃pƒX >Shrink.txmx - - Shrink.txmx - DoTextShrink - - ¨ Natural Docs - - ŽQl - CallerFile ‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚Ì’†‚ɁA“ü—̓tƒ@ƒCƒ‹iSourceFile/@pathj‚ª‚ ‚é‚悤‚ɐݒ肷‚邱‚Æ‚à‚Å‚«‚Ü‚·B ‚±‚̏ꍇA‚·‚ׂẴZƒNƒVƒ‡ƒ“‚ª - Žg—p‚µ‚Ä‚¢‚éƒZƒNƒVƒ‡ƒ“‚É‚È‚ç‚È‚¢‚悤A“ü—̓tƒ@ƒCƒ‹‚ÍŽg—p‚µ‚Ä‚¢‚é - ƒtƒ@ƒCƒ‹‚Å‚Í‚È‚­‚È‚è‚Ü‚·B - - vbslib ‚̃ƒCƒ‹ƒhƒJ[ƒh‚ðŽw’è‰Â”\ - - - vbslib ‚̃ƒCƒ‹ƒhƒJ[ƒh‚ðŽw’è‰Â”\ - - - ¨ MakeCrossedOldSections - - ŒÄ‚яo‚µŒ³‚̊֐”‚ȂǁB - txmx:UseSymbol - text() - ƒvƒƒWƒFƒNƒg‚ɒljÁ‚·‚éƒVƒ“ƒ{ƒ‹B ŠÖ”–¼‚ȂǁB - - - - - - - doxygen - ŠÖ˜A - - ¨ NaturalDocs - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >doxygenƒ\[ƒXƒtƒ@ƒCƒ‹‚É‚ ‚éƒRƒƒ“ƒg‚ð HTML ‚É•ÏŠ·‚µ‚Ü‚·B - ƒ\[ƒXƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒX>C:\src - HTML ‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒXišã‘‚«‚µ‚Ü‚·j>C:\_html - - ƒ\[ƒXƒtƒ@ƒCƒ‹‚̃Rƒƒ“ƒg‚©‚çƒhƒLƒ…ƒƒ“ƒg‚𐶐¬‚µ‚Ü‚·B - doxygen - ŽQl - - ¨ doxygen - - - ¨ MakeDocumentBy_doxygen ŠÖ” - - - ¨ ConvertDocumetCommentFormat - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - C:\src - C:\_html - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ‚µ‚½‚Æ‚«A/silent ƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚é‚ƁAƒuƒ‰ƒEƒU[‚ªŠJ‚©‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚çŽÀs - - - - - - - - EvaluateByVariableXML - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >EvaluateByVariableXML${ } Œ`Ž®‚̕ϐ”‚ª’è‹`‚³‚ꂽ XML ‚ðŽQl‚ɁAƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚Ì’†‚̕ϐ”‚ð’l‚É’u‚«Š·‚¦‚Ü‚·B - - •Ï”‚ª’è‹`‚³‚ꂽ XML ƒtƒ@ƒCƒ‹‚̃pƒX> C:\Folder\variable.xml - ’u‚«Š·‚¦‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒX> C:\Folder\Text.txt - - ${ } Œ`Ž®‚̕ϐ”‚ª’è‹`‚³‚ꂽ XML ‚ðŽQl‚ɁAƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚Ì’†‚̕ϐ”‚ð’l‚É’u‚«Š·‚¦‚Ü‚·B - EvaluateByVariableXML - ŽQl - - ¨ Variable ƒ^ƒO - - - - <Variable name="${Var1}" value="ABC"/><Variable name="${Var2}" value="DEF"/> - - ${Var1}${Var2} - ƒTƒ“ƒvƒ‹ - variable.xml ƒtƒ@ƒCƒ‹ - ’u‚«Š·‚¦‚é‘O‚Ì Text.txt ƒtƒ@ƒCƒ‹ - - - Var1 = ${Var1}Var2 = ${Var2} - - ’u‚«Š·‚¦‚½Œã‚Ì Text.txt ƒtƒ@ƒCƒ‹ - - - Var1 = ABCVar2 = DEF - - ƒeƒXƒg - - ¨ T_LazyDictionary.vbs - - T_EvaluateByVariableXML_sth - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ŠÖ˜A - - ¨ ReplaceSymbols - - - - - - - - fc - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >fc[fc] Compare text file - path1>C:\folder\file1.txt - - “ü—Í—áF Shift_JIS, EUC-JP, Unicode, UTF-8, UTF-8-No-BOM, ISO-8859-1 - Enter ‚Ì‚Ý F Ž©“®”»’è - •¶ŽšƒR[ƒhƒZƒbƒg > - - path2>C:\folder\file2.txt - - •¶ŽšƒR[ƒhƒZƒbƒg > - - same text, same binary. - - ‚Q‚‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚ð”äŠr‚µ‚Ü‚·B - ŽQl - - ¨ IsSameTextFile - - fc - C:\folder\file1.txt - C:\folder\file2.txt - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ŠÖ˜A - - ¨ feq - - - - - - - - fdiv - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >fdiv•ªŠ„‚·‚éƒtƒ@ƒCƒ‹ >C:\folder\file1.txt - •ªŠ„Œã‚Ì‚P‚‚̃tƒ@ƒCƒ‹EƒTƒCƒY(MB) >500 - Reading file1.txt ... - Writing file1.txt.001 ... - Saving file1.txt.001 ... - Writing file1.txt.002 ... - Saving file1.txt.002 ... - CreateFile file1_resume.bat - OK. - - ‘å‚«‚ȃtƒ@ƒCƒ‹‚𕪊„‚µ‚Ü‚·BŒ‹‡‚·‚éƒoƒbƒ`ƒtƒ@ƒCƒ‹‚à¶¬‚µ‚Ü‚·B - fdiv - C:\folder\file1.txt - 500 - ŠÖ˜A - - ¨ WriteFromBinaryArray (BinaryArray) - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ƒƒ‚ƒŠ[‚æ‚è‘å‚«‚¢ƒtƒ@ƒCƒ‹‚ɂ͑Ήž‚µ‚Ä‚¢‚Ü‚¹‚ñB - - - - - - - feq - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >feq[feq] ‚Q‚‚̃oƒCƒiƒŠƒtƒ@ƒCƒ‹A‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª“¯‚¶‚©‚Ç‚¤‚©‚𒲂ׂ܂·B - path1>C:\folder\file1.txt - path2>C:\folder\file2.txt - same. - - ‚Q‚‚̃oƒCƒiƒŠƒtƒ@ƒCƒ‹A‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª“¯‚¶‚©‚Ç‚¤‚©‚𒲂ׂ܂·B - ŽQl - - ¨ IsSameBinaryFile - - feq - C:\folder\file1.txt - C:\folder\file2.txt - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - FindFile - ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚ðŒŸõ‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >FindFile’T‚·êŠiƒtƒHƒ‹ƒ_‚̃pƒXj>FolderA - ƒtƒ@ƒCƒ‹–¼‚Ì‚·‚ׂĂ܂½‚͈ꕔ>1 - - C:\Folder\FolderA\1.txt - C:\Folder\FolderA\sub\1.txt - - FindFile - ƒeƒXƒg - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ T_FindFile ƒtƒHƒ‹ƒ_ - - find - ’T‚·êŠ‚ð“ü—Í‚·‚é‚Æ‚«‚́AƒtƒHƒ‹ƒ_[‚ðƒGƒNƒXƒvƒ[ƒ‰[‚©‚çƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚µ‚Ä“ü—Í‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ƒtƒ@ƒCƒ‹–¼‚ð”äŠr‘ΏۂƂµ‚Ü‚·B ƒtƒ@ƒCƒ‹‚Ì“à—e‚Í”äŠr‚µ‚Ü‚¹‚ñB - - ¨ grep - - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - FindFile_Install - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >FindFile_Install------------------------------------------------------------------------------- - ƒtƒHƒ‹ƒ_[‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚ɁA[ ƒtƒ@ƒCƒ‹–¼‚©‚猟õ ] ‚ð’ljÁ‚µ‚Ü‚·B - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - FindFile_Install - ƒtƒHƒ‹ƒ_[‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚ɁA[ ƒtƒ@ƒCƒ‹–¼‚©‚猟õ ] ‚ð’ljÁ‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - FindFile_Uninstall - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >FindFile_Uninstall------------------------------------------------------------------------------- - ƒtƒHƒ‹ƒ_[‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚©‚çA[ ƒtƒ@ƒCƒ‹–¼‚©‚猟õ ] ‚ðíœ‚µ‚Ü‚·B - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . + - - FindFile_Uninstall - ƒtƒHƒ‹ƒ_[‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚©‚çA[ ƒtƒ@ƒCƒ‹–¼‚©‚猟õ ] ‚ðíœ‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - GetHash - ƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’liMD5‚Ȃǁj‚ð•\Ž¦‚µAƒNƒŠƒbƒvƒ{[ƒh‚É“ü‚Á‚Ä‚¢‚éƒnƒbƒVƒ…’l‚Æ”äŠr‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >GetHash------------------------------------------------------------------------------- - ƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’liMD5‚Ȃǁj‚ð•\Ž¦‚µAƒNƒŠƒbƒvƒ{[ƒh‚É“ü‚Á‚Ä‚¢‚éƒnƒbƒVƒ…’l‚Æ - ”äŠr‚µ‚Ü‚·B - ƒƒ‚ƒŠ[•s‘«‚É‚È‚Á‚½‚Æ‚«‚́AGetHashPS ƒRƒ}ƒ“ƒh‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ƒtƒ@ƒCƒ‹‚̃pƒX>C:\Folder\Sample.zip - MD5: 5c1d447971bc0c49f09b2e965ac4ed37 - SHA1: 9a2bc4d84e027936ff81b9ddabc453806f768410 - SHA256: 0253329bb1c815e1815b0e2e0eadcb8a91e0f322ca38063b8eae4b5264a8457c - SHA384: 0ac25937d851e26f3ebc0a9913e62f8dfc70de5305121e9458c28649e0b73101a1d57d34 - 9dbdedb9dcb3e0ea598608d1 - SHA512: 2ceba6d566b4d8155e655470665f86e2c6464e4dfc654fecf5f04e47336857727e813922 - b72074425a8f75df7d250fcc0a875aa48dc14dc1fd836e12017b3cf1 - RIPEMD160: 04d95f54d38558e9018dcc336a5bfe6d37038808 - - ƒNƒŠƒbƒvƒ{[ƒh‚Ì“à—e‚ƈê’v‚·‚éƒnƒbƒVƒ…’l‚́AMD5 ‚Å‚·B - - GetHash - C:\Folder\Sample.zip - ã‹L‚́AƒNƒŠƒbƒvƒ{[ƒh‚ɁAƒeƒLƒXƒg 5c1d447971bc0c49f09b2e965ac4ed37 ‚ª“ü‚Á‚Ä‚¢‚é‚Æ‚«‚Ì•\Ž¦‚Å‚·B - ŠÖ˜A - - ¨ MD5 (BinaryArray) - - - ¨ GetVersionString ƒTƒ“ƒvƒ‹ - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ MD5List - - GetHashPS - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >GetHashPS------------------------------------------------------------------------------- - ƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’liMD5‚Ȃǁj‚ð•\Ž¦‚µAƒNƒŠƒbƒvƒ{[ƒh‚É“ü‚Á‚Ä‚¢‚éƒnƒbƒVƒ…’l‚Æ - ”äŠr‚µ‚Ü‚·Bi‘å—e—ʃtƒ@ƒCƒ‹‘Ήž”Łj - ƒtƒ@ƒCƒ‹‚̃pƒX>C:\Folder\Sample.zip - 1. MD5 - 2. SHA1 - 3. SHA256 - 4. SHA384 - 5. SHA512 - 6. RIPEMD160 - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >1 - FAB1775D0F32382B07B3763E134E4E63FECA6592 - ƒNƒŠƒbƒvƒ{[ƒh‚Ì“à—e‚ƈê’v‚µ‚Ü‚µ‚½B - - C:\Folder\Sample.zip - 1 - GetHashPS - GetHash ƒRƒ}ƒ“ƒh‚сƒ‚ƒŠ[•s‘«‚É‚È‚Á‚½‚Æ‚«‚́AGetHashPS ƒRƒ}ƒ“ƒh‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - - - - - GetStepPath - ƒtƒ‹EƒpƒX‚©‚ç‘Š‘΃pƒX‚É•ÏŠ·‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >GetStepPathƒtƒ‹EƒpƒX‚©‚ç‘Š‘΃pƒX‚É•ÏŠ·‚µ‚Ü‚·B - ƒtƒ‹EƒpƒX>C:\FolderA\File.txt - Šî€ƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX>C:\FolderB - ..\FolderA\File.txt - - GetStepPath - ƒeƒXƒg - - ¨ T_GetStepPath ƒtƒHƒ‹ƒ_ - - C:\FolderA\File.txt - C:\FolderB - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ GetStepPath ŠÖ” - - ŠÖ˜A - - - - - - - GetShortPath - ’Z‚¢ƒtƒ@ƒCƒ‹EƒpƒXi8.3Œ`Ž®j‚É•ÏŠ·‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >GetShortPath’Z‚¢ƒpƒXiƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Ì 8.3Œ`Ž®ƒpƒXj‚É•ÏŠ·‚µ‚Ü‚·B - i’·‚¢jƒtƒ‹EƒpƒX>C:\Documents and Settings\File.txt - C:\DOCUME~1\File.txt - - GetShortPath - C:\Documents and Settings\File.txt - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - grep - - ¨ grep ŠÖ” - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >grep[grep] ƒtƒ@ƒCƒ‹‚Ì’†‚̃eƒLƒXƒg‚ðŒŸõ‚µ‚Ü‚· - ŒŸõ‘ΏۃtƒHƒ‹ƒ_[A‚Ü‚½‚̓tƒ@ƒCƒ‹ >C:\FolderA - - ³‹K•\Œ»‚Ì ƒƒ^•¶Žš ˆê——F. $ ^ { } [ ] ( ) | * + ? \ - ƒL[ƒ[ƒhi³‹K•\Œ»j>3\.14 - - Žg‚¦‚éƒIƒvƒVƒ‡ƒ“ F -u, -i, -l, -L - ƒIƒvƒVƒ‡ƒ“ > - - Enter ‚Ì‚Ý F •\Ž¦‚Ì‚Ý - Œ‹‰Ê‚̏o—͐æƒtƒ@ƒCƒ‹iã‘‚«‚µ‚Ü‚·j> - - >grep -r 3\.14 "C:\FolderA\*" - C:\FolderA\readme.txt:13: PI // 3.14 - C:\FolderA\RepliCmpLib.vbs:118: PI = 3.1415926535 - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ðŒŸõ‚µ‚Ü‚·Bgrep ‚́AƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì find ƒRƒ}ƒ“ƒh‚ð“à•”‚ÅŽg—p‚·‚éê‡‚à‚ ‚è‚Ü‚·B - ŽQl - grep - C:\FolderA - 3\.14 - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ T_Grep.vbs - - ƒeƒXƒg - T_grep_sth - - ¨ RegExpTest - - ŠÖ˜A - ³‹K•\Œ»‚Ń}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ðƒeƒXƒg - - ¨ FindStringLines ŠÖ” - - ŒŸõ‘Ώۂªƒtƒ@ƒCƒ‹‚Ì‚Æ‚«‚́Aƒtƒ@ƒCƒ‹‚̃pƒX‚ðo—Í‚µ‚Ü‚¹‚ñ‚ªs”ԍ†‚ðo—Í‚µ‚Ü‚·B - - - - - - - InfiniteLoop - CPU‚𑖂点‘±‚¯‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >InfiniteLoopInfinite Loop ... - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - CPU ‚É•‰‰×‚ð‚©‚¯‚Ü‚·B - - - - - - - MakeNewPrompt - ‚ðV‹Kì¬‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >MakeNewPrompt - Enter ‚Ì‚Ý : ƒfƒXƒNƒgƒbƒv‚É Prompt.vbs ‚ðì¬‚µ‚Ü‚·B - ì¬‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX>C:\FolderA\Prompt.vbs - - MakeNewPrompt - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - C:\FolderA\Prompt.vbs - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - - ¨ InputCommand - - ŽQl - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenFolder - - OpenFolder - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚É“ü—Í‚µ‚½ƒRƒ}ƒ“ƒh‚É‚æ‚Á‚āAŒÄ‚΂ê‚éŠÖ”‚́AƒRƒ}ƒ“ƒh–¼‚Æ“¯‚¶–¼‘O‚̊֐”‚Å‚·B ƒpƒ‰ƒ[ƒ^[‚Í main ‚Æ“¯‚¶‚­ Opt ‚Æ AppKey ‚ō\¬‚³‚ê‚Ä‚¢‚Ü‚·B - - - Sub OpenFolder( Opt, AppKey ) Set c = g_VBS_Lib - path = InputPath( "ƒtƒ@ƒCƒ‹‚̃pƒX>", c.CheckFolderExists ) - Setting_openFolder path - End Sub - - OpenFolder - - Setting_openFolder - - - InputPath - - ƒXƒNƒŠƒvƒg‚Ì‹LqêŠ - i—áj - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >MakeNewScript------------------------------------------------------------------------------- - ((( [MakeVbsLibSample] ))) - ‚ǂ̃^ƒCƒv‚̃tƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·‚© - 1. ƒVƒ“ƒvƒ‹ vbslib ƒXƒNƒŠƒvƒg - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . 1 - - Enter ‚Ì‚Ý : ƒfƒXƒNƒgƒbƒv‚É sample.vbs ‚ðì¬‚µ‚Ü‚·B - ì¬‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX> - >copy_ren "samples\sample.vbs", "C:\Users\user1\Desktop\sample.vbs" - ------------------------------------------------------------------------------- - vbs ƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚µ‚½B - ƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ŁAvbs ƒtƒ@ƒCƒ‹‚̍Ōã‚É‚ ‚é main2 ŠÖ”‚ð•ÒW‚µ‚Ä‚­‚¾‚³‚¢B - vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƕҏW‚µ‚½“à—e‚ðŽÀs‚µ‚Ü‚·B - - MakeNewScript - ƒƒCƒ“EƒXƒNƒŠƒvƒg‚ðV‹Kì¬‚µ‚Ü‚·B - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - MakeNewScript - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ MakeNewPrompt - - ŠÖ˜A - - - - - - - MD5List - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >MD5List------------------------------------------------------------------------------- - ((( [MD5List] ))) - 1) [make] MD5ƒŠƒXƒg‚ðì¬‚µ‚Ü‚· - 2) [check] MD5ƒŠƒXƒg‚ðƒ`ƒFƒbƒN‚µ‚Ü‚· - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >1 - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃pƒX >C:\Folder - MD5 ƒŠƒXƒg‚̃tƒ@ƒCƒ‹ ƒpƒXio—͐æj>C:\MD5.txt - - MD5 ƒŠƒXƒg‚ðì¬‚Ü‚½‚̓`ƒFƒbƒN‚µ‚Ü‚·B - MD5List - ŠÖ˜A - - ¨ MD5 ƒŠƒXƒg - - - ¨ GetHash - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - mkdir - ƒeƒXƒg - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - wscript "C:\.......\vbslib new\vbslib Prompt.vbs" mkdir - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >mkdir[MkDir] make directory - ‘Š‘΃pƒX‚ðŽg‚Á‚ătƒHƒ‹ƒ_[‚ðì‚è‚Ü‚· - ‘Š‘΃pƒX‚̊ƒtƒHƒ‹ƒ_ >C:\FolderA - ì¬‚·‚éƒtƒHƒ‹ƒ_‚Ì‘Š‘΃pƒX >a\b - Open folder "C:\FolderA\a\b" - - ‘Š‘΃pƒX‚ðŽg‚Á‚ătƒHƒ‹ƒ_[‚ðì‚è‚Ü‚·B - mkdir - C:\FolderA - a\b - u‘—‚év ƒƒjƒ…[‚©‚ç mkdir ƒRƒ}ƒ“ƒh‚ðŽg‚¦‚é‚悤‚É‚·‚é‚É‚Í - vbslib Prompt.vbs ƒtƒ@ƒCƒ‹‚ւ̃Vƒ‡[ƒgƒJƒbƒgEƒtƒ@ƒCƒ‹‚ð - - OpenSendTo - - ‚Å•\Ž¦‚³‚ê‚éƒtƒHƒ‹ƒ_[ - ‚Ì’†‚ɍ쐬‚µ‚āAƒVƒ‡[ƒgƒJƒbƒgEƒtƒ@ƒCƒ‹‚̃tƒ@ƒCƒ‹–¼‚ð umkdirv ‚É•Ï‚¦‚āAƒVƒ‡[ƒgƒJƒbƒgEƒtƒ@ƒCƒ‹‚ð‰EƒNƒŠƒbƒN [ ƒvƒƒpƒeƒB > ƒŠƒ“ƒNæ ] ‚̐擪‚ɁAuwscriptv‚Æ‹ó”’•¶ŽšA––”ö‚É - ‹ó”’•¶Žš‚Æ umkdirv ‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B - ƒtƒHƒ‹ƒ_[‚ð‰EƒNƒŠƒbƒN‚µ‚Ä [ ‘—‚é > mkdir ] ‚©‚ç‹N“®‚µ‚½ê‡A‘Š‘΃pƒX‚̊ƒtƒHƒ‹ƒ_[‚Ì“ü—Í‚ª•s—v‚É‚È‚è‚Ü‚·B - - ¨ T_mkdir ƒtƒHƒ‹ƒ_ - - ƒ\[ƒX - ŠÖ˜A - - ¨ mkdir ŠÖ” - - - - - - - - - - - - - - - - - - - - - - - - - - - - ModuleAssort2 - - - ƒAƒ‹ƒtƒ@”Å - - ŠÈˆÕƒo[ƒWƒ‡ƒ“ŠÇ—•\¬ŠÇ—ƒc[ƒ‹B - A_Project - A_Source.c - A_Part - B_Part - B_Source.c - A_Part - A_Source.c - B_Project - Masters - ModuleA - 01 - A_Source.c - c ƒŠƒrƒWƒ‡ƒ“ - Projects.moas - c Ý’èƒtƒ@ƒCƒ‹ - c - MD5List.txt - ModuleB - B_Source.c - 01 - c ƒŠƒrƒWƒ‡ƒ“ - - - - - - - - - - - - - - - - - - - - - - - ModuleAssort (ver.1) - - Assort ƒRƒ}ƒ“ƒh‚́Aƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚郂ƒWƒ…[ƒ‹‚ðXV‚·‚éì‹Æ‚ðŽx‰‡‚µ‚Ü‚·B Commit ƒRƒ}ƒ“ƒh‚́AƒvƒƒWƒFƒNƒg‚̍\¬‚ð‹L˜^‚µACheckOut ƒRƒ}ƒ“ƒh‚Å•œ‹A‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - - Assort ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ƁAƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éƒtƒ@ƒCƒ‹‚ƁAƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[‚Ì - ’†‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì”äŠr‚ðs‚¢A•ÏX‚ª‚ ‚Á‚½ƒ‚ƒWƒ…[ƒ‹‚ªˆê——‚³‚ê‚Ü‚·B - - V‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚ðì¬‚·‚é‚Æ‚«‚́A‚Ü‚¸A‚±‚ê‚©‚çì‚éV‚µ‚¢ƒvƒƒWƒFƒNƒg‚Æ‚»‚ê‚ð\¬‚·‚郂ƒWƒ…[ƒ‹ - ‚ɂ‚¢‚Đݒèƒtƒ@ƒCƒ‹‚É’Ç‹L‚µ‚Ü‚·B ‚½‚¾‚µAV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚̃‚ƒWƒ…[ƒ‹‚̃tƒHƒ‹ƒ_[‚́AÝ’è - ƒtƒ@ƒCƒ‹‚É‹Lq‚µ‚½ƒtƒHƒ‹ƒ_[–¼‚Å‚Í‚È‚­AWork ‚Æ‚¢‚¤ƒtƒHƒ‹ƒ_[–¼‚É‚µ‚Ä‚­‚¾‚³‚¢B ‚»‚µ‚āAWork - ƒtƒHƒ‹ƒ_[‚Ì’†‚Ƀ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚éƒtƒ@ƒCƒ‹‚ðA”CˆÓ‚Ì“à—e‚ō쐬‚µ‚Ü‚·B ‘½‚­‚̏ꍇA‘O‚Ì - ƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚ðƒRƒs[‚·‚邾‚¯‚Å‚·B ‚»‚ÌŒãAAssort ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ƁAWork ƒtƒHƒ‹ƒ_[ - ‚É‚ ‚éƒtƒ@ƒCƒ‹‚¾‚¯‚ªƒvƒƒWƒFƒNƒg‚©‚çƒRƒs[‚³‚ê‚Ü‚·B ƒ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚éƒtƒ@ƒCƒ‹‚𑝌¸‚³‚¹ - ‚½‚¢‚Æ‚«‚́AWork ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚ðŽè“®‚Å‘Œ¸‚³‚¹‚čēx Assort ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ä - ‚­‚¾‚³‚¢B - - Work ƒtƒHƒ‹ƒ_[‚ªV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚Ì“à—e‚É‚È‚Á‚½‚çAƒtƒHƒ‹ƒ_[–¼‚ðÝ’èƒtƒ@ƒCƒ‹‚É‹Lq‚µ‚½ - ÅV‚̃ŠƒrƒWƒ‡ƒ“–¼‚ɕύX‚µ‚āAÄ“x Assort ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B ƒ}ƒXƒ^[‚ƃvƒƒWƒFƒNƒg‚Ì - ŠÔ‚Å”äŠr‚ªs‚í‚êAˆá‚¢‚ªŒŸo‚³‚ê‚È‚­‚È‚Á‚½‚çACommit ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B ƒvƒƒWƒFƒNƒg - ‚̃tƒ@ƒCƒ‹\¬‚ª‹L˜^‚³‚êACheckOut ƒRƒ}ƒ“ƒh‚ŃvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚ª•œ‹A‚Å‚«‚é‚悤‚É‚·‚é - ‚½‚߂̏ˆ—‚ªs‚í‚ê‚Ü‚·B - - ‚È‚¨AAssort ƒRƒ}ƒ“ƒh‚ł́A•Ê‚̃vƒƒWƒFƒNƒg‚É‚æ‚Á‚čì‚ç‚ꂽÅVƒ‚ƒWƒ…[ƒ‹‚Ì—L–³‚̃`ƒFƒbƒN‚à - s‚í‚ê‚Ü‚·B ‚½‚¾‚µAÅVƒ‚ƒWƒ…[ƒ‹‚ª‚ ‚Á‚Ä‚àA‚·‚®‚ɍXV‚Í‚µ‚È‚¢‚ŁAˆê“x Commit ‚µ‚Ä‚¨‚¢‚½ - ‚Ù‚¤‚ª‚æ‚¢‚Å‚µ‚傤B - - - –¢‘Ήž - - CheckOut ƒRƒ}ƒ“ƒh‚́A‰ß‹Ž‚ɃRƒ~ƒbƒg‚µ‚½ƒvƒƒWƒFƒNƒg‚̃tƒHƒ‹ƒ_[‚𕜋A‚µ‚Ü‚·B ‚»‚Ì“à•”‚ł́Aƒ‚ƒWƒ…[ƒ‹‚̃^[ƒQƒbƒg‚⃊ƒrƒWƒ‡ƒ“‚²‚Ƃɐ®—‚³‚ꂽuƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[v‚©‚ç - W‚߂ăRƒs[‚·‚鏈—‚ªs‚í‚ê‚Ü‚·B - CheckOut ƒRƒ}ƒ“ƒh - - - <?xml version="1.0" encoding="UTF-8"?><ModuleAssort2_Projects> - - <ProjectTag name="Project-A" value="Project-A\01"/> - <ProjectTag name="Project-B" value="Project-B\02"/> - - <Variable name="${Masters}" value="Masters" type="FullPathType"/> - <Variable name="${ProjA}" value="ProjectA" type="FullPathType"/> - <Variable name="${ProjB}" value="ProjectB" type="FullPathType"/> - <Variable name="${B}" value="B"/> - - <Project name="Project-A\01" path="${ProjA}"> - <Module master="${Masters}\ModuleA\01" project="."/> - </Project> - - <Project name="Project-B\02" path="${ProjB}"> - <Module master="${Masters}\ModuleA\02" project="."/> - <Module master="${Masters}\ModuleB\02" project="${B}"/> - </Project> - <Project name="Project-B\01" path="${ProjB}"> - ModuleA <Module master="${Masters}\ModuleA\01" project="."/> - ModuleB <Module master="${Masters}\ModuleB\01" project="${B}"/> - </Project> - - <Fragment list="${Masters}\MD5List.txt"/> - </ModuleAssort2_Projects> - - ƒTƒ“ƒvƒ‹ - Projects.moas - ModuleAssort2 Ý’èƒtƒ@ƒCƒ‹ - <ProjectTag> ƒ^ƒO‚ŁAProject-A ‚â Project-B ‚̃fƒtƒHƒ‹ƒg ƒŠƒrƒWƒ‡ƒ“iÅV‚̈À’è”Łj ‚ª‚Ç‚ê‚Å‚ ‚é‚©‚ɂ‚¢‚Ä‹Lq‚µ‚Ä‚¢‚Ü‚·B - <Project> ƒ^ƒO‚ŁA‚»‚ꂼ‚ê‚̃vƒƒWƒFƒNƒgiProject-A ‚̃ŠƒrƒWƒ‡ƒ“ 01AProject-B ‚̃ŠƒrƒWƒ‡ƒ“ 01A“¯ 02 j ‚ª\¬‚·‚郂ƒWƒ…[ƒ‹i<Module> ƒ^ƒOj‚ɂ‚¢‚āAƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[“à‚̃tƒ‹ ƒpƒX‚ƁA - ƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[“à‚Ì‘Š‘΃pƒX‚ð‹Lq‚µ‚Ä‚¢‚Ü‚·B - - <Variable> ƒ^ƒO - - ‚ŕϐ”‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B - Assort ƒRƒ}ƒ“ƒh‚Æ Commit ƒRƒ}ƒ“ƒh - <Fragment> ƒ^ƒO‚ŁA“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ð’T‚·‚½‚ß‚Ì - - MD5ƒŠƒXƒg - - ‚̃pƒX‚ðÝ’肵‚Ä‚¢‚Ü‚·B - ƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[‚Ì’†‚ŁA“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ð‚P‚‚¾‚¯‚É‚·‚é Fragment ƒRƒ}ƒ“ƒh‚É‚æ‚Á‚āAƒtƒHƒ‹ƒ_[‚̃TƒCƒY‚ðíŒ¸‚·‚鏈—‚ª‚ªs‚í‚ê‚Ä‚¢‚È‚¯‚ê‚΁A‹Lq‚Í•s—v‚Å‚·B - - - –¢‘Ήž - - - - –¢‘Ήž - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_ModuleAssort2.vbs - - - ¨ T_ModuleAssort2.vbs - - T_ModuleAssort2_RunPrompt_Main iŠÖ”–¼‚ÍŽb’èj - T_ModuleAssort2_RunPrompt - ModuleAssort2 Ý’èƒtƒ@ƒCƒ‹ - Projects.moas - ƒTƒ“ƒvƒ‹ - - - <?xml version="1.0" encoding="UTF-8"?><ModuleAssort2_Projects> - - <Project name="Project-A\01" path="C:\ProjectA"> - ModuleA <Module master="C:\Masters\ModuleA\01" project="."/> - ModuleB <Module master="C:\Masters\ModuleB\02" project="ModuleB"/> - </Project> - - </ModuleAssort2_Projects> - - <Project> ƒ^ƒO‚Ì’†‚ŁAƒvƒƒWƒFƒNƒgiProject-A ‚̃ŠƒrƒWƒ‡ƒ“ 01j ‚ª\¬‚·‚郂ƒWƒ…[ƒ‹i<Module> ƒ^ƒOj‚ɂ‚¢‚āAƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[“à‚̃tƒ‹ ƒpƒX‚ƁAƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[“à‚Ì - ‘Š‘΃pƒX‚ð‹Lq‚µ‚Ä‚¢‚Ü‚·B ‘Š‘΃pƒX‚̊ƒpƒX‚́AProject/@path ‚É‹Lq‚µ‚Ä‚¢‚Ü‚·‚ªA - ƒRƒ}ƒ“ƒh‚É‚æ‚Á‚Ä‚Í–³Ž‹‚³‚ê‚Ü‚·B XML ƒ^ƒOi < > ‚ň͂܂ꂽ•”•ª j‚ÌŠO‚́AƒRƒƒ“ƒg‚Æ‚µ‚Ä–³Ž‹ - ‚³‚ê‚Ü‚·B - ‚ª‹Lq‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚ªA‹Lq‚·‚邱‚Ƃŕϐ”‚ðŽg‚¤‚±‚Æ - - <Variable> ƒ^ƒO - - ‚±‚̃Tƒ“ƒvƒ‹‚Å‚Í - ‚ª‚Å‚«‚Ü‚·B i•Ê‚̃Tƒ“ƒvƒ‹‚ðŽQÆj - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ModuleAssort2 - ModuleAssort2 ‚Ì Projects.moas ƒtƒ@ƒCƒ‹‚̃pƒX >C:\Projects.moas - - ƒ`ƒFƒbƒN ƒAƒEƒg‚̏o—͐æ‚Æ‚·‚é‹ó‚̃tƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚́Aƒ`ƒFƒbƒN ƒAƒEƒg - ‚µ‚½ƒvƒƒWƒFƒNƒg‚Ì’†‚̃pƒX‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B - ƒpƒX>C:\CheckOut - - ƒvƒƒWƒFƒNƒg‚ðƒ`ƒFƒbƒN ƒAƒEƒg‚µ‚Ü‚·B - ƒvƒƒWƒFƒNƒg–¼\ƒŠƒrƒWƒ‡ƒ“i—áFProjectA\01j>Project-A\01 - - C:\Masters\ModuleA\01 - C:\Masters\ModuleB\02 - - vbslib Prompt.vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚āA - - - –¢‘Ήž - - ModuleAssort2 - C:\Projects.moas - C:\CheckOut - Project-A\01 - ‚æ‚è‚àƒVƒ“ƒvƒ‹‚©‚‚‘¬‚É‚È‚Á‚Ä‚¢‚Ü‚·B - - MD5ƒŠƒXƒg - - ŠÖ˜A - - ¨ UpdateModule - - - ¨ Diff - - - ¨ SyncFilesT - - ƒ‚ƒWƒ…[ƒ‹‚ðV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚É’u‚«Š·‚¦‚é - ƒ‚ƒWƒ…[ƒ‹“à‚̃^[ƒQƒbƒgŠÔ‚Ì“¯Šú‚ð‚·‚é - V‚µ‚¢ƒeƒLƒXƒg ƒZƒNƒVƒ‡ƒ“‚̍\¬‚ɍ‡‚킹‚é - - ¨ MakeCrossedOldSections - - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Ì“à—e‚̈Ⴂ‚ð•\Ž¦‚·‚é - - - - - - - - - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ModuleAssort------------------------------------------------------------------------------- - >ModuleAssort - ModuleAssort.moas or Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX>C:\ModuleAssort.moas - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>Synchronize - - ‚Q‚‚̃^[ƒQƒbƒg ƒ‚ƒWƒ…[ƒ‹‚ðAŠÖŒW‚ðˆÛŽ‚µ‚‚AV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚ɍXV‚µ‚Ü‚·B - 2A F“¯Šú‚·‚é•Ð•û‚̃ŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚̃pƒX >Module\TargetA\01 - 2B F“¯Šú‚·‚é‚à‚¤•Ð•û‚̃ŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚̃pƒX >Module\TargetB\03 - - Enter ‚̂݁FÅVƒŠƒrƒWƒ‡ƒ“ - 1A F2A ‚̍ŐVƒŠƒrƒWƒ‡ƒ“–¼ > - - Enter ‚̂݁FÅVƒŠƒrƒWƒ‡ƒ“ - 1B F2B ‚̍ŐVƒŠƒrƒWƒ‡ƒ“–¼ > - - ¡ƒx[ƒXiModule\TargetB\03j: "C:\Users\OWNER\Desktop\_ModuleAssort\1B_New" - ¡ƒ[ƒNiModule\TargetA\01j: "C:\Users\OWNER\Desktop\_ModuleAssort\1A_New" - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ModuleAssort------------------------------------------------------------------------------- - >ModuleAssort - ModuleAssort.moas or Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX>C:\ModuleAssort.moas - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>Defragment - ------------------------------------------------------------------------------- - ’f•Ð‰»‚µ‚Ä‚¢‚郊ƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚ðAŠ®‘S‚ȃtƒHƒ‹ƒ_[‚É–ß‚µ‚Ü‚·B - ’f•Ð‰»‚Ƃ́A“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ðˆêŽž“I‚ɍ폜‚·‚邱‚Æ‚Å‚·B - _FullSet.txt ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚́A’f•Ð‰»‚µ‚Ä‚¢‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - ‚È‚¨ACheckOut, Assort, Commit ‚́A’f•Ð‰»‚µ‚Ä‚¢‚Ä‚à³‚µ‚­“®ì‚µ‚Ü‚·B - - Enter ‚̂݁FI—¹ - ƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[‚̃pƒXF‚·‚ׂĂ̒f•Ð‰»‚µ‚Ä‚¢‚郂ƒWƒ…[ƒ‹ - ’f•Ð‰»‚µ‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚̃pƒX > - - - - - - - - - - - - - - - - - - - - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ModuleAssort------------------------------------------------------------------------------- - >ModuleAssort - ModuleAssort.moas or Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX>C:\Projects.xml - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>CheckOut - - Žæ‚èo‚·ƒvƒƒWƒFƒNƒg–¼>Project_X - Žæ‚èo‚·ƒŠƒrƒWƒ‡ƒ“–¼>01 - Žæ‚èo‚µ‚½ƒvƒƒWƒFƒNƒg‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒXišã‘‚«‚µ‚Ü‚·j>C:\Proj - - ModuleAssort - ƒvƒƒWƒFƒNƒg‚̃tƒHƒ‹ƒ_[‚©‚çAŠeŽíƒ‚ƒWƒ…[ƒ‹/ƒ^[ƒQƒbƒg/ƒŠƒrƒWƒ‡ƒ“ ‚Å•ª‚¯‚ç‚ꂽƒ}ƒXƒ^[ ƒtƒHƒ‹ƒ_[‚Ö•ª—Þ‚µ‚ăRƒs[iƒAƒ\[ƒgj‚·‚邱‚ƂŁAƒ^[ƒQƒbƒg•Ê‚̃‚ƒWƒ…[ƒ‹‚Ì“¯Šú‚ð‚µ‚â‚·‚­‚µ‚Ü‚·B ‚±‚±‚Å‚¢‚¤ - “¯Šú‚Ƃ́A‚ ‚éƒ^[ƒQƒbƒg‚̃tƒ@ƒCƒ‹‚ð•ÏX‚µ‚½‚Æ‚«‚ɁA•Ê‚̃^[ƒQƒbƒg‚̃tƒ@ƒCƒ‹‚É‚à”½‰f‚·‚邱‚ƁA - ‚Ü‚½‚́A”½‰f‚µ‚È‚¢‚±‚Æ‚ðŠm”F‚·‚邱‚Æ‚Å‚·B - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_ModuleAssort.vbs - - - ¨ SyncFilesMenuLib.vbs - - A_Project - A_Source.c - A_Part - B_Part - B_Source.c - A_Part - A_Source.c - B_Project - - - - - - - - - - - - - “¯‚¶“à—e‚È‚çƒRƒs[‚µ‚È‚¢ - ƒRƒs[ - Masters - ModuleA - 01 - A_Source.c - TargetA - Work-1 - c ƒRƒ~ƒbƒg‚µ‚½ƒŠƒrƒWƒ‡ƒ“ - - - <?xml version="1.0" encoding="Shift_JIS"?><ModuleAssort> - <Masters path="_Masters"/> - <AssortFrom path="${A_Project}"/> - - <Variable name="${A_Project}" value="A_Project" type="FullPathType"/> - <Variable name="${B_Project}" value="B_Project" type="FullPathType"/> - - <Module name="ModuleA"><File path="${A_Project}\A_Part"/></Module> - - <Module name="ModuleA" target="100" root_path="${B_Project}"> - <File path="${B_Project}\A_Part"/> - </Module> - - </ModuleAssort> - - ƒTƒ“ƒvƒ‹ - ModuleAssort.moas - - ¨ Ý’è‚Å‚«‚é“à—e - - Work-# ƒtƒHƒ‹ƒ_[‚ªì¬‚³‚ꂽ‚çA‘¼‚̃ŠƒrƒWƒ‡ƒ“‚Æ”äŠr‚µ‚āA•K—v‚ȏC³‚ð‚µ‚Ä‚­‚¾‚³‚¢B ‚È‚¨A_FullSet.txt ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃ŠƒrƒWƒ‡ƒ“‚́ADefragment ‚ðŽÀs‚·‚é‚ÆŠ®‘S‚ȃŠƒrƒWƒ‡ƒ“ - ‚ðŽæ‚èo‚¹‚Ü‚·B - C³ŒãAWork-# ƒtƒHƒ‹ƒ_[‚𐔎š‚©‚çŽn‚Ü‚éƒtƒHƒ‹ƒ_[‚ÉŽè“®‚ŕύX‚·‚邱‚ƂŁA‚P‚‚̃‚ƒWƒ…[ƒ‹ - ‚ðƒRƒ~ƒbƒg‚µ‚½‚±‚Æ‚É‚È‚è‚Ü‚·B ƒtƒHƒ‹ƒ_[–¼‚́A˜A‘±‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - —áF 01, 02, 100, 101, 02_TmpA03-from-01B - ŠÖ˜A - - ¨ UpdateModule - - ƒ‚ƒWƒ…[ƒ‹‚ðV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚É’u‚«Š·‚¦‚é - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ModuleAssort------------------------------------------------------------------------------- - >ModuleAssort - ModuleAssort.moas or Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX>C:\ModuleAssort.moas - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>Assort - - >ModuleAssortClass::Assort - Deleting "Masters\Reading-*" and "Masters\Work-*" folders ... - Copy to "Masters\Reading-*" folders ... - Compare and Renaming "Masters\Reading-*" folders to "Masters\Work-*" folders ... - - ‰æ–Ê - ModuleAssort - C:\ModuleAssort.moas - Assort - C:\Projects.xml - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ModuleAssort------------------------------------------------------------------------------- - >ModuleAssort - ModuleAssort.moas or Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX>C:\ModuleAssort.moas - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>Commit - - ƒRƒ~ƒbƒg‚·‚éƒvƒƒWƒFƒNƒg–¼>Project_X - ‚±‚̃Rƒ~ƒbƒg‚ō쐬‚·‚郊ƒrƒWƒ‡ƒ“–¼>01 - ƒRƒƒ“ƒg>XV“à—e - - ModuleAssort - C:\ModuleAssort.moas - Commit - Project_X - 01 - XV“à—e - ƒ‚ƒWƒ…[ƒ‹‚ðƒAƒ\[ƒg‚·‚éiƒ}ƒXƒ^[ ƒtƒHƒ‹ƒ_[‚Æ”äŠr‚µ‚Ä Work ƒtƒHƒ‹ƒ_[‚ðì¬‚·‚éjF - ƒRƒ~ƒbƒgÏ‚݂̃‚ƒWƒ…[ƒ‹‚©‚çAƒvƒƒWƒFƒNƒg‚ðƒRƒ~ƒbƒg‚·‚éF - ƒRƒ~ƒbƒgÏ‚݂̃vƒƒWƒFƒNƒg‚ðƒ`ƒFƒbƒNƒAƒEƒg‚·‚éiŽæ‚èo‚·jF - ModuleAssort - CheckOut - Project_X - 01 - C:\Proj - - ¨ vbslib Prompt.vbs - - A_Source.c - c ‚ǂ̃ŠƒrƒWƒ‡ƒ“‚Æ‚àˆÙ‚È‚é - _Modules.xml - c ƒ‚ƒWƒ…[ƒ‹‚Ì“¯Šúó‹µ - Projects.xml - c ƒvƒƒWƒFƒNƒg‚̃Rƒ~ƒbƒgó‹µ - - ModuleAssort.moas - - c ModuleAssort Ý’èƒtƒ@ƒCƒ‹ - - Assort ‚ðŽÀs‚·‚é‚ƁAModuleAssort.moas ƒtƒ@ƒCƒ‹‚ɐݒ肵‚Ä‚ ‚éƒvƒƒWƒFƒNƒg‚̍\¬‚ɏ]‚Á‚āAƒ}ƒXƒ^[‚Ì’†‚Ì Work-#i# ‚͐”ŽšjƒtƒHƒ‹ƒ_[‚Ƀtƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ü‚·B ‚½‚¾‚µAƒ}ƒXƒ^[iMasters - ƒtƒHƒ‹ƒ_[j‚É‚ ‚éƒRƒ~ƒbƒg‚µ‚½ƒŠƒrƒWƒ‡ƒ“‚Æ“¯‚¶‚Ȃ牽‚à‚µ‚Ü‚¹‚ñB ‚Ü‚½A‚·‚ׂẴ‚ƒWƒ…[ƒ‹‚Ì - ƒŠƒrƒWƒ‡ƒ“‚ðˆê——‚µ‚½ _Modules.xml ƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B ‚È‚¨AModuleAssort.moas - ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽAAssrotFrom ƒ^ƒO‚ð•ÒW‚·‚邱‚ƂŁA‚‘¬‚ɃAƒ\[ƒg‚Å‚«‚Ü‚·B - Commit ‚ðŽÀs‚·‚é‚ƁAƒvƒƒWƒFƒNƒg‚ð\¬‚·‚郊ƒrƒWƒ‡ƒ“‚̈ꗗ‚ðAProjects.xml ƒtƒ@ƒCƒ‹‚É’Ç‹L‚µ‚Ü‚·B ‚±‚ê‚É‚æ‚èAƒvƒƒWƒFƒNƒg‚ð\¬‚·‚郂ƒWƒ…[ƒ‹‚̃ŠƒrƒWƒ‡ƒ“‚ðˆê——‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚Ü‚½A - CheckOut ‚ðŽÀs‚µ‚āAƒvƒƒWƒFƒNƒg‚𕜌³‚Å‚«‚é‚悤‚É‚à‚È‚è‚Ü‚·B CheckOut ‚ðŽÀs‚·‚é‚Æ‚«‚́A - _Modules.xml ‚â ModuleAssort.moas ƒtƒ@ƒCƒ‹‚Í•s—v‚Å‚·B Projects.xml ƒtƒ@ƒCƒ‹‚ɃŠƒrƒWƒ‡ƒ“‚Ì - ‘Š‘΃pƒX‚ª‹Lq‚³‚ê‚Ä‚¢‚é‚̂ŁAˆÈ‘O Commit ‚µ‚½‚Æ‚«‚ƃtƒHƒ‹ƒ_[–¼‚ª•Ï‚í‚Á‚Ä‚¢‚½‚ç CheckOut - ‚·‚é‚Æ‚«‚ɃtƒHƒ‹ƒ_[‚ªŒ©‚‚©‚ç‚È‚¢ƒGƒ‰[‚É‚È‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - - <ModuleAssort_Projects> <Variable name="${ProjectX}" value="C:\Work\Project_X"/> - <Variable name="${ProjectY}" value="C:\Work\Project_Y"/> - <Project name="Project_X"> - <Revision name="01" root_path="${ProjectX}"> - <Comment>XV“à—e1</Comment> - <Module path="ModuleA\01" in_project="${ProjectX}"/> - <Module path="ModuleB\ForTargetX\01" in_project="${ProjectX}\Sub"/> - </Revision> - </Project> - <Project name="Project_Y"> - <Revision name="02" root_path="${ProjectY}"> - <Comment>XV“à—e2</Comment> - <Module path="ModuleC\02" in_project="${ProjectY}"/> - <Module path="ModuleB\ForTargetY\01" in_project="${ProjectY}\Sub"/> - </Revision> - <Revision name="01" root_path="${ProjectY}"> - <Comment>XV“à—e1</Comment> - <Module path="ModuleC\01" in_project="${ProjectY}"/> - </Revision> - </Project> - </ModuleAssort_Projects> - - Projects.xml - ModuleAssort Ý’èƒtƒ@ƒCƒ‹ - ƒvƒƒWƒFƒNƒg‚̃Rƒ~ƒbƒgó‹µ - _FullSet.txt ‚ª‚ ‚éiƒtƒ‰ƒOƒƒ“ƒg‚³‚ê‚Ä‚¢‚éjƒ}ƒXƒ^[‚ðŠ®‘S‚ÈŒ`‚É‚·‚éF - ModuleAssort - C:\ModuleAssort.moas - Defragment - C:\Masters\ModuleA\02 - ã‹L‚Ì Masters ƒtƒHƒ‹ƒ_[‚ð“üŽè‚µ‚āACheckOut ‚ðŽÀs‚·‚é‚ƁAProjects.xml ‚̏î•ñ‚ðŒ³‚Éƒ}ƒXƒ^[iMasters ƒtƒHƒ‹ƒ_[j‚©‚ç•K—v‚ȃtƒ@ƒCƒ‹iƒŠƒrƒWƒ‡ƒ“j‚ðW‚߂āAƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚𕜌³‚·‚é - ‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ ModuleAssortClass - - - ¨ Files2 ƒtƒHƒ‹ƒ_[ - - - ¨ ƒR[ƒ‹ƒcƒŠ[ - - “¯Šú‚ª•K—v‚È‚Q‚‚̃‚ƒWƒ…[ƒ‹‚ðÅV“¯Žm‚Ń}[ƒW‚·‚éF - Synchronize - C:\ModuleAssort.moas - ModuleAssort - Module\TargetA\01 - Module\TargetB\03 - ƒfƒXƒNƒgƒbƒv‚ɍì‹ÆƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚·B ‚±‚̃vƒƒ“ƒvƒg‚ł́Aì‹ÆƒtƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚ð”äŠr‚µ‚Ü‚·B - - ¨ SyncModuleX - - ”pŽ~‚³‚ꂽŽd—l - - - ƒx[ƒ^”Å - - - ¨ SyncFilesT - - ƒ‚ƒWƒ…[ƒ‹“à‚̃^[ƒQƒbƒgŠÔ‚Ì“¯Šú‚ð‚·‚é - c ƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l‚̃ŠƒXƒg - _HashCache.txt - c ƒtƒ@ƒCƒ‹\¬‚Ìó‹µ - _Files.xml - ExportNewestModule ƒRƒ}ƒ“ƒh‚ðŽg‚¦‚΁AŠeƒ‚ƒWƒ…[ƒ‹‚̃^[ƒQƒbƒg‚̍ŐVƒŠƒrƒWƒ‡ƒ“‚ðW‚ß‚½ - - SyncFilesT - - ‚Ń}[ƒW‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - ƒtƒHƒ‹ƒ_[‚ª‚Å‚«A‚æ‚èŒø—¦‚Ì‚æ‚¢ - ModuleB - TargetB - c •Ê‚̃^[ƒQƒbƒg - c •Ê‚̃‚ƒWƒ…[ƒ‹ - ’ˆÓ - - ¨ MakeCrossedOldSections - - V‚µ‚¢ƒeƒLƒXƒg ƒZƒNƒVƒ‡ƒ“‚̍\¬‚ɍ‡‚킹‚é - - ¨ SyncFilesX - - ‚Q‚‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚𓯊ú‚·‚é - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ ModuleAssort2 - - XV - - - - - - - ƒtƒ@ƒCƒ‹–¼EƒtƒHƒ‹ƒ_[–¼‚̈ꗗ - - << ModuleAssort - - - - ‘‚«‚©‚¯ - - Work-# - ƒRƒ~ƒbƒg‚µ‚½‚ǂ̃‚ƒWƒ…[ƒ‹‚É‚àŠY“–‚µ‚È‚¢ƒAƒ\[ƒg‚µ‚½ƒ‚ƒWƒ…[ƒ‹ - *_Tmp - •ÏX‚µ‚Ä‚©‚çƒRƒ“ƒpƒCƒ‹‚³‚¦‚µ‚Ä‚¢‚È‚¢ƒ‚ƒWƒ…[ƒ‹ - *.moas - - ¨ ModuleAssort.moas ƒtƒ@ƒCƒ‹ - - ModuleAssort ‚̐ݒèƒtƒ@ƒCƒ‹ - _HashCache.txt - ƒ}ƒXƒ^[ƒY ƒtƒHƒ‹ƒ_[‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹–¼‚ƃnƒbƒVƒ…’l‚̈ꗗBƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚¢‚āAƒtƒ@ƒCƒ‹–¼‚âƒnƒbƒVƒ…’l‚ð‚‘¬‚ÉŒŸõ‚Å‚«‚Ü‚·B - *_Branch - - ¨ _Branch - - _Files.xml - ƒAƒ\[ƒg‚µ‚½‚Æ‚«Aƒ`ƒFƒbƒNƒAƒEƒg‚µ‚½‚Æ‚«‚̑Ώۃtƒ@ƒCƒ‹–¼‚ÆŠÖ˜Aî•ñ‚̈ꗗBƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚¢‚āAƒtƒ@ƒCƒ‹‚̏î•ñ‚ð‚‘¬‚ÉŒŸõ‚Å‚«‚Ü‚·B - _Modules.xml - ƒAƒ\[ƒg‚µ‚½ƒ‚ƒWƒ…[ƒ‹‚ÆŠÖ˜Aî•ñ‚̈ꗗBˆ’u‚ª•K—v‚ȃtƒHƒ‹ƒ_[‚́AƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚¢‚āAWork ‚â _Tmp ‚Å - ŒŸõ‚·‚ê‚ÎŒ©‚‚©‚è‚Ü‚·B - Projects.xml - ƒRƒ~ƒbƒg‚µ‚½ƒvƒƒWƒFƒNƒg‚ƁA‚»‚ê‚ð\¬‚·‚郂ƒWƒ…[ƒ‹‚̈ꗗ - *_xfor_* - ‘OŒã‚̃ŠƒrƒWƒ‡ƒ“‚ÌŠÔ‚Æ‚È‚éAƒtƒ@ƒCƒ‹‚̈ʒu‚â“à—e‚̈ʒu‚¾‚¯•ÏX‚µ‚½’†ŠÔƒŠƒrƒWƒ‡ƒ“ - ‰º‹L‚Í ABC‡‚É•À‚ñ‚Å‚¢‚Ü‚·B - _new_* - CheckOutAndUpdate ‚µ‚½ƒvƒƒWƒFƒNƒg - *_Merged - - ¨ _Branch - - Reading-# - ƒAƒ\[ƒgˆ—’†‚̃‚ƒWƒ…[ƒ‹ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MakeByModuleAssort - - - MakeByModuleAssort "C:\Masters\Projects.xml", "C:\Masters\Release" - - - - Sub MakeByModuleAssort( in_ProjectPath as string, in_TargetPath as string, in_IsBatch as boolean ) - - ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µ‚ăŠƒŠ[ƒX•¨‚ðì¬‚·‚é‚悤‚ȁAƒŠƒrƒWƒ‡ƒ“‚ð”äŠr‚µ‚Ä•K—v‚ȃRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - yˆø”z - in_ProjectPath - in_TargetPath - Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX - ƒƒCƒN‚µ‚Ä‚Å‚«‚éÅIƒ^[ƒQƒbƒg‚̃tƒHƒ‹ƒ_[‚̃pƒX - ƒeƒXƒg - ƒ\[ƒX - - << ModuleAssort - - - ¨ SyncFilesMenuLib.vbs - - - ¨ T_ModuleAssort.vbs - - - POSIX ‚Ì make - - Projects.xml ƒtƒ@ƒCƒ‹‚́APOSIX ‚̃ƒCƒNƒtƒ@ƒCƒ‹‚É‘Š“–‚µA‚±‚̃tƒ@ƒCƒ‹‚Ɉˑ¶ŠÖŒW‚ƁAƒRƒ}ƒ“ƒh‚ð‹Lq‚µ‚Ü‚·B ƒRƒ}ƒ“ƒh‚́Ao—͐悪 Work ƒtƒHƒ‹ƒ_[‚É‚È‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - ‚́Aƒtƒ@ƒCƒ‹‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð”äŠr‚µ‚Ä•K—v‚ȃRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·‚ªA–{ŠÖ”‚́A - ƒŠƒrƒWƒ‡ƒ“iƒtƒHƒ‹ƒ_[–¼j‚ð”äŠr‚µ‚Ä•K—v‚ȃRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B ‚½‚Æ‚¦‚΁Aƒ\[ƒX‚𐮌`‚·‚é‘O‚̍ŐVƒŠƒrƒWƒ‡ƒ“‚ª 02 i02‚Æ‚¢‚¤–¼‘O‚̃tƒHƒ‹ƒ_[‚ª‚ ‚èjA®Œ`‚µ‚½Œã‚̍ŐVƒŠƒrƒWƒ‡ƒ“‚ª 01 - ‚Ì‚Æ‚«‚́AƒŠƒrƒWƒ‡ƒ“ 02 ‚̃\[ƒX‚𐮌`‚·‚éƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - 01 - Source - 02 - 01 - Release - Work-02‚ɃŠƒrƒWƒ‡ƒ“ 02 ‚Ì“à—e‚ðì¬‚µ‚Ü‚· - - - <ModuleAssort_Projects> <MakeRule> - <Output path="Release\*"/> - <Input_ path="Source\*"/> - <Command>cscript Source\${Revision[1]}\Make.vbs ${Output[0]}</Command> - </MakeRule> - </ModuleAssort_Projects> - - Projects.xml ƒtƒ@ƒCƒ‹‚̃Tƒ“ƒvƒ‹F - ${Revision[n]} - Command ƒ^ƒOiProjects.xml ƒtƒ@ƒCƒ‹j‚ɂ́AˆÈ‰º‚̕ϐ”‚ð‹Lq‚Å‚«‚Ü‚·B - ‘ΏۂƂȂ郊ƒrƒWƒ‡ƒ“‚Ì–¼‘OB —áF"02"n ‚́A0 ‚©‚çŽn‚Ü‚é Output ƒ^ƒO‚Æ Input ƒ^ƒO‚̏‡”Ԃ̔ԍ†‚Å‚·B - æ“ª‚É Work ‚ª•t‚©‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B - ${Output[n]} - ƒƒCƒN‚µ‚Ä‚Å‚«‚éƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒXBƒtƒHƒ‹ƒ_[–¼‚É Work* ‚ª•t‚­ - MakeByModuleAssort ŠÖ”‚ðŒÄ‚яo‚·ƒTƒ“ƒvƒ‹F - ƒŠƒrƒWƒ‡ƒ“ 02 ‚ðì¬‚·‚é•K—v‚ª‚ ‚éó‹µ‚Ì‚Æ‚«‚ÉŽÀs‚³‚ê‚éƒRƒ}ƒ“ƒhF - - - cscript Source\02\Make.vbs Release\02 - - 01 - Release - 01 - Source - ÅVƒŠƒrƒWƒ‡ƒ“‚ª‚·‚Å‚É‚ ‚é‚Æ‚«‚́AƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚¹‚ñB - Work-01 - Work ‚Æ‚¢‚¤–¼‘O‚̃tƒHƒ‹ƒ_[‚ª‚ ‚é‚ƁAÅVƒŠƒrƒWƒ‡ƒ“‚ª‚·‚Å‚É‚ ‚Á‚Ä‚àAƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - c ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚¹‚ñ - ƒƒCƒN‚µ‚Ä‚Å‚«‚éƒtƒHƒ‹ƒ_[–¼‚́Aæ“ª‚É Work ‚ª•t‚«‚Ü‚·B “à—e‚É–â‘肪‚È‚¯‚ê‚΁A02 ‚Ȃǂ̃ŠƒrƒWƒ‡ƒ“–¼‚ÉŽè“®‚ŕύX‚µ‚Ä‚­‚¾‚³‚¢B ‚·‚Å‚É‚ ‚郊ƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚Æ“à—e‚ª“¯‚¶‚É‚È‚Á‚½ - Work-02 - Source - 01 - 01 - Release - c ‚±‚±‚ɃŠƒrƒWƒ‡ƒ“ 01 ‚Ì“à—e‚ðÄ“xì¬‚µ‚Ü‚· - ‚±‚ÌŽd—l‚́AƒRƒ}ƒ“ƒh‚Ì“à•”ƒ‚ƒWƒ…[ƒ‹‚ðXV‚µ‚½‚Æ‚«‚ɁA‚±‚ê‚Ü‚Å‚Æ“¯—l‚É“®ì‚·‚é‚©ƒ`ƒFƒbƒN‚·‚é‚Æ‚«‚ɉ¿’l‚ª‚ ‚è‚Ü‚·B - ‚Ü‚Æ‚ß‚é‚ƁA‘Ώۂ̃ŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚ð‚à‚ƒtƒHƒ‹ƒ_[‚ª–³‚¢‚Æ‚«‚©AWork ƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚ÉWork ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ä‚©‚çAƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - - - –¢Šm”F - - in_TargetPath ˆø”‚ɂ́AeƒtƒHƒ‹ƒ_[‚ðŽw’è‚·‚é‚ƁAÅVƒŠƒrƒWƒ‡ƒ“‚ª‘ΏۂɂȂè‚Ü‚·‚ªAƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - echo o—Í - - ‚µ‚āAWork ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - T_ModuleAssort_Make - ˆË‘¶ŠÖŒW‚ªƒlƒXƒg‚µ‚Ä‚¢‚é‚Æ‚«‚́APOSIX ‚Ì make ‚Æ“¯—l‚ɁA•¡”‚̃Rƒ}ƒ“ƒh‚ð[‚¢‚Ù‚¤‚©‚珇ŽŸŽÀs‚µ‚Ü‚·B - Work-02 - Release - 01 - 02 - 01 - Template - 01 - Source - Work-02 - - - - - - - - - - - - - - - - ${Input[n]} - “ü—Í‚·‚éƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒX - ‚Æ‚«‚́A‚»‚Ì‚±‚Æ‚ð - - ¨ ƒrƒ‹ƒh‚·‚é‚Æ‚«‚ɂǂ̃ŠƒrƒWƒ‡ƒ“‚ª‘ΏۂɂȂ邩‚ÌÚ× - - ŽQl - - - MakeByModuleAssort "Projects.xml", "ProjectA\02", True - - - - MakeByModuleAssort "Projects.xml", "ProjectA", False - - ƒTƒ“ƒvƒ‹ - à–¾ - in_TargetPath ˆø”‚ɂ́AƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[A‚Ü‚½‚́A‚»‚̐eƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚Ü‚·B ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚́AÅVƒŠƒrƒWƒ‡ƒ“‚Ì‘¶Ý‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - in_IsBatch = True ‚Ì‚Æ‚«‚́AƒŠƒrƒ‹ƒhiƒNƒŠ[ƒ“•ƒƒCƒNj‚Ì“®‚«‚É‚È‚è‚Ü‚·B - - ¨ Work ƒtƒHƒ‹ƒ_[‚Ì—L–³‚ƃƒCƒN‚Ì“®‚« - - - ModuleAssort ƒRƒ}ƒ“ƒh - - –{ŠÖ”‚́A - ‚Ì Make ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ƌĂ΂ê‚Ü‚·B - in_IsBatch - ƒoƒbƒ`ˆ—‚ð‚·‚éi‘ΘbŽ®ƒƒjƒ…[‚ðo‚³‚È‚¢j‚©‚Ç‚¤‚© - - - –¢‘Ήž - - - - - - - - - - ƒrƒ‹ƒh‚·‚é‚Æ‚«‚ɂǂ̃ŠƒrƒWƒ‡ƒ“‚ª‘ΏۂɂȂ邩‚ÌÚ× - ‚·‚ׂẴvƒƒWƒFƒNƒg‚Ì’†‚ōŏ‰‚Ƀx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ªŒˆ’è‚·‚éƒvƒƒWƒFƒNƒg‚́AÅIƒ^[ƒQƒbƒgi‰º‹L‚̐}‚ÅÅ‚à¶j‚̃vƒƒWƒFƒNƒg‚Å‚·B - ÅIƒ^[ƒQƒbƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“ - ƒƒCƒN ƒ‹[ƒ‹‚ª“üo—Í‚·‚é‚·‚ׂẴvƒƒWƒFƒNƒg‚́uƒŠƒrƒWƒ‡ƒ“i”ԍ†j‚ª“¯‚¶v‚Å‚ ‚邱‚Æ‚ªA³‚µ‚¢ŠÖŒW‚Å‚ ‚é‚Æ‚¢‚¤Ý’è‚É‚·‚é‚à‚Ì‚ðAƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚ÆŒÄ‚Ñ - ‚Ü‚·B –{Í‚̃Oƒ‰ƒt‚ł͉º‹L‚̂悤‚ɐ…•½ü‚É‚È‚è‚Ü‚·B - ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg - 02 - 02 - ProjectB - - - - - - ProjectA - <RevisionSet> ‚Å–¾Ž¦“I‚É“¯‚¶ƒŠƒrƒWƒ‡ƒ“‚Å‚ ‚é‚ÆŽw’肳‚ꂽê‡i‰º‹L‚Ì RevisionSet 09, 09 ‚Æ 04, 04 ‚ª—ájA‚»‚̃ŠƒrƒWƒ‡ƒ“‚Æ‚»‚ê‚æ‚èV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚́A - ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚É‚È‚è‚Ü‚·B ‚È‚¨A<RevisionSet> ‚Ì‹Lq‚͏¸‡‚â~‡ - ‚Å‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB <Output> ‚Æ <Input> ‚̏‡”Ô‚Í‚Ç‚¿‚ç‚Å‚à\‚¢‚Ü‚¹‚ñ‚ªA - ‹t‚É‚µ‚½‚ç <RevisionSet> ‚Ì’†‚̃ŠƒrƒWƒ‡ƒ“‚à‹t‚É‚µ‚Ü‚·B - ‚½‚Æ‚¦‚΁AProjectA ‚̃ŠƒrƒWƒ‡ƒ“02 iProjectA\02j ‚ðo—Í‚·‚郁ƒCƒN ƒ‹[ƒ‹‚ª“ü—Í‚·‚é ProjectB ‚̃ŠƒrƒWƒ‡ƒ“‚́A02 iProjectB\02j ‚É‚È‚è‚Ü‚·B - Ý’èƒtƒ@ƒCƒ‹‚Ì’†‚Ì <MakeRule> ‚Ì’†‚É <RevisionSet> ‚Ì‹Lq‚ªÈ—ª‚³‚ꂽê‡i‰º‹L‚É—áj‚́A‚»‚̃ƒCƒN ƒ‹[ƒ‹‚ªƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚ðŽ‚Â‚Æ‚¢‚¤Ý’è‚É - ‚È‚è‚Ü‚·B ‚à‚µAProjectB ‚ªƒŠƒrƒWƒ‡ƒ“ 03 iProjectB\03j ‚ɍXV‚³‚ꂽ‚çA‚»‚ê‚ð - “ü—Í‚·‚郁ƒCƒN ƒ‹[ƒ‹‚́AProjectA\03 ‚ðo—Í‚µ‚Ü‚·B - - - <MakeRule><Output>ProjectA\*</Output> - <Input >ProjectA\*</Input> - <Command>...</Command> - </MakeRule> - - - - <MakeRule><Output>ProjectA\*</Output> - <Input >ProjectB\*</Input> - <Command>...</Command> - <RevisionSet>09, 09</RevisionSet> - <RevisionSet>06, 07</RevisionSet> - <RevisionSet>04, 04</RevisionSet> - <RevisionSet>01, 02</RevisionSet> - </MakeRule> - - ã‹L‚Ì <RevisionSet> 01, 02 ‚́AProjectB ‚̃ŠƒrƒWƒ‡ƒ“ 02 iProjectB\02j ‚ð“ü—Í‚·‚é‚Æ‚«‚Ɂiƒ\[ƒX‚É‚·‚é‚Æ‚«‚ɁjAProjectA\01 ‚ðo—́iƒ^[ƒQƒbƒgj‚ÉŽw’è - ‚·‚邱‚Æ‚ð•\‚µ‚Ä‚¨‚èAƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA<RevisionSet> - 04 04 ‚́AProjectB\04 ‚ð“ü—Í‚·‚é‚Æ‚«‚ɁAProjectA\04 ‚ðo—Í‚ÉŽw’è‚·‚é - ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚É‚È‚è‚Ü‚·B - ‚Ü‚½A<RevisionSet> 05, 05 ‚Í‹Lq‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚ªA<RevisionSet> 04, 04 ‚Ì - ‹Lq‚É‚æ‚èAProjectB\05 ‚ð“ü—Í‚·‚邽‚߂ɂ́AProjectA\05 ‚ðo—Í‚ÉŽw’è‚·‚é - ‚±‚Æ‚É‚È‚èA<RevisionSet> 05, 05 ‚Æ‚¢‚¤ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚ªˆÃ–Ù“I‚É‘¶Ý - ‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B - ProjectA\03 ‚â ProjectB\03 ‚́Aƒtƒ‰ƒbƒg‚Å‚Í‚Í‚È‚¢ <RevisionSet> 01, 02 ‚Ì‹Lq - ‚É‚æ‚èA<RevisionSet> ‚Ì‹Lq‚ª•K—v‚ɂȂ邱‚Æ‚ªŒx‚³‚êAƒRƒ}ƒ“ƒh‚ðŽÀs‚Å‚« - ‚Ü‚¹‚ñB ‚±‚̏ó‘Ô‚ðAƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚ª•s–¾‚ȏó‘ԂƌĂт܂·B - ProjectA\10 ‚â ProjectB\10 ‚́Aƒtƒ‰ƒbƒg‚È <RevisionSet> 09, 09 ‚Ì‹Lq‚É‚æ‚èA - ƒRƒ}ƒ“ƒh‚ðŽÀs‚Å‚«‚Ü‚·B - <RevisionSet> ‚Ì‹Lq‚ªÈ—ª‚³‚ê‚Ä‚¢‚é - - ¨ ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg - - - ¨ ÅIƒ^[ƒQƒbƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“ - - ƒtƒ‰ƒbƒg‚Å‚Í‚È‚¢ƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚̏ꍇA<RevisionSet> ‚É‹Lq‚³‚ꂽÅIƒ^[ƒQƒbƒg‚̃ŠƒrƒWƒ‡ƒ“‚Ì‚¤‚¿AÅ‚à”Žš‚Ì‘å‚«‚¢ƒŠƒrƒWƒ‡ƒ“ ƒZƒbƒg‚ªAÅIƒ^[ƒQƒbƒg‚̃x[ƒX - ƒŠƒrƒWƒ‡ƒ“‚É‚È‚è‚Ü‚·B - ƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©‚́Aƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ÌŒˆ’è‚ɉe‹¿ - ‚µ‚Ü‚¹‚ñB - ‚̏ꍇiÅIƒ^[ƒQƒbƒg‚̃vƒƒWƒFƒNƒg‚̃ŠƒrƒWƒ‡ƒ“‚ª - - - MakeByModuleAssort "Projects.xml", "ProjectA\02", True - - ƒŠƒrƒWƒ‡ƒ“‚ÌŽw’肪È—ª‚³‚ꂽ‚Æ‚«‚́Aó‹µ‚É‚æ‚Á‚ĈقȂè‚Ü‚·iŒãqjB ‚Ü‚½Aƒrƒ‹ƒh‚·‚é‘Ώۂ̓[ƒN ƒŠƒrƒWƒ‡ƒ“‚Å‚·‚ªAƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ðŒˆ’è‚µ‚Ä‚©‚ç - ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ªŒˆ’肳‚ê‚邽‚߁Aæ‚Ƀx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ðŒˆ’è‚µ‚Ü‚·B - ÅIƒ^[ƒQƒbƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚́AProjectA ‚̃ŠƒrƒWƒ‡ƒ“ 02 - Å‚à¬‚³‚¢ÅVƒŠƒrƒWƒ‡ƒ“‚ª ProjectA\03 ‚Ȃ̂ŁA - - - MakeByModuleAssort "Projects.xml", "ProjectA", False - - - - - - 03 - ProjectB - ProjectA - - - - - - 04 - - - - - - 03 - Ôü‚ªƒ[ƒN ƒŠƒrƒWƒ‡ƒ“B•ü‚ªƒx[ƒX ƒŠƒrƒWƒ‡ƒ“B - ”Žš‚Ì‹Lq‚ª‚È‚¢ƒŠƒrƒWƒ‡ƒ“‚́A - ƒtƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢B - - - <MakeRule><Output>ProjectA\*</Output> - <Input >ProjectB\*</Input> - <Command>...</Command> - <RevisionSet>03, 04</RevisionSet> - <RevisionSet>01, 02</RevisionSet> - </MakeRule> - - - - MakeByModuleAssort "Projects.xml", "ProjectA", False - - 03 - ProjectA - ProjectB - 04 - - - - - <RevisionSet> ‚Ì’†‚ŁAÅ‚à”Žš‚ª‘å‚«‚¢ ProjectA ‚̃ŠƒrƒWƒ‡ƒ“‚ðŽ‚ÂƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚ªA<RevisionSet> 03, 04 ‚Ȃ̂ŁA - - ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg - - –¾Ž¦“IEˆÃ–Ù“I‚Ƀtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚̏ꍇjAƒƒCƒN ƒ‹[ƒ‹‚ª“üo—Í‚·‚éŠeŽíƒvƒƒWƒFƒNƒg‚̍ŐVƒŠƒrƒWƒ‡ƒ“iƒtƒHƒ‹ƒ_[j‚Ì‚¤‚¿A - Å‚à¬‚³‚¢ÅVƒŠƒrƒWƒ‡ƒ“‚ªAÅIƒ^[ƒQƒbƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚É‚È‚è‚Ü‚·B - Å‚à‘å‚«‚ȍŐVƒŠƒrƒWƒ‡ƒ“‚́AÅIƒ^[ƒQƒbƒg‚̃[ƒN ƒŠƒrƒWƒ‡ƒ“‚É‚È‚è‚Ü‚·‚ªA - ‚±‚Ì’iŠK‚Å‚ÍŒˆ’肵‚Ü‚¹‚ñB - 02 - - - - - - ProjectB - - - - - ProjectA - - - MakeByModuleAssort "Projects.xml", "ProjectA", False - - ÅIƒ^[ƒQƒbƒg ProjectA ‚̃ŠƒrƒWƒ‡ƒ“‚ªÈ—ª‚³‚ꂽ‚Æ‚« - ÅIƒ^[ƒQƒbƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚Í ProjectA\03B - ÅIƒ^[ƒQƒbƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚Í ProjectA\03B - ÅIƒ^[ƒQƒbƒgˆÈŠO‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“ - - ¨ ÅIƒ^[ƒQƒbƒgˆÈŠO‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“ - - ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“ - - ¨ ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“ - - ƒ†[ƒU[‚É‚æ‚Á‚ăŠƒrƒWƒ‡ƒ“‚ª–¾Ž¦“I‚ÉŽw’肳‚ꂽ‚Æ‚«‚́A‚»‚̃ŠƒrƒWƒ‡ƒ“‚ªAƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ÉŒˆ’肵‚Ü‚·B - - ‚È‚¨A‘召”äŠr‚³‚ê‚郊ƒrƒWƒ‡ƒ“‚Ì–¼‘O‚́A”Žš‚Å‚ ‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - Ý’èƒtƒ@ƒCƒ‹‚É‹Lq‚·‚郊ƒrƒWƒ‡ƒ“‚Ì–¼‘O‚âAƒtƒHƒ‹ƒ_[‚É•t‚¯‚郊ƒrƒWƒ‡ƒ“‚Ì–¼‘O‚́A”Žš‚Å‚ ‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB WorkAWork-NewAWork-03A 03_5_Branch - ‚Å‚à\‚¢‚Ü‚¹‚ñB - - NumStringCompare (vbslib) - - shlwapi.dll ‚Ì StrCmpLogicalW, - ŽQl - ƒŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚ƁA‚»‚̑召”äŠr - - ¨ ƒŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚ƁA‚»‚̑召”äŠr - - - - MakeByModuleAssort "Projects.xml", "ProjectA\02", True - - - - MakeByModuleAssort "Projects.xml", "ProjectA", True - - Projects.xml ‚͐ݒèƒtƒ@ƒCƒ‹–¼B ProjectA ‚͍ŏIƒ^[ƒQƒbƒg‚̃vƒƒWƒFƒNƒg–¼B 02 ‚͍ŏIƒ^[ƒQƒbƒg‚̃ŠƒrƒWƒ‡ƒ“B - True, False ‚́Aƒoƒbƒ`ˆ—‚ð‚·‚éi‘ΘbŽ®ƒƒjƒ…[‚ðo‚³‚È‚¢j‚©‚Ç‚¤‚©B - ‘召”äŠr‚́A”Žš‚Ì•”•ª‚𕡐”Œ…‚̐³‚̐®”’l‚Æ‚µ‚Ä•¶Žš—ñ‚ð”äŠr‚µ‚Ü‚·B‘å‚«‚¢‚Ù‚¤‚ªV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚Å‚·B - ‚ŃŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚ărƒ‹ƒh‚·‚é‚Æ‚«‚́AÅIƒ^[ƒQƒbƒg‚Ì - ƒvƒƒWƒFƒNƒg–¼‚ƃŠƒrƒWƒ‡ƒ“‚Ì—¼•û‚ðŽw’肵‚Ü‚·B ‚±‚Ì‚Æ‚«Aƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ƌĂ΂ê‚郊ƒrƒWƒ‡ƒ“‚ðƒrƒ‹ƒh‚µ‚Ü‚·B ƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚́AŠù‘¶‚̃ŠƒrƒWƒ‡ƒ“‚©‚ç‚Ȃ郊ƒrƒWƒ‡ƒ“ - ƒcƒŠ[iŒãqj‚Å‚·B ƒŠƒrƒWƒ‡ƒ“‚̍XV‚ª‚ ‚Á‚½‚©‚Ç‚¤‚©‚ɂ‚¢‚Ă̓`ƒFƒbƒN‚µ‚Ü‚¹‚ñB - ÅIƒ^[ƒQƒbƒgˆÈŠO‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚́AÅIƒ^[ƒQƒbƒg‚ðƒ‹[ƒg‚É‚µ‚½ƒƒCƒN ƒcƒŠ[‚̐e‚©‚çŽq‚É“`”À‚µ‚Ä‚¢‚­‚±‚Æ‚ÅŒˆ‚Ü‚è‚Ü‚·B - ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚́Aƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚æ‚èV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚ª‚ ‚é‚©‚Ç‚¤‚©‚É‚æ‚Á‚Ä‘¶Ý‚·‚é‚©‚µ‚È‚¢‚©‚ªŒˆ‚Ü‚è‚Ü‚·B ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚̓ƒCƒN ƒcƒŠ[‚ð“`”À‚·‚邱‚Æ - ‚Í‚ ‚è‚Ü‚¹‚ñiŒãqjB - ‚̏ꍇA‚P‚‚̏o—̓vƒƒWƒFƒNƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚Æ - - ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg - - “¯‚¶–¼‘O‚̃ŠƒrƒWƒ‡ƒ“‚ªA“ü—̓vƒƒWƒFƒNƒg‚⑼‚̏o—̓vƒƒWƒFƒNƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚É“`”À‚µ‚ÄŒˆ‚Ü‚è‚Ü‚·B - - - - - - ProjectA - ProjectB - 03 - 03 - - - - - - ƒtƒ‰ƒbƒg‚Å‚Í‚È‚¢ƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚̏ꍇA‚P‚‚̏o—̓vƒƒWƒFƒNƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚ðŠÜ‚Þ <RevisionSet> ‚É‚æ‚Á‚āA“ü—̓vƒƒWƒFƒNƒg‚⑼‚̏o—̓vƒƒWƒFƒNƒg‚̃x[ƒX - ƒŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚É“`”À‚µ‚ÄŒˆ‚Ü‚è‚Ü‚·B - - - <MakeRule><Output>ProjectA\*</Output> - <Input >ProjectB\*</Input> - <Command>...</Command> - <RevisionSet>03, 04</RevisionSet> - <RevisionSet>01, 02</RevisionSet> - </MakeRule> - - - - - - - 04 - ProjectB - ProjectA - - - - - - 03 - - - - - - ŠY“–‚·‚é <RevisionSet> ‚ª–³‚¢‚Æ‚«‚́A“ü—̓vƒƒWƒFƒNƒg‚⑼‚̏o—̓vƒƒWƒFƒNƒg‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚́A•s–¾ó‘Ô‚É‚È‚è‚Ü‚·B - - - - - - ProjectA - ProjectB - •s–¾ - - - - - - 04 - •s–¾ó‘Ԃ̃ŠƒrƒWƒ‡ƒ“‚ª‚P‚Â‚Å‚à‘¶Ý‚·‚郁ƒCƒN ƒ‹[ƒ‹‚ŃRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ɂ́AŠY“–‚·‚郊ƒrƒWƒ‡ƒ“‚ðŠÜ‚Þ <RevisionSet> ‚Ì‹Lq‚ð’ljÁ‚µ‚āA•s–¾ó‘Ԃ̃ŠƒrƒWƒ‡ƒ“ - ‚ð‚È‚­‚·•K—v‚ª‚ ‚è‚Ü‚·B - - - <RevisionSet>04, 05</RevisionSet> - - c ’ljÁ - ‚ð‘ΏۂɁA[‚¢‚Ù‚¤‚̃ƒCƒN ƒ‹[ƒ‹‚©‚珇ŽŸƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚½‚Æ‚«‚̏ڍׂȓ®‚« - ‚½‚¾‚µAƒRƒ}ƒ“ƒh‚É“n‚·o—̓pƒXi${Output[n]} •Ï”j‚́AProjectB\Work-02 ‚̂悤‚É Work ‚ª•t‚¢‚½–¼‘O‚̃tƒHƒ‹ƒ_[iWork ƒtƒHƒ‹ƒ_[j‚É‚µ‚Ü‚·B - ‚P‚‚̃Rƒ}ƒ“ƒh‚ªI—¹‚µ‚½‚çAProjectB\02 ‚̂悤‚É Work ‚ª•t‚¢‚Ä‚¢‚È‚¢–¼‘O‚Ì - ƒtƒHƒ‹ƒ_[‚Æ“à—e‚ð”äŠr‚µ‚āA“¯‚¶‚¾‚Á‚½‚ç Work ‚ª•t‚¢‚½ƒtƒHƒ‹ƒ_[ - iProjectB\Work-02j‚ðíœ‚µ‚āAŽŸ‚̃ƒCƒN ƒ‹[ƒ‹‚̃Šƒrƒ‹ƒh‚ɐi‚Ý‚Ü‚·B - - - - - - ProjectA - ProjectB - - - - - - ProjectC - 02 - 02 - 02 - ã‹L‚̏ꍇAProjectC ‚̃ŠƒrƒWƒ‡ƒ“ 02 iProjectC\02j ‚ð“ü—́AProjectB\02 ‚ðo—Í‚Æ‚·‚éƒRƒ}ƒ“ƒh‚ƁAProjectB\02 ‚ð“ü—́AProjectA\02 ‚ðo—Í‚Æ‚·‚éƒRƒ}ƒ“ƒh‚ð - ŽÀs‚µ‚Ü‚·B - ‚à‚µA“à—e‚ð”äŠr‚µ‚½Œ‹‰ÊAˆá‚¢‚ª‚ ‚Á‚½‚çAƒGƒ‰[‚É‚È‚èAŽŸ‚̃ƒCƒN ƒ‹[ƒ‹‚ɂ͐i‚Ý‚Ü‚¹‚ñB ProjectB\02 ‚̂悤‚È”äŠr‘Ώۂ̃tƒHƒ‹ƒ_[‚ª‚È‚¢‚Æ‚«‚ài‚Ý‚Ü‚¹ - ‚ñB - ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚̏ڍׂȓ®‚« - ‚ɃŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚È‚¢‚ŁA in_IsBatch ˆø”‚É False ‚ð - 02 - 02 - ProjectC - ProjectB - ProjectA - - - - - - 02 - - - - - - ƒGƒ‰[ - ŽÀs‚µ‚È‚¢ - - - - - - - - - - - - - - - - - - - - - 02 - 02 - ProjectC - - - - - - ProjectB - ProjectA - - - - - - 02 - Work-02 - Work-02 - - - - - - 02 - 02 - ProjectC - - - - - - ProjectB - ProjectA - - - - - - 02 - - MakeByModuleAssort - - ÅVƒŠƒrƒWƒ‡ƒ“‚ðƒrƒ‹ƒh‚·‚é‚Æ‚«‚́AÅIƒ^[ƒQƒbƒg‚̃vƒƒWƒFƒNƒg–¼‚Ì‚Ý‚ðŽw’肵AƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚Ü‚¹‚ñB ‚±‚Ì‚Æ‚«Aƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ƌĂ΂ê‚郊ƒrƒWƒ‡ƒ“‚ðƒrƒ‹ƒh - ‚µ‚Ü‚·B ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚́Aƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚æ‚èV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚ª‚ ‚郊ƒrƒWƒ‡ƒ“ - ƒcƒŠ[‚Å‚·B - - MakeByModuleAssort - - ‚ɃŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚ărƒ‹ƒh‚ðŠJŽn‚·‚é‚ƁAƒx[ƒX ƒŠƒrƒWƒ‡ƒ“ - - MakeByModuleAssort - - Žw’肵‚½‚Æ‚«‚́Aƒrƒ‹ƒh‚ðŠJŽn‚·‚é‚ƁAƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ð‘ΏۂɁA[‚¢‚Ù‚¤‚̃ƒCƒN ƒ‹[ƒ‹‚©‚珇ŽŸƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - 03 - - - - - - - - - - - - ¨ Work ƒtƒHƒ‹ƒ_[‚Ì—L–³‚ƃƒCƒNiƒrƒ‹ƒhj‚Ì“®‚« - - ŽQl - ‚½‚¾‚µAƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ƃ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ðŒˆ‚ß‚éˆ—‚Ì’†‚ł́AWork ‚©‚çŽn‚܂郊ƒrƒWƒ‡ƒ“‚́AWork- ‚ð•t‚¯‚È‚¢–¼‘O‚ðƒŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B - 02 - Work-03 - Work ‚Æ‚¢‚¤–¼‘O‚ƁAWork ‚Ì’¼Œã‚Ì•¶Žš‚ª - ‚Å‚Í‚È‚¢–¼‘O‚ð”äŠr‚µ‚悤‚Æ‚µ‚½‚Æ‚«‚́AƒŠƒrƒWƒ‡ƒ“‚Ì–¼‘O‚ª•ª‚©‚ç‚È‚¢‚½‚߁AƒGƒ‰[‚É‚È‚è‚Ü‚·B - c ƒx[ƒX ƒŠƒrƒWƒ‡ƒ“ 03 ‚Æ‚µ‚ďˆ— - ƒoƒbƒ`ˆ—‚ð‚µ‚È‚¢‚Æ‚«i‘ΘbŽ®ƒƒjƒ…[‚ðo‚·‚Æ‚«j‚ɁAÅIƒ^[ƒQƒbƒg‚̃vƒƒWƒFƒNƒg‚ɑ΂·‚é Work ƒtƒHƒ‹ƒ_[‚ª‘¶Ý‚·‚é‚Æ‚«‚́AMakeByModuleAssort ‚ð - ŠJŽn‚µ‚½’¼Œã‚É‚P‚‚à Work ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚¹‚ñB - ƒoƒbƒ`ˆ—‚ð‚µ‚È‚¢‚Æ‚«i‘ΘbŽ®ƒƒjƒ…[‚ðo‚·‚Æ‚«j‚ɁAÅIƒ^[ƒQƒbƒg‚Ì - ƒvƒƒWƒFƒNƒg‚ɑ΂·‚é Work ƒtƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚ɁA - ÅIƒ^[ƒQƒbƒgˆÈŠO‚̃vƒƒWƒFƒNƒg‚ɑ΂·‚é Work ƒtƒHƒ‹ƒ_[‚ª‚·‚Å‚É‘¶Ý‚µA - “à—e‚ª‹ó‚Å‚Í‚È‚©‚Á‚½‚Æ‚«‚̓Gƒ‰[‚É‚È‚è‚Ü‚·B - ƒoƒbƒ`ˆ—‚ð‚·‚é‚Æ‚«i‘ΘbŽ®ƒƒjƒ…[‚ðo‚³‚È‚¢‚Æ‚«j‚́AÅIƒ^[ƒQƒbƒg‚Ì - ƒvƒƒWƒFƒNƒg‚ɑ΂·‚é Work ƒtƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚Æ“¯‚¶“®‚«‚É‚È‚è‚Ü‚·B - MakeByModuleAssort ‚ðŠJŽn‚µ‚½’¼Œã‚ɁA‹ó‚Ì Work ƒtƒHƒ‹ƒ_[‚ð‚·‚×‚Ä‚Ìo—̓vƒƒWƒFƒNƒg‚ɑ΂µ‚čì‚è‚Ü‚·‚ªA‘O‰ñ‚̃ƒCƒN‚̈ꕔ‚ª¬Œ÷‚µ‚Ä Work ƒtƒHƒ‹ƒ_[ - ‚ª‚È‚­‚È‚Á‚½ƒvƒƒWƒFƒNƒg‚ɑ΂µ‚āA‚»‚ê‚ðo—Í‚·‚郁ƒCƒN ƒ‹[ƒ‹‚̃Rƒ}ƒ“ƒh‚ÍŽÀs - ‚µ‚Ü‚¹‚ñB - 02 - - - - - - ProjectA - ProjectB - - - - - - ProjectC - 02 - 02 - - - - - - Work-02 - ŽÀs‚µ‚È‚¢ - ÅIƒ^[ƒQƒbƒg ProjectA ‚É Work ƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚́A‘±‚«‚ðŽÀs‚·‚éB - MakeByModuleAssort ‚ðŠJŽn‚µ‚½’¼Œã‚ɁA‹ó‚Ì Work ƒtƒHƒ‹ƒ_[‚ð‚·‚×‚Ä‚Ìo—Í - - ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚½‚Æ‚«‚Ì“®‚« - - ‚Æ“¯‚¶‚Å‚·B - ƒvƒƒWƒFƒNƒg‚ɑ΂µ‚čì‚é‚©‚Ç‚¤‚©‚́A - - ¨ ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚½‚Æ‚«‚̏ڍׂȓ®‚« - - - ¨ ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚̏ڍׂȓ®‚« - - Work-03 - “r’†‚̃vƒƒWƒFƒNƒg‚ɑ΂µ‚㏁[ƒN ƒŠƒrƒWƒ‡ƒ“‚ª‘¶Ý‚µ‚È‚¢‚±‚Æ‚ª‚ ‚邽‚߁AÅŒã‚ÉŽÀs‚µ‚½ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚½Œã‚ɁA•K‚¸ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ˆê“x‚Å‚àƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚È‚©‚Á‚½‚çAƒGƒ‰[‚É‚È‚è‚Ü‚¹‚ñB - Ôü‚̓[ƒN ƒŠƒrƒWƒ‡ƒ“B•ü‚̓x[ƒX ƒŠƒrƒWƒ‡ƒ“B - ”Žš‚Ì‹Lq‚ª‚È‚¢ƒŠƒrƒWƒ‡ƒ“‚́A - ƒtƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢B - ÅŒã‚ÉŽÀs‚µ‚½ƒRƒ}ƒ“ƒh‚ªAÅIƒ^[ƒQƒbƒg‚̃vƒƒWƒFƒNƒg‚ɑ΂·‚éƒRƒ}ƒ“ƒh‚Å‚Í‚È‚©‚Á‚½‚Æ‚«‚́AƒGƒ‰[‚ª”­¶‚µ‚Ü‚·B - ƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ªƒtƒ‰ƒbƒg‚Å‚Í‚È‚¢ƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚̏ꍇA<RevisionSet> ‚Ì‹Lq‚æ‚èV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“iƒvƒƒWƒFƒNƒg‚̃ŠƒrƒWƒ‡ƒ“A‚Ü‚½‚́A - ƒtƒHƒ‹ƒ_[j‚ª‚ ‚é‚Æ‚«‚́A•s–¾ó‘Ԃ̃[ƒN ƒŠƒrƒWƒ‡ƒ“‚ªˆÃ–Ù“I‚É‘¶Ý‚µ‚Ü‚·B - ‚»‚Ì‚Æ‚«‚́Aƒrƒ‹ƒh‚·‚é•K—v‚ª‚ ‚è‚Ü‚·‚ªAƒrƒ‹ƒh‚·‚邽‚߂ɂ́AV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“ - ‚ðŠÜ‚Þ <RevisionSet> ‚Ì‹Lq‚̒ljÁ‚ª•K—v‚Å‚·B ’ljÁ‚µ‚½Œã‚Å‚à <RevisionSet> - ‚Ì‹Lq‚É‚ ‚郊ƒrƒWƒ‡ƒ“‚ɑΉž‚·‚é“ü—Í‚Ü‚½‚͏o—̓tƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢‚̂ŁA - ƒrƒ‹ƒh‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - <RevisionSet> ‚Ì‹Lq‚æ‚èV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚ª‚È‚¢‚Æ‚«‚́Aƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚Í‘¶Ý‚µ‚Ü‚¹‚ñB - - - - - 04 - ProjectC - ProjectB - - - - - - 03 - 05 - - - <RevisionSet>04, 05</RevisionSet> - - c ’ljÁ - ProjectB\05 ƒtƒHƒ‹ƒ_[‚Í‘¶ÝBProjectA\04 ƒtƒHƒ‹ƒ_[‚Í•sÝB - ”Žš‚Ì‹Lq‚ª‚È‚¢ƒŠƒrƒWƒ‡ƒ“‚́A - ƒtƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢B - - - - - - ‚̏ꍇAƒƒCƒN ƒ‹[ƒ‹‚ª“üo—Í‚·‚é - - ƒtƒ‰ƒbƒg‚ȃŠƒrƒWƒ‡ƒ“ƒZƒbƒg - - ƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ª - ŠeŽíƒvƒƒWƒFƒNƒg‚̍ŐVƒŠƒrƒWƒ‡ƒ“iƒvƒƒWƒFƒNƒg‚̃ŠƒrƒWƒ‡ƒ“A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[j‚Ì‚¤‚¿AÅ‚à‘å‚«‚ȍŐVƒŠƒrƒWƒ‡ƒ“‚ªAƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚æ‚è‘å‚«‚¢‚Æ‚«‚́A‚»‚Ì - ƒŠƒrƒWƒ‡ƒ“‚ªƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚É‚È‚è‚Ü‚·B ƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚æ‚è‘å‚«‚­‚È‚¢‚Æ‚«‚́A - ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚Í‘¶Ý‚µ‚Ü‚¹‚ñB - ProjectC - 04 - - - - - - 03 - ProjectB - ProjectA - - - - - - 03 - - - - - - •ü‚ªƒx[ƒX ƒŠƒrƒWƒ‡ƒ“BÔü‚ªƒ[ƒN ƒŠƒrƒWƒ‡ƒ“B - ”Žš‚Ì‹Lq‚ª‚È‚¢ƒŠƒrƒWƒ‡ƒ“ - ‚́A‘¶Ý‚µ‚È‚¢B - ProjectD - - - - - - 03 - - - - - - ã‹L ProjectA ‚ɂ́Aƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ª‘¶Ý‚µ‚Ü‚¹‚ñB ProjectB ‚©‚ç“`”À‚·‚邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB ‚±‚ê‚́A‚P‚‚̐V‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚Ì“à—e‚â–¼‘O‚ðŒˆ’è‚·‚邱‚Æ‚É - W’†‚µ‚čì‹Æ‚Å‚«‚é‚悤‚É‚·‚邽‚ß‚Å‚·B - 03 - - ‚È‚¨A‘召”äŠr‚³‚ê‚郊ƒrƒWƒ‡ƒ“‚Ì–¼‘O‚́A”Žš‚Å‚ ‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - - - - - - - - - - - –¢‘Ήž - - ˆÈ‰º‚́AƒƒCƒN ƒcƒŠ[iƒƒCƒN ƒ‹[ƒ‹‚ō\¬‚³‚ê‚éƒOƒ‰ƒt—˜_‚̃Oƒ‰ƒtj‚Ì’†‚ŁA‚ǂ̃ŠƒrƒWƒ‡ƒ“‚ªˆ—‘ΏۂɂȂ邩Aƒx[ƒX ƒŠƒrƒWƒ‡ƒ“‚ƃ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ª‰½‚É‚È‚é‚©‚É - ‚‚¢‚Äà–¾‚µ‚Ä‚¢‚Ü‚·B - - - ƒx[ƒX ƒŠƒrƒWƒ‡ƒ“ - - - - ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“ - - c Šù‘¶‚̃ŠƒrƒWƒ‡ƒ“ - c V‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚àŠÜ‚Þ - MakeByModuleAssort ‚ɃŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚È‚¢‚ŁA in_IsBatch ˆø”‚É True ‚ðŽw’肵‚½‚Æ‚«‚́Aƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ª‚P‚Â‚à–³‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚µ‚āAÅV‚̃x[ƒX - ƒŠƒrƒWƒ‡ƒ“‚ð‘ΏۂɁA[‚¢‚Ù‚¤‚̃ƒCƒN ƒ‹[ƒ‹‚©‚珇ŽŸƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - ƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ª‚P‚Â‚Å‚à‘¶Ý‚µ‚½‚çAƒGƒ‰[‚É‚È‚è‚Ü‚·Bƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚ð‘Ώۂɂµ‚½ƒRƒ}ƒ“ƒh‚ÍŽÀs‚µ‚Ü‚¹‚ñB - - ƒŠƒrƒWƒ‡ƒ“‚ðŽw’肵‚½‚Æ‚«‚Ì“®‚« - - ÅV‚̃x[ƒX ƒŠƒrƒWƒ‡ƒ“‚ªŒˆ‚Ü‚Á‚½Œã‚́A - ‚Æ“¯‚¶‚Å‚·B - –{Í‚ł́A‚±‚Ì - - - - - - ProjectA - ProjectB - - - - - - ProjectC - –{Í‚ł́AƒŠƒrƒWƒ‡ƒ“ ƒcƒŠ[‚ƌĂ΂ê‚éƒOƒ‰ƒt‚ðŽg‚Á‚Äà–¾‚ð‚µ‚Ü‚·B ƒŠƒrƒWƒ‡ƒ“ ƒcƒŠ[‚́AƒƒCƒN ƒcƒŠ[‚Ì’†‚ŃŠƒrƒWƒ‡ƒ“‚É’–Ú‚µ‚½ƒcƒŠ[‚ŁA‰º‹L‚̃Oƒ‰ƒt‚Ì - ‘S‘Ì‚Å‚·B - ƒŠƒrƒWƒ‡ƒ“ ƒcƒŠ[‚Ì—áBProjectA ‚̃ŠƒrƒWƒ‡ƒ“ 01 ‚ȂǁB - 01 - 01 - 01 - ‚»‚ꂼ‚ê‚Ì•Ó‚ªƒŠƒrƒWƒ‡ƒ“ƒZƒbƒgiÝ’èƒtƒ@ƒCƒ‹‚Ì <MakeRule> ‚Ì’†‚Ì <RevisionSet>A‚Ü‚½‚́A<Porject> ‚Ì’†‚Ì <Module> ‚̏W‡j‚Å‚·B - –{Í‚̃Oƒ‰ƒt‚́AƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚̍¶‚ªƒ^[ƒQƒbƒgio—́jƒvƒƒWƒFƒNƒgA‰E‚ªƒ\[ƒX - i“ü—́jƒvƒƒWƒFƒNƒg‚Å‚ ‚é‚Æ‚µ‚Ä‚¢‚Ü‚·B ã‹L‚̏ꍇAProjectC ‚ðƒrƒ‹ƒh‚·‚é - ƒŠƒrƒWƒ‡ƒ“ƒZƒbƒg‚ƁAProjectB ‚ðƒrƒ‹ƒh‚·‚郊ƒrƒWƒ‡ƒ“ƒZƒbƒg‚ª‚ ‚èAÅI“I‚É - ProjectA ‚ª‚Å‚«‚Ü‚·B - ƒŠƒrƒWƒ‡ƒ“ ƒcƒŠ[ - - ƒŠƒrƒWƒ‡ƒ“ ƒcƒŠ[ - - ‚ƌĂ΂ê‚éƒOƒ‰ƒt‚ðŽg‚Á‚Äà–¾‚ð‚µ‚Ü‚·B - - ¨ ƒŠƒrƒWƒ‡ƒ“ ƒcƒŠ[ - - - - - - - - Work ƒtƒHƒ‹ƒ_[‚Ì—L–³‚ƃƒCƒNiƒrƒ‹ƒhj‚Ì“®‚« - 3. “ü—Í Work[-00] - 2. “ü—Í Work-New[-00] - 1. o—Í Work-New[-00] - 4. o—Í Work[-00] - - - ƒƒCƒN‚µ‚½‚Æ‚«‚Ì“®‚« - V - - - - - - - 3. “ü—Í‚ª‚Å‚«‚Ä‚¢‚È‚¢‚̂ŁAŒx‚µ‚Ä’âŽ~‚·‚é - 4. o—Í‚µ‚悤‚Æ‚µ‚Ä‚¢‚é‚̂ŁAƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - - - V - - - - - - - - - V - - - 2. V‚µ‚¢“ü—Í‚ª‚ ‚é‚̂ŁAƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - - - - - - - V - 1. o—Í’P‘̂ł̓Rƒ~ƒbƒg‚µ‚½‚̂ŁAƒXƒLƒbƒv‚·‚é - V - V - - - - - Work-New ‚ŁAƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - V - - - - - V - ƒXƒLƒbƒv‚µ‚āAo—Í‚ð“ü—Í‚Æ‚µ‚ÄŽg‚¤ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - V - - - V - - - “ü—Í‚ª‚Å‚«‚Ä‚¢‚È‚¢‚̂ŁAƒXƒLƒbƒv‚·‚é - V - V - V - V - o—Í’P‘̂ł̓Rƒ~ƒbƒg‚µ‚½‚̂ŁAƒXƒLƒbƒv‚·‚é - - - –¢Šm”F - - Work ƒtƒHƒ‹ƒ_[iƒ[ƒN ƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[j‚Ì—L–³‚ƃƒCƒN‚Ì“®‚«‚ÌŠÖŒW‚ðŽ¦‚µ‚Ü‚·B - V = ƒtƒHƒ‹ƒ_[‚ª‚ ‚éA - = ƒtƒHƒ‹ƒ_[‚ª‚È‚¢ - ‚Ç‚Ì Work ƒtƒHƒ‹ƒ_[‚à‚È‚¢ê‡‚Å‚àA‰º‹L‚̂悤‚ɁAƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - ã‹L‚̍s“ª‚̐”Žš‚́A¬‚³‚¢‚Ù‚Ç—Dæ‚Å‚ ‚邱‚Æ‚ð•\‚µ‚Ü‚·B ‚½‚Æ‚¦‚΁A“ü—̓tƒHƒ‹ƒ_[‚É Work ƒtƒHƒ‹ƒ_[(2.)‚Æ - Work-New ƒtƒHƒ‹ƒ_[(3.)‚Ì—¼•û‚ª‚ ‚é‚Æ‚«‚́AWork-New ƒtƒHƒ‹ƒ_[(2.)‚¾‚¯‚ª‚ ‚é‚Æ‚«‚̃ƒCƒN‚·‚é‚Æ‚«‚Ì“®‚«‚Æ - “¯‚¶‚É‚È‚è‚Ü‚·B - - ƒƒCƒNiXVƒƒCƒNj‚ð‚·‚é‚Æ‚«‚ɁAÅV‚̃Rƒ~ƒbƒg‚ª“ü—Í‚·‚郊ƒrƒWƒ‡ƒ“‚æ‚è‚àV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[ - ‚ª‚ ‚é‚Æ‚«‚́A“ü—Í‚Ì Work-New ƒtƒHƒ‹ƒ_[A‚Ü‚½‚͏o—Í‚Ì Work ƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚Æ“¯‚¶ó‹µ‚Å‚ ‚é‚Æ‚µ‚āA - ƒƒCƒN‚·‚é‚Æ‚«‚Ì“®‚«‚ðŒˆ’è‚µ‚Ü‚·BƒŠƒƒCƒNi‰ñ‹AƒƒCƒNj‚ð‚·‚é‚Æ‚«‚́AV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚̃tƒHƒ‹ƒ_[‚ª‚ ‚Á‚Ä‚à - ‚È‚­‚Ä‚àAƒƒCƒN‚·‚é‚Æ‚«‚Ì“®‚«‚ÌŒˆ’è‚ɉe‹¿‚µ‚Ü‚¹‚ñB - - Work[-00] ‚́AƒtƒHƒ‹ƒ_[–¼‚ð Work ‚©‚ç Work-01 ‚â Work-02 ‚̂悤‚ɁAƒnƒCƒtƒ“‚ÌŒã‚ɁA—\’肵‚Ä‚¢‚郊ƒrƒWƒ‡ƒ“ - ”ԍ†‚ðŽè“®‚Å•t‚¯‚邱‚Æ‚ª‚Å‚«‚邱‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B - - Work ƒtƒHƒ‹ƒ_[‚ª‚ ‚闝—R‚́AƒvƒƒWƒFƒNƒg‚⃂ƒWƒ…[ƒ‹‚ªƒRƒ~ƒbƒg‘O‚Å‚ ‚邱‚Æ‚ðŽ¦‚·‚½‚ß‚Å‚·B - ƒRƒ}ƒ“ƒh‚ÉŽw’è‚Å‚«‚é•Ï” ${Output} ‚̃tƒHƒ‹ƒ_[–¼‚́AWork ‚Å‚·B - Work-New ƒtƒHƒ‹ƒ_[‚ª‚ ‚闝—R‚́AƒvƒƒWƒFƒNƒg‚ð‰¼ƒRƒ~ƒbƒg‚·‚邽‚ß‚Å‚·B - ‰¼ƒRƒ~ƒbƒg‚Ƃ́AƒƒCƒN ƒcƒŠ[‚Ì’†‚̃vƒƒWƒFƒNƒg‚ð’P‘̂ŃRƒ~ƒbƒg‚·‚邱‚Æ‚Å‚·B - ‰¼ƒRƒ~ƒbƒg‚́AŽè“®‚ŃtƒHƒ‹ƒ_[–¼‚ð•Ï‚¦‚邱‚Ƃōs‚¢‚Ü‚·B - ’P‘̂̃Rƒ~ƒbƒg‚ðŽc‚·—\’è‚Ì‚Æ‚«‚́AƒRƒs[‚ðƒRƒ~ƒbƒg‚µ‚Ü‚·i‰¼ƒRƒ~ƒbƒg‚Å‚Í‚È‚¢jB - ÅV‚ðƒƒCƒN‚·‚é‚Æ‚«‚Å‚àA‘O‚̃ŠƒrƒWƒ‡ƒ“‚Æ“¯‚¶“à—e‚̉¼ƒRƒ~ƒbƒg‚ð“ü—Í‚Æ‚·‚邱‚Æ‚à‚ ‚è‚Ü‚·B - - - - - - - - - - - - MakeWorkByModuleAssort - - - Sub MakeWorkByModuleAssort( in_ProjectPath as string, in_TargetPath as string ) - - ‚ÅŽÀs‚·‚éƒRƒ}ƒ“ƒh‚ðÄ“xŽÀs‚·‚é‚悤‚É Work ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚·B - yˆø”z - in_ProjectPath - in_TargetPath - Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX - ƒƒCƒN‚µ‚Ä‚Å‚«‚éƒtƒHƒ‹ƒ_[A‚Ü‚½‚́A‚»‚̐eƒtƒHƒ‹ƒ_[‚̃pƒX - - << ModuleAssort - - - - –¢‘Ήž - - - MakeByModuleAssort ŠÖ” - - Work - Release - 01 - 01 - Source - c ‚±‚̃tƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚· - - - '// RebuildMakeWorkByModuleAssort "C:\Masters\Projects.xml", "C:\Masters\Release" - MakeByModuleAssort "C:\Masters\Projects.xml", "C:\Masters\Release" - - ƒXƒNƒŠƒvƒgF MakeWorkByModuleAssort ŠÖ”‚ðŒÄ‚яo‚·ƒTƒ“ƒvƒ‹ - MakeWorkByModuleAssort ŠÖ”‚́A“KØ‚ȏꏊ‚É Work ƒtƒHƒ‹ƒ_[‚ª–³‚¯‚ê‚΁A‹ó‚Ì Work ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚·B - Work ƒtƒHƒ‹ƒ_[‚ðì¬‚·‚é‚̂́AƒƒCƒN‚·‚éƒRƒ}ƒ“ƒh‚ðƒeƒXƒg‚·‚é‚Æ‚«‚ɍs‚¢‚Ü‚·B - - MakeByModuleAssort ŠÖ”iƒƒCƒN‚·‚éŠÖ”j - - ƒRƒ}ƒ“ƒh‚ðŽÀs‚µAŠù‘¶‚̃ŠƒrƒWƒ‡ƒ“‚Æ“¯‚¶“à—e‚̃tƒHƒ‹ƒ_[‚ª‚Å‚«‚½‚Æ‚«‚́A‚»‚Ì‚±‚Æ‚ð echo •\Ž¦‚µ‚āAWork ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B ‚‚܂èAecho •\Ž¦‚Ì“à—e‚ðƒ`ƒFƒbƒN‚·‚ê‚΁AƒRƒ}ƒ“ƒh‚ª³‚µ‚©‚Á‚½‚Æ - ”»’f‚Å‚«AƒtƒHƒ‹ƒ_[\¬‚́AWork ƒtƒHƒ‹ƒ_[‚ðì¬‚·‚é‘O‚̏ó‘Ô‚É–ß‚è‚Ü‚·B - ƒeƒXƒg - - ¨ T_ModuleAssort.vbs - - T_ModuleAssort_MakeWork - •¡”‚̃tƒHƒ‹ƒ_[‚ðƒƒCƒN‚·‚é‚Æ‚«‚́Aæ‚É‚·‚ׂÄWork ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ä‚©‚烁ƒCƒN‚·‚é‚ƁA‹¤’ʂ̃Rƒ}ƒ“ƒh‚ð‰½“x‚àŽÀs‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - ‚́AWork ƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚ƁAÅVƒŠƒrƒWƒ‡ƒ“‚ª‚ ‚Á‚Ä‚à - - - <Same>C:\Masters\Release\02</Same> - - echo •\Ž¦F Šù‘¶‚̃ŠƒrƒWƒ‡ƒ“‚Æ“¯‚¶“à—e‚̃tƒHƒ‹ƒ_[‚ª‚Å‚«‚½‚Æ‚«‚̃Tƒ“ƒvƒ‹ - - - - - - - ModuleAssort.moas ƒtƒ@ƒCƒ‹‚ɐݒè‚Å‚«‚é“à—e - - ModuleAssort - - ModuleAssort.moas ƒtƒ@ƒCƒ‹‚́A - ‚̐ݒè‚ð‹Lq‚·‚é XML ƒtƒ@ƒCƒ‹‚Å‚·B - - Variable ƒ^ƒO - - ‚ªŽg‚¦‚Ü‚·B - /ModuleAssort - @global_setting - - ƒOƒ[ƒoƒ‹Ý’èƒtƒ@ƒCƒ‹ - - /ModuleAssort/Module - @name - ƒ‚ƒWƒ…[ƒ‹–¼B Masters ƒtƒHƒ‹ƒ_[‚Ì’¼‰º‚É‚Å‚«‚éƒtƒHƒ‹ƒ_[‚Ì–¼‘O - @target - ƒ^[ƒQƒbƒg–¼iƒ‚ƒWƒ…[ƒ‹‚̃o[ƒWƒ‡ƒ“–¼jB È—ª‰Â”\B ƒ‚ƒWƒ…[ƒ‹–¼‚̃tƒHƒ‹ƒ_[‚̃Tƒu ƒtƒHƒ‹ƒ_[‚Ì–¼‘O - @root_path - ƒ‚ƒWƒ…[ƒ‹–¼‚̃tƒHƒ‹ƒ_[A‚Ü‚½‚́Aƒ^[ƒQƒbƒg–¼‚̃tƒHƒ‹ƒ_[‚ɑΉž‚·‚éƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[A‚Ü‚½‚́A‚»‚Ì’†‚̃tƒHƒ‹ƒ_[‚̃pƒX - /ModuleAssort/Module/File - ƒ‚ƒWƒ…[ƒ‹ i•¡”‰Â”\j - ƒtƒ@ƒCƒ‹ i•¡”‰Â”\j - @path - ƒRƒs[Œ³‚̃tƒHƒ‹ƒ_[‚̃pƒX - @path - /ModuleAssort/Project/Module - i‚O‚Ü‚½‚Í‚P‚j - - Masters ƒtƒHƒ‹ƒ_[ - - Masters ƒtƒHƒ‹ƒ_[‚̃pƒX - @map - - ¨ GetPathDictionariesFromXML - - map ‘®« - @base_revision - Žw’è‚·‚é‚ƁAƒpƒbƒ`Œ`Ž®‚̃ŠƒrƒWƒ‡ƒ“‚ªì¬‚³‚ê‚Ü‚·B’l‚́Aƒpƒbƒ`‚̑ΏۂƂȂ郊ƒrƒWƒ‡ƒ“ ƒtƒHƒ‹ƒ_[‚Ì–¼‘OB - @base_target - Žw’è‚·‚é‚ƁAƒpƒbƒ`Œ`Ž®‚̃ŠƒrƒWƒ‡ƒ“‚ªì¬‚³‚ê‚Ü‚·B’l‚́Aƒpƒbƒ`‚̑ΏۂƂȂéƒ^[ƒQƒbƒg ƒtƒHƒ‹ƒ_[‚Ì–¼‘OB - /ModuleAssort/AssortFrom - ƒAƒ\[ƒg‘ÎÛ i‚O‚Ü‚½‚Í‚P‚j - @path - - ¨ GetPathDictionariesFromXML - - ˆ’u‘ΏۂƂ·‚éƒtƒHƒ‹ƒ_[‚̃pƒXB ƒTƒu ƒtƒHƒ‹ƒ_[‚àˆ—‘ΏۂɂȂéBÈ—ªŽž‚́A‚·‚ׂẴvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚ªˆ—‘ΏۂɂȂéB - ‘‚­ƒAƒ\[ƒg‚ð‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B - ––”ö‚ɂ̂݁AƒƒCƒ‹ƒhƒJ[ƒh * ‚ðŽw’è‚Å‚«‚Ü‚·B - ‚̃pƒX - Ý’è i‚P‚j - - << ModuleAssort - - - ModuleAssort ƒRƒ}ƒ“ƒh - - vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚Ì - ‚ÉŽw’肵‚Ü‚·B - - ¨ ModuleAssort.moas - - ƒTƒ“ƒvƒ‹ - Ú× - /ModuleAssort/Masters - /ModuleAssort/Project - ƒvƒƒWƒFƒNƒg i•¡”‰Â”\jAƒRƒ~ƒbƒg‚µ‚È‚¢ƒvƒƒWƒFƒNƒg‚É‚Í•s—v - @name - @root_path - ƒvƒƒWƒFƒNƒg–¼ - ƒvƒƒWƒFƒNƒg‚̃tƒHƒ‹ƒ_[‚̃pƒX - /ModuleAssort/Project/Module/File - - XML ƒtƒ@ƒCƒ‹‚ÉŽw’è‚·‚é FF-path ‘®« - - ‚É‚æ‚Á‚āAƒTƒu ƒtƒHƒ‹ƒ_[‚̃pƒX‚ªƒ‚ƒWƒ…[ƒ‹‚ªÝ’肳‚ꂽ‚çA - ‚»‚̃Tƒu ƒtƒHƒ‹ƒ_[‚́AeƒtƒHƒ‹ƒ_[‚̃‚ƒWƒ…[ƒ‹‚̑ΏۊO‚É‚È‚è‚Ü‚·B - /ModuleAssort/Synchronized - @a, @b - ƒŠƒrƒWƒ‡ƒ“‚ªã‚ª‚Á‚½‚çA‘¼‚̃^[ƒQƒbƒg‚̃ŠƒrƒWƒ‡ƒ“‚àã‚°‚é•K—v‚ª‚ ‚éŠÖŒWB “¯ŠúŠÖŒWB i•¡”‰Â”\j - ŠÖŒW‚ª‚ ‚é—¼ŽÒ‚̃ŠƒrƒWƒ‡ƒ“‚Ì‘Š‘΃pƒXB—áF a="Module\TargetA\01" b="Module\TargetB\01" - @a_is_old, @b_is_old - /ModuleAssort/SynchronizedNotYet - ƒ^[ƒQƒbƒg‚ð‰ü–¼‚µ‚½‚±‚Æ‚Ì‹L˜^B "yes" ‚© "no"B È—ªŽž‚́Aƒ^[ƒQƒbƒg–¼‚̕ύX‚Å‚Í‚È‚¢B - ‚±‚̐ݒè‚É‚æ‚Á‚āAÅVƒŠƒrƒWƒ‡ƒ“‚ª‰ü–¼‚µ‚½ƒ^[ƒQƒbƒg‚É‚ ‚é‚悤‚É - •\Ž¦‚³‚ê‚Ü‚·B - —áF a="M\A\01" b="M\NewA\01" a_is_old="yes" - M\B\01 - M\A\01 (old) - M\NewA\01 - M\C\02 - - - - - - - - - - - - - - - - M\B\02 - M\NewA\02 - c ÅV‚𓯊ú‚µ‚½Œã‚Ì—á - - - - - - V - - - - - - /ModuleAssort/SynchronizedNotYet/File - /ModuleAssort/Synchronized/File - @path - - SyncFilesX - - @base - ‚Æ“¯‚¶ˆÓ–¡‚Ì‘®«B @path ‚́Ae—v‘f‚Ì @a ‚©‚ç‚Ì‘Š‘΃pƒXA - @base ‚́Ae—v‘f‚Ì @a ‚©‚ç‚Ì‘Š‘΃pƒX‚Å‚·B - @fast_mode - ‚‘¬ŽÀsƒ‚[ƒhBEÈ—ªŽž = ’ʏ탂[ƒh - E"no_copy" = Assort ‚µ‚Ä‚Å‚«‚éƒtƒ@ƒCƒ‹‚́AƒTƒCƒY0 ‚É‚·‚邱‚ƂŁA - @‚‘¬‚ÉŽÀs‚·‚é - ‚½‚¾‚µAƒ‚ƒWƒ…[ƒ‹‚Ì’†‚̃^[ƒQƒbƒgŠÔ‚Ì“¯Šú‚ÉŠÖ‚µ‚ẮA - - SyncFilesT - - ‚ðŽg‚¤‚Ù‚¤‚ªŒø—¦“I‚Å‚·B - i”ñ„§j - - - - - - - ModuleAssort ‚̍ì‹Æ‚̏‡”Ô - - - ‘‚«‚©‚¯ - - “®ìŠm”FB ƒvƒƒOƒ‰ƒ~ƒ“ƒOB - Assort ‚Å Work ‚ð 01iƒŠƒrƒWƒ‡ƒ“”ԍ†j ‚É•Ï‚¦‚éB *_Tmp ƒtƒHƒ‹ƒ_[‚ð‚È‚­‚·B iƒ‚ƒWƒ…[ƒ‹‚̃Rƒ~ƒbƒgjBˆê•”‚̃tƒ@ƒCƒ‹‚ðˆêŽž“I‚ɃRƒ~ƒbƒg‚·‚é‚Æ‚«‚́AƒtƒHƒ‹ƒ_[–¼‚ð <VƒŠƒrƒWƒ‡ƒ“–¼>_Assorting ‚É‚·‚éB - ƒvƒƒWƒFƒNƒg‚̃Rƒ~ƒbƒgB - - - - - - - - CheckOut ‚Ü‚½‚Í CheckOutAndUpdateB - FindCrossAFindCrossSymbol ‚Ńtƒ@ƒCƒ‹‚ªŠ‘®‚·‚郂ƒWƒ…[ƒ‹‚𒲐®‚·‚éB - ƒRƒ~ƒbƒg‚µ‚½‚à‚Ì‚©‚ç“à—e‚Í‚È‚é‚ׂ­•Ï‚¦‚È‚¢‚±‚ƁB •Ï‚¦‚é‚̂́Aã‹L SyncFilesT ‚ŁB#include ‚·‚éƒtƒ@ƒCƒ‹‚ð•Ï‚¦‚é‚ȂǁAÅ’áŒÀ•Ï‚¦‚é‚Ì‚Í‚æ‚¢B - “à—e‚ðXV‚µ‚½‚Æ‚«Aƒ‚ƒWƒ…[ƒ‹‚̃ŠƒrƒWƒ‡ƒ“ ƒtƒHƒ‹ƒ_[–¼‚Ì––”ö‚ɁA_Tmp ‚ð•t‚¯‚éBƒvƒƒWƒFƒNƒg‚ÌŽb’èƒRƒ~ƒbƒg‚́AƒŠƒrƒWƒ‡ƒ“–¼‚Ì––”ö‚ɁA_NoCross ‚ð•t‚¯‚éB - ƒ‹[ƒv - Newest_Modules.xml ‚̍·•ª‚©‚çAExportNewestModule ‚µ‚Ä SyncFilesT ‚Å”äŠrB‚½‚¾‚µA_Synced_Tmp ‚ɍXV‚³‚ê‚Ä‚¢‚é‚Æ‚«‚́A‚·‚Å‚É“¯ŠúÏ‚݁B - E‚P‚Â‚Ì SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹‚Å“¯Šú‚µ‚½‚çA•\(HTML) ‚Ì•Û‘¶BE‚P‚‚̃‚ƒWƒ…[ƒ‹‚Ì‚·‚ׂĂ̐ݒèƒtƒ@ƒCƒ‹‚𓯊ú‚µ‚½‚çAƒtƒB[ƒhƒoƒbƒNiƒCƒ“ƒ|[ƒgjB - E‚·‚ׂẴ‚ƒWƒ…[ƒ‹‚𓯊ú‚µ‚½‚çANewest_Modules.xml ‚ðXVB - ‚·‚ׂẴvƒƒWƒFƒNƒg‚Å Update ‚ª‚È‚­‚È‚Á‚½‚çAŠ®—¹iƒ‹[ƒv‚𔲂¯‚éj - ƒ^[ƒQƒbƒgŠÔ‚Ì“¯ŠúB i*_Synced_Tmp ƒtƒHƒ‹ƒ_[‚ª‚Å‚«‚éj - ÅIŒ`‚ð”»’f‚·‚é‚Æ‚«‚́Aƒtƒ@ƒCƒ‹‚ðcŽ²Aƒ^[ƒQƒbƒg‚ð‰¡Ž²‚Æ‚µ‚½•\‚ŁA•ïŠÜŠÖŒWAŒZ’íŠÖŒW‚ðŒ©‚éB“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ª‘‚¦‚é‚悤‚É‚µ‚āA“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚̏󋵂ð•\Œ`Ž®‚ňꗗ‚·‚éB - ŒÃ‚¢ƒ‚ƒWƒ…[ƒ‹i—áFƒŠƒrƒWƒ‡ƒ“ 03j‚̃vƒƒWƒFƒNƒg‚ð•ÏX‚µ‚½‚çi‚·‚Å‚É‚à‚Á‚ƐV‚µ‚¢ƒŠƒrƒWƒ‡ƒ“‚ª‚ ‚ê‚΁jAƒuƒ‰ƒ“ƒ` 03_A_01_Branch ‚É‚·‚éB ‚·‚Å‚É‚ ‚é‚Æ‚«‚́A03_B_01_Branch ‚É‚·‚éB - Œã‚ŁACheckOutAndUpdate ‚·‚é‚Æ‚«‚ÉŒx‚³‚ê‚é‚̂ŁA‚»‚Ì‚Æ‚«‚É Branch ‚Ì’¼‘OƒŠƒrƒWƒ‡ƒ“‚Æ‚Ì - ·•ª‚ðÅV‚É”½‰f‚·‚éB ”½‰f‚µ‚½‚çA‹ó‚̃tƒHƒ‹ƒ_[ 01_A_Branch_03_Merged ‚ðì¬‚·‚éB - Revert ‚µ‚½‚Æ‚«‚́A05_A_Branch_04_Merged ‚̂悤‚ɁAˆÈ‘O‚̃ŠƒrƒWƒ‡ƒ“(04)‚ð•t‚¯‚éB - _fork_to_, _joined_to_ - _Branch, _Merged - ˆê•”‚ª•Ê‚̃^[ƒQƒbƒg‚É•ª—£‚µ‚½‚çA<•ª—£‘O‚̃ŠƒrƒWƒ‡ƒ“>_fork_to_<•ª—£æ> ‚Æ‚¢‚¤–¼‘O‚Ì‹óƒtƒHƒ‹ƒ_[‚ðì¬‚·‚éB ‚·‚ׂĂªˆÚ“®‚µ‚½‚çA<ˆÚ“®‘O‚̃ŠƒrƒWƒ‡ƒ“>_joined_to_<•ª—£æ> - ‚Æ‚¢‚¤–¼‘O‚Ì‹óƒtƒHƒ‹ƒ_[‚ðì¬‚·‚éB - - - - - - - CheckOutAndUpdate ‚ŃGƒ‰[‚ªo‚é‚Æ‚« - - - <ERROR msg="ƒoƒbƒNƒAƒbƒvi‘z’èƒtƒ@ƒCƒ‹j‚ª‚È‚¢ƒpƒbƒ`‚ŁAƒtƒ@ƒCƒ‹‚ð•ÏX‚µ‚悤‚Æ‚µ‚Ä‚¢‚Ü‚·B" - - ‘Ώˆ•û–@‚́Aƒtƒ@ƒCƒ‹‚ªŠ‘®‚·‚郂ƒWƒ…[ƒ‹iA‚Æ‚·‚éj‚ðˆêŽž“I‚Ɂuíœv‚µ‚āAŒã‚ÅŽè“®‚Å A ‚ð’ljÁ‚·‚邱‚Æ‚Å‚·B ‚½‚¾‚µAA ‚É‘¶Ý‚·‚éˆê•”‚̃tƒ@ƒCƒ‹‚ª‚·‚Å‚É‘¶Ý‚µ‚Ä‚¢‚é‚Ì‚Å’²®‚ª•K—v‚Å‚·B - ‚±‚̃Gƒ‰[‚ªo‚é‚Æ‚«‚̍ŐVƒ‚ƒWƒ…[ƒ‹‚́Aƒ^[ƒQƒbƒgŠÔ‚ðˆÚ“®‚µ‚½ƒtƒ@ƒCƒ‹‚̈ړ®æiV‹Kƒtƒ@ƒCƒ‹ˆµ‚¢j - ‚̉”\«‚ª‚ ‚è‚Ü‚·B ‚Ü‚½‚́ACheckOut ‚µ‚½‚Æ‚«‚É‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚ɑ΂µ‚āAUpdate ‚ŒljÁ‚µ‚悤‚Æ - ‚µ‚Ä‚¢‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - ˆêŽž“I‚ɍ폜‚·‚郂ƒWƒ…[ƒ‹‚ð’T‚·‚ɂ́AUpdate ‚µ‚È‚¢ CheckOut ‚ð‚µ‚ÄA_File.xml ‚Ì’†‚Å - •ÏX‚µ‚悤‚Æ‚µ‚½ƒtƒ@ƒCƒ‹–¼‚ðŒŸõ‚µ‚Ü‚·B - - - <ERROR msg="ƒ}[ƒW‚·‚éƒpƒbƒ`‚ªÕ“Ë‚µ‚Ä‚¢‚Ü‚·B" - - ‘Ώˆ•û–@‚́Aƒtƒ@ƒCƒ‹‚ªŠ‘®‚·‚郂ƒWƒ…[ƒ‹‚Ì‚¤‚¿Aƒ}[ƒW‚·‚é‘O‚̃‚ƒWƒ…[ƒ‹‚ðAuXVÏ‚݁v‚É‚·‚邱‚Æ‚Å‚·B ‚±‚̃Gƒ‰[‚́Aƒ}[ƒW‚µ‚½ƒ‚ƒWƒ…[ƒ‹‚ª‚ ‚é‚̂ɁAƒ}[ƒW‚·‚é‘O‚̃‚ƒWƒ…[ƒ‹‚à - ‚ ‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - ƒtƒ@ƒCƒ‹‚ªŠ‘®‚·‚郂ƒWƒ…[ƒ‹‚́AƒGƒ‰[ƒƒbƒZ[ƒW‚ɏ‘‚©‚ꂽƒpƒX‚©‚ç’m‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - - - - - FindCross ƒRƒ}ƒ“ƒh - - << ModuleAssort - - ModuleAssort ‚Ì FindCross ƒRƒ}ƒ“ƒh‚́A‚ ‚郂ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚ƁA•Ê‚̃‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚̊ԂŁAŠ‘®‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ªˆÚ“®‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚é‰Â”\«‚ª‚ ‚éƒtƒ@ƒCƒ‹‚ðŒŸo‚µ‚Ü‚·B - ‚±‚̈ړ®‚ª‚ ‚é‚ƁAe‚ªí‚É‚P‚‚ł ‚é‚«‚ê‚¢‚ȃcƒŠ[\‘¢‚Å‚Í‚È‚­‚Ȃ邽‚߁Aƒ‚ƒWƒ…[ƒ‹‚̍\¬‚ª•¡ŽG - ‚É‚È‚é‰Â”\«‚ª‚‚Ü‚è‚Ü‚·B - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - ¨ Case-16-Find ƒtƒHƒ‹ƒ_[ - - ƒeƒXƒg - 2_Ver\VerY\03 - ƒ‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj - ƒtƒ@ƒCƒ‹–¼ - - 1.c, 2.c - 3_Ver\VerT\03 - 3.c, 4.c, - 2_Ver\VerX\03 - 1.c, 2.c, - 3_Ver\VerS\03 - 3.c, 4.c - ƒTƒ“ƒvƒ‹ - ƒvƒƒWƒFƒNƒg‚ƁAƒvƒƒWƒFƒNƒg‚©Žg—p‚·‚郂ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj ‚ƁA‚»‚ê‚ɏŠ‘®‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹–¼‚Ɉȉº‚ÌŠÖŒW‚ª‚ ‚é‚Æ‚«A - FindCross ‚ł́A‰º‹L‚̂悤‚ɏo—Í‚µ‚Ü‚·B ˆÓ–¡‚́AŽŸ‚Ì‚Æ‚¨‚è‚Å‚·BMove.txt ƒtƒ@ƒCƒ‹‚ªA‚ ‚郂ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚ƁA•Ê‚̃‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚̊ԂŁAˆÚ“® - ‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚é‰Â”\«‚ª‚ ‚邱‚Æ‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B - Move.txt ƒtƒ@ƒCƒ‹‚́Aƒ‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj 3_Ver\VerT\03 ‚ƃ‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj - 2_Ver\VerX\03 ‚ɏŠ‘®‚µ‚Ä‚¢‚Ü‚·‚ªA‚»‚ꂼ‚ê‚̃‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚ɏŠ‘®‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹A - ‚½‚Æ‚¦‚Î 3.c ‚â 1.c ‚ªA•Ê‚̃‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚ɏŠ‘®‚µ‚Ä‚¢‚éƒvƒƒWƒFƒNƒg‚à‚ ‚èA‚±‚Ì‚±‚Æ - ‚©‚çAMove.txt ƒtƒ@ƒCƒ‹‚ªA‚ ‚郂ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚ƁA•Ê‚̃‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚̊ԂŁA - ˆÚ“®‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚é‰Â”\«‚ª‚ ‚邱‚Æ‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B - ‚Ü‚½AˆÚ“®‚µ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚éó‹µ‚ð‘Ώˆ‚·‚邽‚߂ɂ́AƒvƒƒWƒFƒNƒg‚ðŠm”F‚·‚é•K—v‚ª‚ ‚éê‡‚ª - ‚Ù‚Æ‚ñ‚ǂȂ̂ŁAModuleExpanded: ƒ‰ƒxƒ‹‚ª‚ ‚éêŠ‚ɁAƒ‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj 3_Ver\VerT\03 - ‚ðŽg‚Á‚Ä‚¢‚éƒvƒƒWƒFƒNƒg‚É Project_Y\05 ‚ª‚ ‚邱‚ƂƁAƒ‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj 2_Ver\VerX\03 ‚ð - Žg‚Á‚Ä‚¢‚éƒvƒƒWƒFƒNƒg‚É Project_X\01 ‚ª‚ ‚邱‚Æ‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B - ‚½‚¾‚µAƒ‚ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚Ì–¼‘O‚ƁAƒtƒ@ƒCƒ‹–¼‚©‚ç”»’肵‚Ä‚¢‚邽‚߁Aƒ^[ƒQƒbƒgŠÔ‚Å‹¤—L - ‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚Ȃǂɑ΂µ‚āAŒëŒŸo‚µ‚Ä‚µ‚Ü‚¤‰Â”\«‚à‚ ‚è‚Ü‚·B - - - Crossed: - Files: - <File path="Move.txt"/> - - Module: - <Module path="3_Ver\VerT\03"/> - <OneFile name="3.c"/> - - Module: - <Module path="2_Ver\VerX\03"/> - <OneFile name="1.c"/> - - ModuleExpanded: - <ModuleExpanded path="3_Ver\VerT\03"> - <Project path="Project_Y\05"/> - </ModuleExpanded> - ModuleExpanded: - <ModuleExpanded path="2_Ver\VerX\03"> - <Project path="Project_X\01"/> - </ModuleExpanded> - - Project_Y\05 - Project_X\01 - ƒvƒƒWƒFƒNƒg - - - Move.txt - Move.txt - - ¨ _CrossAnswer.txt - - - ¨ T_ModuleAssort.vbs - - - - - - - - ƒ‚ƒWƒ…[ƒ‹“à‚̃tƒ@ƒCƒ‹‚ðˆÚ“®Aƒ‚ƒWƒ…[ƒ‹ŠÔ‚Ńtƒ@ƒCƒ‹‚ðˆÚ“®‚µ‚½Œã‚ŁA“¯Šú‚·‚é‚É‚Í - SyncFilesX ‚Å + ‚â - ‚ª‚ ‚é‚Æ‚«‚́AŠÖŒW‚ª‡‚Á‚Ä‚¢‚È‚¢‰Â”\«‚ª‚‚¢‚Å‚·BŠÖŒW‚ª‡‚¤‚悤‚ɁAƒ^ƒO‚𒲐®‚µ‚½‚èAƒtƒ@ƒCƒ‹‚ðˆÚ“®EƒRƒs[‚µ‚Ä‚­‚¾‚³‚¢B - ƒ‚ƒWƒ…[ƒ‹‚Ì“à•”‚ňړ®‚ª‚ ‚Á‚½‚Æ‚« - “à•”‚ňړ®‚µ‚½‚Æ‚«i“¯‚¶ƒtƒ@ƒCƒ‹–¼‚Å +‚Æ-‚ª‚ ‚é‚Æ‚«j‚́A‘ŠŽè‚Ì New ‚𓯗l‚Ɉړ®‚·‚éi“¯‚¶\¬‚É‚·‚éê‡jB - ‚»‚µ‚āAƒ^ƒO‚ð’ljÁB <Folder synced_base="B-" synced_path="A-" base="B+" path="A+"/> - ‚½‚¾‚µAŒ»ó‚ł́A<Folder path="."/> ‚ðˆêŽž“I‚ɃRƒƒ“ƒgƒAƒEƒgiƒ^ƒO–¼‚ð•ÏXj‚·‚é•K—v‚ª‚ ‚éB - “¯ŠúŒãAbase ‚Æ path ‚ª“¯‚¶‚È‚çAì¬‚µ‚½ <Folder> ‚́A.moas ‚ɒljÁ‚µ‚È‚¢B - ˆÙ‚È‚é‚È‚çAsynced_* ‚ðœ‚¢‚½ <Folder base, path> ‚ð’ljÁB - ƒ‚ƒWƒ…[ƒ‹iƒ^[ƒQƒbƒgj‚̊Ԃ̈ړ®‚ª‚ ‚Á‚½‚Æ‚« - ƒ‚ƒWƒ…[ƒ‹iƒ^[ƒQƒbƒgj‚̂̊Ԃ̈ړ®‚É‚æ‚Á‚ĒljÁ‚³‚ꂽ‚Æ‚«i+‚¾‚¯‚ ‚é‚Æ‚«j‚́AŽ©•ª‚Ì Old\_old ‚Æ‘ŠŽè‚Ì New/Old\_old ‚É‚È‚¯‚ê‚ΒljÁ‚·‚éB - “¯Šú‚·‚é‘O‚ɁAƒ‚ƒWƒ…[ƒ‹‚̊Ԃ̈ړ®‚ª•K—v‚¾‚Æ•ª‚©‚Á‚½‚Æ‚«•Ð•û‚̃^[ƒQƒbƒg‚µ‚©ˆÚ“®‚µ‚Ä‚¢‚È‚©‚Á‚½‚Æ‚« - ˆÚ“®‚·‚鑤‚̃^[ƒQƒbƒg‚ɂ‚¢‚āAMasters ‚ňړ®i00_Tmp ‚ðì¬jA‚Ü‚½‚́ACheckOutUpdate ‚Æ Assort ‚ňړ®‚µ‚Ä‚©‚瓯Šú‚·‚éB - ‚½‚¾‚µA‚±‚ê‚܂łɒljÁ‚µ‚½ƒ^ƒO‚âˆÚ“®‚µ‚½ƒtƒ@ƒCƒ‹‚ªã‘‚«‚³‚ê‚È‚¢‚悤‚ɃoƒbƒNƒAƒbƒv‚ðŽæ‚邱‚ƁB - ˆÚ“®æ‚́A_HashCache.txt ‚ðŽQl‚É‚·‚é‚Æ‚æ‚¢B - ƒeƒXƒg - - ¨ T_SyncFilesX.vbs - - T_SyncFilesX_Finder - - ¨ T_ModuleAssort.vbs - - ƒeƒXƒg - T_ModuleAssort_MoveFile - ‚»‚µ‚āAƒ^ƒO‚ð’ljÁB <Folder synced_base="_old" synced_path="_old" base="B+" path="A+"/>“¯ŠúŒã‚́Aã‹Li“à•”‚ňړ®j‚Æ“¯—l‚É .moas ‚ɒljÁ,A‚Ü‚½‚́A’ljÁ‚µ‚È‚¢B - - - 1. !+ Alien\Alien.txt - - EŽ©•ª‚Ì Old\_old - E‘ŠŽè‚Ì New - E‘ŠŽè‚Ì Old\_old - A\01 ‚É–³‚©‚Á‚½ Alien ‚ªAB\01 ‚©‚ç A\02 ‚Ɉړ®‚µ‚½B - Ž©•ª‚Ì Old\_old ‚ɃRƒs[‚·‚éƒtƒ@ƒCƒ‹F<Synchronized a> ‚É‚ ‚é "Module\A\01" ‚ðŽ‚ÂƒvƒƒWƒFƒNƒg "Project_X\01" ‚ð FindProject ‚ŁiProjects.xml ‚©‚çj’T‚·B - "Project_X\01" ‚ð CheckOut ‚µ‚Ä‚Å‚«‚½ "_Files.xml" ‚©‚çASync ‚ŒljÁ‚³‚ꂽƒtƒ@ƒCƒ‹"Alien\Alien.txt" ‚ð’T‚·B - - ‘ŠŽè‚Ì Old\_old ‚ɃRƒs[‚·‚éƒtƒ@ƒCƒ‹F - <Synchronized b> ‚É‚ ‚é "Module\A_Sync\01" ‚ðŽ‚ÂƒvƒƒWƒFƒNƒg "Project_Y\01" ‚ð FindProject ‚ŁiProjects.xml ‚©‚çj’T‚·B - "Project_Y\01" ‚ð CheckOut ‚µ‚Ä‚Å‚«‚½ "_Files.xml" ‚©‚çASync ‚ŒljÁ‚³‚ꂽƒtƒ@ƒCƒ‹"Alien\Alien.txt" ‚ð ’T‚·B - - ‘ŠŽè‚Ì New ‚ɃRƒs[‚·‚éƒtƒ@ƒCƒ‹F - "Project_Y" ‚̍ŐVƒvƒƒWƒFƒNƒg "Project_Y\02" ‚ð FindProject ‚ŁiProjects.xml ‚©‚çj’T‚·B - "Project_Y\02" ‚ð CheckOut ‚µ‚Ä‚Å‚«‚½ "_Files.xml" ‚©‚çASync ‚ŒljÁ‚³‚ꂽƒtƒ@ƒCƒ‹"Alien\Alien.txt" ‚ð ’T‚·B - - - <Synchronized a="Module\A\01" b="Module\A_Sync\01" line_num=""/> - - E’ljÁ‚³‚ꂽƒtƒ@ƒCƒ‹iŽ©•ªj - path - base - synced_path - synced_base - synced_base - base - synced_path - path - "Project_X\01" - "Project_Y\01" - "Project_Y\02" - "Project_X\02" - "Module\A\01" - "Module\A_Sync\01" - "Module\A\02" - ? - <Folder synced_base="_old" synced_path="_old" base="B+" path="A+"/> - ˆÚ“®‚É‚æ‚Á‚č폜‚³‚ꂽ‚Æ‚«i-‚¾‚¯‚ ‚é‚Æ‚«j‚́A‚»‚̂܂܃Rƒ~ƒbƒg‚·‚éB‚½‚¾‚µAíœ‚µ‚悤‚Æ‚·‚éƒtƒ@ƒCƒ‹‚́A00_Out ‚Ɉړ®‚µA‘Ήž‚·‚郂ƒWƒ…[ƒ‹i‚̃^[ƒQƒbƒgj‚̏ꏊ‚ðŽ¦‚·B - ‚È‚¢‚Æ‚«‚́AV‹Kì¬‚µ‚āA‚»‚̏ꏊ‚ðŽ¦‚·B - Commit Žž‚܂ł͌¢ƒ‚ƒWƒ…[ƒ‹‚É‘¶Ý‚·‚邪ACheckOutAndUpdate Žž‚É–³‚­‚È‚é‚©ˆÚ“®‚·‚éB - - - - - - - ModuleAssort.moas ‚̃Oƒ[ƒoƒ‹Ý’èƒtƒ@ƒCƒ‹‚ɐݒè‚Å‚«‚é“à—e - @path - /ModuleAssort/Masters - ‚P‚ - - Masters ƒtƒHƒ‹ƒ_[ - - ‚̃pƒX - - << ModuleAssort - - Ú× - - - <?xml version="1.0" encoding="Shift_JIS"?><ModuleAssort description="ƒOƒ[ƒoƒ‹Ý’è"> - - <Masters path="_Masters"/> - - </ModuleAssort> - - ModuleAssort_Global.xml - - ¨ ƒOƒ[ƒoƒ‹Ý’èƒtƒ@ƒCƒ‹‚ɐݒè‚Å‚«‚é“à—e - - ƒTƒ“ƒvƒ‹ - - - - - - - NaturalDocs - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >NaturalDocsƒ\[ƒXƒtƒ@ƒCƒ‹‚É‚ ‚éƒRƒƒ“ƒg‚ð HTML ‚É•ÏŠ·‚µ‚Ü‚·B - ƒ\[ƒXƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒX>C:\src - HTML ‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒXišã‘‚«‚µ‚Ü‚·j>C:\_html - - ƒ\[ƒXƒtƒ@ƒCƒ‹‚̃Rƒƒ“ƒg‚©‚çƒhƒLƒ…ƒƒ“ƒg‚𐶐¬‚µ‚Ü‚·B - NaturalDocs - ŠÖ˜A - - ¨ MakeDocumentByNaturalDocs ŠÖ” - - - ¨ Natural Docs - - ŽQl - - ¨ doxygen - - - ¨ ConvertDocumetCommentFormat - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ‚µ‚½‚Æ‚«A/silent ƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚é‚ƁAƒuƒ‰ƒEƒU[‚ªŠJ‚©‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚çŽÀs - - C:\src - C:\_html - - ¨ NaturalDocs ‘ΉžƒRƒƒ“ƒg - - - ¨ DoTextShrink - - - ¨ MakeCrossedOldSections - - - - - - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenByStepPath‘Š‘΃pƒX‚ðŽw’肵‚āAƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·Biâ‘΃pƒX‚à‰Âj - Šî€ƒpƒX >C:\FolderA - - Enter‚Ì‚Ý: Šî€ƒpƒX‚Ì“ü—Í‚Ö - ƒtƒ@ƒCƒ‹‚̃pƒX >File1.txt - ƒtƒ@ƒCƒ‹‚̃pƒX >File2.txt - ƒtƒ@ƒCƒ‹‚̃pƒX > - - Šî€ƒpƒX >C:\FolderB - ƒtƒ@ƒCƒ‹‚̃pƒX >File1.txt - - OpenByStepPath - ‘Š‘΃pƒX‚ðŽw’肵‚āAƒtƒ@ƒCƒ‹‚ðŠJ‚«‚Ü‚·Biâ‘΃pƒX‚à‰Âj - ã‹L‚̏ꍇAC:\FolderA\File1.txt AC:\FolderA\File2.txt AC:\FolderB\File1.txt‚ªŠJ‚«‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - OpenByStepPath - C:\FolderA - File1.txtFile2.txt - File1.txt - C:\FolderB - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - OpenFolder - Žw’肵‚½ƒpƒX‚̃tƒHƒ‹ƒ_[A‚Ü‚½‚ÍŽw’肵‚½ƒpƒX‚̃tƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenFolderƒtƒ@ƒCƒ‹‚̃pƒX‚ð“ü—Í‚·‚é‚ƁA‚»‚̃tƒ@ƒCƒ‹‚ðŠÜ‚ÞƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·B - ƒtƒ@ƒCƒ‹‚̃pƒX >C:\FolderA\File.txt - - OpenFolder - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - C:\FolderA\File.txt - ã‹L‚̏ꍇAC:\FolderA ‚ªŠJ‚«AFile.txt ‚ð‘I‘ð‚µ‚½ó‘Ô‚É‚È‚è‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ Setting_openFolder - - ŠÖ˜A - - - - - - - OpenSendTo, SendTo - ƒtƒ@ƒCƒ‹A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚ð‰EƒNƒŠƒbƒN [ ‘—‚é ] ‚Ì“à—e‚Æ‚È‚éƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenSendTo - - OpenSendTo - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - OpenStartUp - ƒXƒ^[ƒgƒAƒbƒvEƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenStartUp - - OpenStartUp - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - OpenTask - Windows ‚̃^ƒXƒN‚ðŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenTask - - OpenTask - ƒeƒXƒg - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ T_Task ƒtƒHƒ‹ƒ_ - - ŠÖ˜A - - ¨ CreateTask - - - ¨ SetTask - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - OpenTemp - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_ - - ‚ðŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenTemp - - OpenTemp - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ŠÖ˜A - - ¨ DelTemp - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - OpenVBSLibSource - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ƒfƒoƒbƒK[‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒ\[ƒX ƒR[ƒh‚ðƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >OpenVBSLibSourceVisual Studio ‚Å•\Ž¦‚³‚ê‚Ä‚¢‚é WSH (VBScript) ‚̃\[ƒX‚ðƒeƒLƒXƒg ƒGƒfƒBƒ^[ - ‚ÅŠJ‚«‚Ü‚·B - - Visual Studio ‚Å•\Ž¦‚³‚ê‚Ä‚¢‚és”ԍ†‚ð‹L‰¯‚µ‚Ä‚­‚¾‚³‚¢B - - Visual Studio ‚Å•\Ž¦‚³‚ê‚Ä‚¢‚éƒ\[ƒX ƒtƒ@ƒCƒ‹‚Ì“à—e‚ð‚·‚×‚Ä‘I‘ð‚µ‚ÄƒNƒŠƒbƒv - ƒ{[ƒh‚ɃRƒs[‚µ‚½‚çAEnter ‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢B - - ‹L‰¯‚µ‚½s”ԍ† > - - OpenVBSLibSource - - - "...\vbslib Prompt.vbs" ov "" - - - vbslib Prompt.vbs ‚̃Vƒ‡[ƒgƒJƒbƒg‚ðì¬‚µA - - ƒŠƒ“ƒNæ‚ðˆÈ‰º‚̂悤‚ɐݒ肷‚é‚ƁAŽè‡‚ð - ’Zk‚Å‚«‚Ü‚·B ov ‚́AOpenVBSLibSource ‚Ì—ªŒê‚ɐݒ肳‚ê‚¢‚Ü‚·B - Visual Studio 2010 ˆÈ~‚̃fƒoƒbƒK[‚́A - - (Execute) - - - include - - ‚µ‚½ƒXƒNƒŠƒvƒgiƒ\[ƒX ƒR[ƒhj - ‚ª‚·‚ׂĂP‚‚̃EƒBƒ“ƒhƒE‚É‚Ü‚Æ‚ß‚ç‚ê‚邽‚߁Aƒ\[ƒX ƒR[ƒh‚̍s”ԍ†‚ªƒfƒoƒbƒK[‚É•\Ž¦‚³‚ê‚és”ԍ†‚ƈê’v‚µ‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B –{ƒRƒ}ƒ“ƒh‚́A‚±‚Ì–â‘è‚ɑΏˆ‚µ‚Ü‚·B - ‚Ü‚Æ‚ß‚ç‚ꂽƒ\[ƒX ƒR[ƒh‚́Ainclude ‚µ‚½‚»‚ꂼ‚ê‚Ì vbs ƒtƒ@ƒCƒ‹‚̐擪‚ɁA - '// g_SrcPath= ‚©‚çŽn‚Ü‚és‚ª‚ ‚èA‚»‚ê‚ðŒŸõ‚µ‚ďˆ—‚µ‚Ü‚·B - - - - - - - Prompt - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - VBScript ‚ªŽÀs‚Å‚«‚éƒvƒƒ“ƒvƒg‚ðŠJŽn‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >Prompt ((( VBScript ƒvƒƒ“ƒvƒg ))) - ? ‚́A‚±‚̃vƒƒ“ƒvƒg‚ÉŒ‹‰Ê‚ð•\Ž¦‚·‚éƒRƒ}ƒ“ƒh‚Å‚·B - ‚‹@”\‚È“d‘ì‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - VBScript ‚̊֐”‚â’è‹`‚µ‚½ŠÖ”‚àŽg‚¦‚Ü‚·B - ƒOƒ[ƒoƒ‹•Ï”‚ð’è‹`‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ƒTƒ“ƒvƒ‹F - ------------------------------------------------------------- - > ?1+2 - 3 - > ?2+3*4 - 14 - > ?"0x"+Hex( 0x14+0x38 ) - 0x4C - > a=2 - > ?a+3 - 5 - ------------------------------------------------------------- - - ƒRƒ}ƒ“ƒh‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B - > - - Prompt - ŽQl - Samples\BatchFiles\VBS_Prompt.bat - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ŠÖ˜A - - ¨ Prompt ŠÖ” - - - - - - - - RegExpTest - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ³‹K•\Œ»‚Ń}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ðƒeƒXƒg‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >RegExpTest - ³‹K•\Œ»‚Ń}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ðƒeƒXƒg‚µ‚Ü‚·B - ³‹K•\Œ»‚Ì ƒƒ^•¶Žš ˆê——F. $ ^ { } [ ] ( ) | * + ? \ - Enter‚Ì‚Ý: ³‹K•\Œ»‚ƑΏە¶Žš—ñ‚Æ‚Ì“ü—Í‚ðØ‚è‘Ö‚¦ - - ³‹K•\Œ»>b.*e - ‘Ώە¶Žš—ñ>abcdef - ƒ}ƒbƒ`‚µ‚½ˆÊ’u = 2 - ƒ}ƒbƒ`‚µ‚½•¶Žš” = 4 - ƒ}ƒbƒ`‚µ‚½•¶Žš—ñ = bcde - ‘Ώە¶Žš—ñ>abcd - ƒ}ƒbƒ`‚µ‚Ü‚¹‚ñ‚Å‚µ‚½ - ‘Ώە¶Žš—ñ> - ³‹K•\Œ»>ab.* - ƒ}ƒbƒ`‚µ‚½ˆÊ’u = 0 - ƒ}ƒbƒ`‚µ‚½•¶Žš” = 4 - ƒ}ƒbƒ`‚µ‚½•¶Žš—ñ = abcd - ³‹K•\Œ»> - ‘Ώە¶Žš—ñ> - - - ¨ grep - - RegExpTest - ŠÖ˜A - b.*e - abcdef - abcd - ab.* - ŽQl - - ¨ ³‹K•\Œ» (VBScript.RegExp) - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - Rename - ƒtƒ@ƒCƒ‹–¼‚̈ꕔ‚ðC³‚µ‚½‚èA–¼‘O‚̈ꕔ‚ð’ljÁ‚µ‚½‚肵‚Ü‚·B - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒL[ƒ[ƒhF - ƒtƒ@ƒCƒ‹–¼‚̕ύXƒtƒ@ƒCƒ‹‚Ì–¼‘O‚̕ύX - - ¨ T_Rename ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >Rename-------------------------------------------------------- - 1. ƒtƒ@ƒCƒ‹–¼‚̐擪‚ɒljÁ‚·‚é - 2. ƒtƒ@ƒCƒ‹–¼‚̐擪‚ð•ÏX‚·‚é - 3. ƒtƒ@ƒCƒ‹–¼‚̐擪”•¶Žš‚ðíœ‚·‚é - 4. ƒtƒ@ƒCƒ‹–¼‚Ì––”ö”•¶Žš‚ðíœ‚·‚é - 9. I—¹‚·‚é - ”ԍ†‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢>1 - -------------------------------------------------------- - ˆ—‚ðs‚¤ƒtƒHƒ‹ƒ_‚̃pƒX>Work - >1 - Å‰‚ɒljÁ‚·‚é–¼‘O>A - ‰º‹L‚̃tƒHƒ‹ƒ_‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì‚·‚ׂẴtƒ@ƒCƒ‹‚̐擪‚É "A" ‚ð’ljÁ‚µ‚Ü‚·B - C:\Work - ‚æ‚낵‚¢‚Å‚·‚©H[Y/N]y - - Rename - 1 - Work - A - y - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - RenumberIniFileData - .ini ƒtƒ@ƒCƒ‹‚Ì“à—e‚Ì‚¤‚¿A= ‚æ‚荶‚É‚ ‚é ( ) ‚Ì’†‚̔ԍ†‚ðU‚è’¼‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >RenumberIniFileData------------------------------------------------------------------------------- - ƒNƒŠƒbƒvƒ{[ƒh‚É“ü‚Á‚½A.ini ƒtƒ@ƒCƒ‹‚Ì“à—e‚Ì‚¤‚¿A= ‚æ‚荶‚É‚ ‚é ( ) ‚Ì’†‚̔ԍ† - ‚ðU‚è’¼‚µ‚Ü‚·B - - Enter ‚̂݁F1 - ŠJŽn”ԍ†> - - Enter ‚̂݁FY - ‹ós‚ª‚ ‚é‚Æ‚«‚¾‚¯”ԍ†‚ð{‚P‚µ‚Ü‚·‚©B[Y/N] - - RenumberIniFileData - ŽQl - - ¨ RenumberIniFileData ŠÖ” - - ƒTƒ“ƒvƒ‹Eƒf[ƒ^ - - - Data(2) = ABCData(5) = DEF - Data(6) = DEF - - - - Data(1) = ABCData(2) = DEF - Data(3) = DEF - - “ü—Í - o—Í - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - ReplaceShortcutFilesToFiles - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ReplaceShortcutFilesToFilesƒVƒ‡[ƒgƒJƒbƒgEƒtƒ@ƒCƒ‹‚ð’ʏí‚̃tƒ@ƒCƒ‹‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒu ƒtƒHƒ‹ƒ_[‚ðŠÜ‚ß‚Ä•ÏŠ·‚µ‚Ü‚·B - •ÏŠ·‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX >C:\Folder - 0ŒÂ‚̃tƒ@ƒCƒ‹‚ðƒRƒs[‚µ‚Ü‚µ‚½B - 1ŒÂ‚̃Šƒ“ƒNæ‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B - - ƒVƒ‡[ƒgƒJƒbƒg ƒtƒ@ƒCƒ‹‚ð’ʏí‚̃tƒ@ƒCƒ‹‚É•ÏŠ·‚µ‚Ü‚·B - ReplaceShortcutFilesToFiles - C:\Folder - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ ReplaceShortcutFilesToFiles ŠÖ” - - - - - - - - ReplaceSymbols - - - <ReplaceSymbols><Target path="README.txt"/> - <Target path="sub\*.txt"/> - - <Replace from="Temporary" to="Sample"/> - <Replace from="TEMP" to="SAMPLE"/> - <Replace from="lace" to="lay" whole_word="no"/> - - <CheckExist keyword="SAMPLE is TEMPORARY" whole_word="no"/> - </ReplaceSymbols> - - ReplaceSymbols ‚̐ݒèƒtƒ@ƒCƒ‹ - ŠÖ˜A - - ¨ ReplaceSymbolsClass - - •¡”‚̃tƒ@ƒCƒ‹‚Ì’†‚Ì•¡”‚Ì’PŒêi•¶Žš—ñj‚ðˆê“x‚É’u‚«Š·‚¦‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ReplaceSymbols-------------------------------------------------------- - ReplaceSymbols ‚̐ݒèƒtƒ@ƒCƒ‹‚̃pƒX> - - ReplaceSymbols - - - This is Temporary File.TEMP is TEMPORARY. - replace. - - README.txt ‚Ì’u‚«Š·‚¦‚é‘O - - - This is Sample File.SAMPLE is TEMPORARY. - replay. - - README.txt ‚Ì’u‚«Š·‚¦‚½Œã - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒ}ƒbƒ`‚µ‚È‚¢‚Æ‚«‚Í whole_word="no" ‚É‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B - •¡”s‚â˜A‘±‚µ‚½‹ó”’•¶Žš‚ðŠÜ‚Þ‚Æ‚«‚́A<From>, <To> ƒ^ƒO‚ðŽg‚Á‚āA<![DCATA[ ` ]]> ‚ň͂ñ‚Å‚­‚¾‚³‚¢B - - - <Replace whole_word="no"><From><![CDATA[#define MACRO_A 1 - #define MACRO_B 2]]></From> - <To><![CDATA[#define MACRO_A 0 - #define MACRO_B 1]]></To> - - Target ƒ^ƒO‚ÉŽw’è‚·‚é•ÏŠ·‘Ώۂ̃tƒ@ƒCƒ‹‚́A•¡”Žw’è‚Å‚«‚Ü‚·B ‚Ü‚½ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽg‚Á‚āAƒTƒuƒtƒHƒ‹ƒ_[‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚à•ÏŠ·‚Å‚«‚Ü‚·B - CheckExist ƒ^ƒO‚ðŽg‚¤‚ƁA•ÏŠ·Œã‚ÉŽw’肵‚½ƒL[ƒ[ƒh‚ª‘¶Ý‚·‚邱‚Æ‚ðƒ`ƒFƒbƒN‚Å‚«‚Ü‚·B ‘¶Ý‚µ‚È‚¯‚ê‚΃Gƒ‰[ƒƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ ReplaceStringTemplate - - - ¨ EvaluateByVariableXML - - - - - - - - RepliCmp - - ¨ RepliCmp - - “¯‚¶–¼‘O‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ðƒ}[ƒW‚·‚éŽè•‚¯‚ð‚µ‚Ü‚·B - - - - - - - SearchOpen - Žw’è‚̃pƒX‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚¢‚āAŽw’è‚̍s”ԍ†‚Ü‚½‚̓L[ƒ[ƒh‚ðŒŸõ‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SearchOpen[SearchOpen] - Žw’è‚̃pƒX‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚¢‚āAŽw’è‚̍s”ԍ†‚Ü‚½‚̓L[ƒ[ƒh‚ðŒŸõ‚µ‚Ü‚·B - path>C:\FolderA\File.txt#[FuncA] - - SearchOpen - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - C:\FolderA\File.txt#[FuncA] - C:\FolderA\File.txt#[FuncA] ‚́AC:\FolderA\File.txt ‚ðƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ÅŠJ‚¢‚āA"[FuncA]" ‚ðŒŸõ‚µ‚Ü‚·B - - C:\FolderA\File.txt(100) ‚Æ“ü—Í‚·‚é‚ƁA100s–Ú‚ð•\Ž¦‚µ‚Ü‚·B - - Šg’£Žq‚ª pdf ‚Å a.pdf#page=2 ‚̂悤‚É path ‚ðŽw’è‚·‚é‚ƁAInternet Explorer ‚ÅŽw’肵‚½ - ƒy[ƒW‚ªŠJ‚«‚Ü‚·B - - # ‚ÌŒã‚̈ꕔ‚É ${\n} ‚ð‹Lq‚·‚é‚ƁA‰üs‚Ƀ}ƒbƒ`‚µ‚Ü‚·B - ŽQl - - - SearchOpen = "cscript ""...\vbslib\vbslib Prompt.vbs"" SearchOpen ""%1#%2""" /close:5 - - Snap Note ‚Ƃ̘AŒg - ƒvƒƒOƒ‰ƒ~ƒ“ƒO•â•‹@”\‚ðŽg‚¤‚Æ‚«ASearchOpen.exe ‚ª–³‚­‚Ä‚àAvbslib ‚ª‚ ‚ê‚ÎŽg‚¦‚Ü‚·BSnap Note ‚Ì svgcats.ini ƒtƒ@ƒCƒ‹‚ɉº‹L‚̂悤‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B - - ¨ GetEditorCmdLine - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ƒeƒLƒXƒgEƒGƒfƒBƒ^[A‚¨‚æ‚сA# ˆÈ~‚̏ڍׂɂ‚¢‚Ä - - /close - - - - - - - - SetTask - ƒ^ƒXƒN‚ÌŠJŽnŽžŠÔ‚ðÄÝ’肵‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SetTaskƒ^ƒXƒN‚ÌŠJŽnŽžŠÔ‚ðÄÝ’肵‚Ü‚·B - ƒ^ƒXƒN–¼i“o˜^Ï‚Ý‚Ì‚à‚́j>vbslib_test - —áF 13:00 ... ¡‚ªŒß‘O10Žž‚È‚çA¡“ú‚̌ߌã1Žž‚ÉŽÀs‚·‚é - —áF 1:00 ... ¡‚ªŒß‘O10Žž‚È‚çA–¾“ú‚̌ߑO1Žž‚ÉŽÀs‚·‚é - —áF +1:00 ... ¡‚©‚ç1ŽžŠÔŒã‚ÉŽÀs‚·‚é - ‚¢‚ÂŽÀs‚ðŠJŽn‚µ‚Ü‚·‚©>+0:01 - - SetTask - ƒeƒXƒg - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ T_Task ƒtƒHƒ‹ƒ_ - - vbslib_test - +0:01 - ŠÖ˜A - - ¨ CreateTask - - - ¨ OpenTask - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - Shutdown - PC‚Ì“dŒ¹‚ðØ‚Á‚½‚èÄ‹N“®‚µ‚½‚肵‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >shutdown1) PowerOff - 2) Reboot - 3) Hibernate - 4) Sleep - 5) Standby - ”ԍ†‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ > - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ŽQl - - ¨ Shutdown - - shutdown - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - SortLines - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ðs’PˆÊ‚Ń\[ƒgi®—ñj‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SortLinesƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ðs’PˆÊ‚Ń\[ƒgi®—ñj‚µ‚Ü‚·B - “ü—̓tƒ@ƒCƒ‹‚̃pƒX >C:\Folder\Input.txt - o—̓tƒ@ƒCƒ‹‚̃pƒXišã‘‚«‚µ‚Ü‚·j>C:\Folder\Output.txt - - Enter ‚̂݁FŽc‚³‚È‚¢ - “¯‚¶“à—e‚̍s‚ð‚»‚Ì‚Ü‚ÜŽc‚µ‚Ü‚·‚© [Y/N] - o—Í‚µ‚Ü‚µ‚½B - - SortLines - C:\Folder\Input.txt - C:\Folder\Output.txt - - - BeckhamChristiano - Aguirre - Diego - Beckham - - Input.txt - Output.txt - - - AguirreBeckham - Beckham - Christiano - Diego - - - - - - - - - - - - - - AguirreBeckham - Christiano - Diego - - Output.txt - Input.txt - - - BeckhamChristiano - Aguirre - Diego - Beckham - - “¯‚¶“à—e‚̍s‚ð‚»‚Ì‚Ü‚ÜŽc‚·‚Æ‚«F - “¯‚¶“à—e‚̍s‚ð‚»‚Ì‚Ü‚ÜŽc‚³‚È‚¢‚Æ‚«F - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ŠÖ˜A - - ¨ SortStringLines ŠÖ” - - - - - - - - SpaceToTab, TabToSpace, st, ts - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃^ƒu•¶Žš‚Æ‹ó”’•¶Žš‚ð•ÏŠ·‚µ‚Ü‚·B•ÏŠ·‚µ‚½‚ç•ÏŠ·Œã‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚ªŠJ‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SpaceToTabƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃^ƒu•¶Žš‚Æ‹ó”’•¶Žš‚ð•ÏŠ·‚µ‚Ü‚·B - 1) s“ª‚̃^ƒu•¶Žš¨‹ó”’•¶Žš [TabToSpace] - 2) s“ª‚Ì‹ó”’•¶Žš¨ƒ^ƒu•¶Žš [SpaceToTab] - 3) s“ª‚Ì•¶Žš‚Í•ÏŠ·‚µ‚È‚¢ [NoChange] - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ >SpaceToTab - 1) s“ªˆÈŠO‚̃^ƒu•¶Žš¨‹ó”’•¶Žš [TabToSpace]i©Enter‚Ì‚Ý‚Ì‚Æ‚«j - 2) s“ªˆÈŠO‚Ì‹ó”’•¶Žš¨ƒ^ƒu•¶Žš [SpaceToTab] - 3) s“ªˆÈŠO‚Ì•¶Žš‚Í•ÏŠ·‚µ‚È‚¢ [NoChange] - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ >TabToSpace - ƒ^ƒu•¶Žš‚̃TƒCƒYiEnter‚Ì‚Ý=4j> - •ÏŠ·‘O‚̃eƒLƒXƒg‚ª‘‚©‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX >C:\file.txt - - SpaceToTab - - ¨ T_ChangeTabSpace ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - SpaceToTab - TabToSpace - C:\file.txt - ŠÖ˜A - st ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ƁAs“ª‚Ì‹ó”’•¶Žš¨ƒ^ƒu•¶Žš‚ªŽ©“®“I‚É‘I‚΂ê‚Ü‚·B ts ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ƁAs“ª‚̃^ƒu•¶Žš¨‹ó”’•¶Žš‚ªŽ©“®“I‚É‘I‚΂ê‚Ü‚·B - - ¨ ƒ^ƒu•¶Žš‚Ì•‚ð•Ï‚¦‚Ä‚à•ö‚ê‚È‚¢ƒ\[ƒXƒR[ƒh‚̏‘‚«•û (Web) - - ŽQl - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Å /AutoExit ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯‚Ä‹N“®‚µ‚½‚Æ‚«‚́A•ÏŠ·Œã‚ÉŽ©“®“I‚ɏI—¹‚µ‚Ü‚·B/AutoExit:1000 ‚Æ‚·‚é‚Æ 1•bŒã‚ÉŽ©“®“I‚ɏI—¹‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - ¨ Samples\SpaceToTab ƒtƒHƒ‹ƒ_[ - - - ¨ ƒ^ƒu•¶Žš•ÏŠ·ŠÖ”AChangeHeadSpaceToTab ‚È‚Ç - - - - - - - - StopScreenSaver - ƒXƒNƒŠ[ƒ“ƒZ[ƒo[‚ð‹N“®‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >StopScreenSaver------------------------------------------------------------------------------- - 30•b‚²‚Æ‚ÉŽ©“®“I‚ɃVƒtƒgƒL[‚ð‰Ÿ‚·‚±‚ƂŁAƒXƒNƒŠ[ƒ“ƒZ[ƒo[‚ð‹N“®‚µ‚È‚¢‚悤‚É‚µ - ‚Ü‚·B - ƒXƒNƒŠ[ƒ“ƒZ[ƒo[‚ð’âŽ~‚·‚鎞ŠÔi•ªj> 60 - Žc‚è 60•ª - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - StopScreenSaver - 60 - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - Switches - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ‰¼‘z“I‚ȃXƒCƒbƒ`‚̐ݒè‚ɏ]‚Á‚āA•¡”‚̃tƒ@ƒCƒ‹‚ð•ÒW‚µ‚Ü‚·B‚½‚Æ‚¦‚΁AƒfƒoƒbƒO—p‚̐ݒè‚ƃŠƒŠ[ƒX—p‚̐ݒè‚ðØ‚è‘Ö‚¦‚éƒXƒCƒbƒ`‚ð’è‹`‚µ‚āA - ƒfƒoƒbƒO‚É•K—v‚È‚¢‚­‚‚©‚̃\[ƒX ƒtƒ@ƒCƒ‹‚âÝ’èƒtƒ@ƒCƒ‹‚̕ҏW‚ð‚܂Ƃ߂čs‚¢‚Ü‚·B - - - <Switches> - <SwitchNow target_set_names="Debug"/> - <Switch set_names="Release, Debug"/> - - <File path="debug.h"> - <T line="whole"> - <Debug>#define DEBUG 1</Debug> - <Release>// #define DEBUG 1</Release> - </T> - </File> - </Switches> - - Switches.trans Ý’èƒtƒ@ƒCƒ‹F - ƒTƒ“ƒvƒ‹ - debug.h - - - :// #define DEBUG 1 - : - - debug.h - - - :#define DEBUG 1 - : - - - - - - - - - ª ƒRƒƒ“ƒg ƒAƒEƒg // ‚É‚æ‚é–³Œø‰» - Switches ‚ðŽÀs‚·‚é‚ƁADebug Ý’è‚ɃXƒCƒbƒ`‚µ‚Ü‚·B - c - c - ƒXƒCƒbƒ`‚Ì‚P‚‚ð’è‹`BƒXƒCƒbƒ`‚Ì’l‚́AƒRƒ“ƒ}‹æØ‚è - iCSV Œ`Ž®jA‚ÅŽw’肵‚Ü‚·B - Debug ‚ɃXƒCƒbƒ`‚µ‚½‚Æ‚«‚ƁARelease ‚ɃXƒCƒbƒ`‚µ‚½‚Æ‚«‚Ì - debug.h ƒtƒ@ƒCƒ‹‚̈ꕔ‚Ì - ƒeƒLƒXƒg‚ðŽw’肵‚Ä‚¢‚Ü‚·B - c - ƒXƒCƒbƒ` - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >Switches------------------------------------------------------------------------------- - ŠÂ‹«‚ɍ‡‚킹‚Ä•¡”‚̃eƒLƒXƒg ƒtƒ@ƒCƒ‹‚ðŽ©“®•ÒW‚µ‚Ü‚·B - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX >C:\work\Switches.trans - ------------------------------------------------------------------------------- - C:\work\Text1.txt - C:\work\Text2.txt - C:\work\File.txt - C:\work\Folder - ˆÈã‚̃tƒ@ƒCƒ‹‚ð•ÒW‚µ‚Ü‚·B - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - ------------------------------------------------------------------------------- - C:\work\Text1.txt - C:\work\Text2.txt - C:\work\File.txt - C:\work\Folder - •ÒW‚µ‚Ü‚µ‚½B - - Switches - Switch ƒ^ƒOAFile ƒ^ƒOAT ƒ^ƒO‚́A•¡”Žw’è‚Å‚«‚Ü‚·B - debug.h ƒtƒ@ƒCƒ‹‚Ì’†‚ŁA// #define DEBUG 1 ‚ðŒŸõ‚µ‚āAŒ©‚‚©‚Á‚½‚çA#define DEBUG 1 ‚É’u‚«Š·‚¦‚Ü‚·B - - ¨ Ú× - - ŠÖ˜A - - ¨ Translate - - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_Switches.vbs - - - ¨ vbslib Prompt.vbs - - ª ƒRƒƒ“ƒg ƒAƒEƒgíœ‚É‚æ‚é—LŒø‰» - ‚ǂ̃XƒCƒbƒ`‚Ì’l‚à‘Ώۂ̃tƒ@ƒCƒ‹‚É‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - - ¨ (test) ToolsLib.vbs - - - ¨ ToolsLib.vbs - - - - - - - - - - - - - Switches ‚̐ݒèƒtƒ@ƒCƒ‹ - Switches/SwitchNow - @target_set_names - Ø‚è‘Ö‚¦‚½Œã‚̃XƒCƒbƒ`‚Ì’lB•¡”‚Ì’l‚ðŽw’è‚·‚é‚Æ‚«‚́ACSV Œ`Ž®iƒRƒ“ƒ}‹æØ‚èj‚Å‹Lq‚µ‚Ü‚·B - Ø‚è‘Ö‚¦‚邽‚Ñ‚É‹Lq‚µ‚È‚¨‚µ‚Ä‚­‚¾‚³‚¢B - —áF target_set_names="Debug, Minimum" - @verbose - ƒfƒoƒbƒO—p‚̏ڍו\Ž¦‚ð‚·‚é‚©‚Ç‚¤‚©B "yes" ‚© "no"B - Switches/Switch - @set_names - ƒXƒCƒbƒ`‚Ì’l‚Ì’è‹`BCSV Œ`Ž®iƒRƒ“ƒ}‹æØ‚èj‚Å‹Lq‚µ‚Ü‚·B - ’ʏíAƒIƒ“‚©ƒIƒt‚É‘Š“–‚·‚é‚Q‚‚̃Vƒ“ƒ{ƒ‹‚ð‹Lq‚µ‚Ü‚·‚ªA - ‚R‚ˆȏã‹Lq‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - •¡”‚̃XƒCƒbƒ`‚ð’è‹`‚Å‚«‚Ü‚·‚ªAƒXƒCƒbƒ`‚Ì’l‚Ì–¼‘O‹óŠÔ‚̓Oƒ[ƒoƒ‹ - ‚Å‚·‚̂ŁAÕ“Ë‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - ‚P‚Â‚Ì‚Ý - •¡”‰Â”\ - Switches/File - ‰º‹L‚Ì‘¼‚ɁA - - Variable ƒ^ƒO - - ‚àA‹Lq‚Å‚«‚Ü‚·B - - << Switches - - •¡”‰Â”\ - @path - “à—e‚ð’u‚«Š·‚¦‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒXB - Switches/File/T - •¡”‰Â”\ - @line - È—ªŽž‚́A’u‚«Š·‚¦‚éƒeƒLƒXƒg‚ªs‚Ì“r’†‚É‚ ‚Á‚Ä‚à’u‚«Š·‚¦‚Ü‚·B"head" ‚ÌŽž‚́As‚̐擪‚Ì‚Ý’u‚«Š·‚¦‚Ü‚·B - "whole" ‚ÌŽž‚́As‚Ì‘S‘̂ɑ΂µ‚Ä’u‚«Š·‚¦‚Ü‚·B - Switches/File/T/(ƒXƒCƒbƒ`‚Ì’l) - text() - ƒXƒCƒbƒ`‚Ì’l‚ª‚±‚ê‚܂Őݒ肳‚ê‚Ä‚¢‚½‚Æ‚«‚́A’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒgBƒXƒCƒbƒ`‚Ì’l‚ª‚±‚ê‚©‚çÝ’肵‚悤‚Æ‚µ‚Ä‚¢‚é‚Æ‚«‚́A’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒgB - - Variable ƒ^ƒO - - ‚Å’è‹`‚µ‚½•Ï”‚ðŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - @variable - text() ‚ŁA - ‚Å’è‹`‚µ‚½•Ï”‚ðŽQÆ‚·‚é‚©‚Ç‚¤‚©B "yes" ‚© "no"B - - Variable ƒ^ƒO - - "no" ‚Ì‚Æ‚«‚́A${Var} ‚̂悤‚ȃeƒLƒXƒg‚́A•Ï”‚Ì’l‚É’u‚«Š·‚í‚è‚Ü‚¹‚ñB - @cut_indent - text() ‚©‚çAs“ª‚Ì‹ó”’‚âƒ^ƒu‚ðƒJƒbƒg‚µ‚½ƒeƒLƒXƒg‚ŏˆ—‚·‚é‚©‚Ç‚¤‚©B "yes" ‚© "no"B ŽQlF - @indent - text() ‚ɁAs“ª‚Ì‹ó”’‚âƒ^ƒu‚ð’ljÁ‚µ‚½ƒeƒLƒXƒg‚ŏˆ—‚·‚é‚悤‚É‚µ‚Ü‚·B "${Count}*${Character}" Œ`Ž®‚ÅŽw’肵‚Ü‚·B - —áF "2*&#9;" c 2‚‚̃^ƒuA "8*&#x20;" c ‚S‚Â‚Ì‹ó”’ - ‚È‚¨A&#`; ‚́A - - XML ‚Ì•¶ŽšŽQÆ - - ‚Å‚·B - - ¨ CutIndentOfMultiLineText - - Switches/File/T/(ƒXƒCƒbƒ`‚Ì’l)/(ƒXƒCƒbƒ`‚Ì’l)/ ... - •¡”‰Â”\ - •¡”‰Â”\ - ƒlƒXƒg‚µ‚½ƒXƒCƒbƒ`‚Ì’l‚́AAnd ðŒ‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B‚È‚¨AOR ðŒ‚ðŽw’è‚·‚é•û–@‚Í‚ ‚è‚Ü‚¹‚ñB Variable ƒ^ƒO‚ðŠˆ—p‚µ‚ăeƒLƒXƒg‚ðŽw’肵‚Ä - ‚­‚¾‚³‚¢B - —áF - <T><Debug> - <Minimum>Debug and Minimun</Minimum> - <Full>Debug and Full</Full> - </Debug> - <Release> - <Minimum>Release and Minimun</Minimum> - <Full>Release and Full</Full> - </Release> - </T> - Switches/File/T/LinesStart[attribute_of='T'] - ‚P‚Â‚Ì‚Ý - ’u‚«Š·‚¦‚é”͈͂̒¼‘O‚̍s‚Ƀ}ƒbƒ`‚·‚éƒL[ƒ[ƒhB‚±‚̃L[ƒ[ƒh‚Ƀ}ƒbƒ`‚µ‚½s‚ÌŽŸ‚̍s‚©‚çALinesEnd[attribute_of='T']/text() - ‚ÉŽw’肵‚½ƒL[ƒ[ƒh‚Ƀ}ƒbƒ`‚µ‚½s‚Ì‘O‚̍s‚Ü‚Å‚ªA“¯‚¶ T ƒ^ƒO‚ðe—v‘f‚É - Ž‚ƒ^ƒO‚ÅŽw’肵‚½ƒeƒLƒXƒg‚Å’u‚«Š·‚¦‚é”͈͂ł·B - text() - <T> <LinesStart attribute_of="T">StartLine</LinesStart> - <LinesEnd attribute_of="T">EndLine</LinesStart> - <Minimum>Minimun</Minimum> - <Full>Full</Full> - </T> - —áF - ã‹L‚̐ݒè‚Å Full ‚ɃXƒCƒbƒ`‚·‚é‚ƁA‰º‹L‚̂悤‚É’u‚«Š·‚í‚è‚Ü‚·B - Minimum-- StartLine -- - Minimum - -- EndLine -- - Minimum - Minimum-- StartLine -- - Full - -- EndLine -- - Minimum - text() - ’u‚«Š·‚¦‚é”͈͂̒¼Œã‚̍s‚Ƀ}ƒbƒ`‚·‚éƒL[ƒ[ƒhBŽQl ¨ LinesStart[attribute_of='T'] - ‚P‚Â‚Ì‚Ý - Switches/File/T/LinesEnd[attribute_of='T'] - È—ªŽž‚́AƒXƒCƒbƒ`‚Ì’l‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚Ńtƒ@ƒCƒ‹‚Ì“à—e‚ð’u‚«Š·‚¦‚Ü‚·‚ªA - "path" ‚ðŽw’è‚·‚é‚ƁAƒXƒCƒbƒ`‚Ì’l‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ðA - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B ‚»‚µ‚āAƒXƒCƒbƒ`‚Ì’l‚É - ‚æ‚Á‚āAƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚µ‚Ä’u‚«Š·‚¦‚Ü‚·B ƒpƒX‚ðŽw’肵‚È - ‚©‚Á‚½‚Æ‚«‚́Aƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - @text_type - <File path="File.txt"> <T text_type="path"> - <SetX>File\FileX.txt</SetX> - <SetY>File\FileY.txt</SetY> - <SetZ></SetZ> - </T> - </File> - —áF - SetX ‚ɃXƒCƒbƒ`‚·‚é‚ƁAFile\FileX.txt ‚©‚ç File.txt ‚ɃRƒs[‚µ‚Ü‚·BSetY ‚ɃXƒCƒbƒ`‚·‚é‚ƁAFile\FileY.txt ‚©‚ç File.txt ‚ɃRƒs[‚µ‚Ü‚·B - SetZ ‚ɃXƒCƒbƒ`‚·‚é‚ƁAFile.txt ‚ðíœ‚µ‚Ü‚·B - Switches ‚̐ݒèƒtƒ@ƒCƒ‹‚É‹Lq‚Å‚«‚é XML ‚Ì“à—e‚ðà–¾‚µ‚Ü‚·B - - ¨ CutIndentOfMultiLineText - - ƒXƒCƒbƒ`‚̃XƒCƒbƒ`‚ɂ͑Ήž‚µ‚Ä‚¢‚Ü‚¹‚ñB‚à‚µ‘Ήž‚µ‚Ä‚¢‚ê‚΁A‚½‚Æ‚¦‚΁AA, B or C ‚ªƒIƒ“‚̏ꍇ X ‚ªƒIƒ“AD or E ‚ªƒIƒ“‚̏ꍇ Y ‚ªƒIƒ“ - ‚ª’è‹`‚Å‚«‚ê‚΁A“¯‚¶ text() ‚ð 3‚Â‚Æ 2‚‘‚­•K—v‚ª‚È‚­‚È‚è‚Ü‚·B - - - - - - - SyncByShortcut - ƒVƒ‡[ƒgƒJƒbƒg‚ªŽw‚·ƒtƒ@ƒCƒ‹‚ð‚Q‚‚̃tƒHƒ‹ƒ_[ŠÔ‚Å“¯ŠúƒRƒs[‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SyncByShortcut------------------------------------------------------------------------------- - ƒVƒ‡[ƒgƒJƒbƒg‚ªŽw‚·ƒtƒ@ƒCƒ‹‚ð‚Q‚‚̃tƒHƒ‹ƒ_[ŠÔ‚Å“¯ŠúƒRƒs[‚µ‚Ü‚·B - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX > - ƒtƒHƒ‹ƒ_[ (1): "C:\FolderA" - ƒtƒHƒ‹ƒ_[ (2): "C:\FolderB" - C:\FolderA\A.txt - C:\FolderB\sub\A.txt - ˆÈã‚̃tƒ@ƒCƒ‹‚ðA‘Ήž‚·‚éƒtƒHƒ‹ƒ_[‚ɃRƒs[‚µ‚Ü‚·B - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - ƒeƒXƒg - - ¨ T_SyncByShortcut ƒtƒHƒ‹ƒ_[ - - SyncByShortcut - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - - - - - - - - - - - - SyncFilesT - •¡”‚̃^[ƒQƒbƒgŠÔ‚Ńtƒ@ƒCƒ‹‚Ì“à—e‚ðˆê“x‚É“¯Šúiƒ}[ƒWj‚·‚邱‚ƂŁA‘S‚Ẵ^[ƒQƒbƒg‚ªÅV‚̏ó‘Ô‚Å‚ ‚邱‚Æ‚ðˆÛŽ‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - s‚ªƒtƒ@ƒCƒ‹A—ñ‚ªƒ‚ƒWƒ…[ƒ‹‚̃^[ƒQƒbƒgA‚Æ‚¢‚¤•\‚ð•\Ž¦‚µ‚āA“¯Šú‚·‚éƒtƒ@ƒCƒ‹‚̏󋵂ð - ˆê——‚Å‚«‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SyncFilesT------------------------------------------------------------------------------- - >SyncFilesT - s‚ªƒtƒ@ƒCƒ‹A—ñ‚ªƒ‚ƒWƒ…[ƒ‹‚̃^[ƒQƒbƒgA‚Æ‚¢‚¤•\‚ð•\Ž¦‚µ‚āA‚·‚ׂẴ^[ƒQƒbƒg - ŠÔ‚Å“¯Šúiƒ}[ƒWj‚·‚邱‚Æ‚ðŽx‰‡‚µ‚Ü‚·B - - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX >C:\Folder\SyncFilesT_Sample.xml - ------------------------------------------------------------------------------- - ƒ^[ƒQƒbƒgŠÔ‚Å”äŠr‚·‚éƒtƒ@ƒCƒ‹‚Ì kind ’l‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B - 1. kind ’l 1 ‚̃tƒ@ƒCƒ‹‚ð”äŠr‚·‚é - 2. kind ’l 2 ‚̃tƒ@ƒCƒ‹‚ð”äŠr‚·‚é - : - 97. ÄƒXƒLƒƒƒ“‚µ‚āAˆê——‚ð•\Ž¦‚·‚é [Reload] - 98. Ú×‚ð•\Ž¦‚·‚é [ShowDetail] - 96. HTML ƒtƒ@ƒCƒ‹‚ð•Û‘¶‚·‚é [SaveHTML] - 99. I—¹ [Exit] - kind ’l‚Ü‚½‚͏ã‹L‚̔ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼> - - ƒeƒXƒg - - ¨ T_SyncTable ƒtƒHƒ‹ƒ_[ - - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - ƒTƒ“ƒvƒ‹ - ƒ^[ƒQƒbƒgŠÔ‚Ńtƒ@ƒCƒ‹‚ð”äŠr‚·‚éA‚ð‘I‚ԂƁA - ‚ª‹N“®‚·‚é‚̂Ńtƒ@ƒCƒ‹‚Ì“à—e‚É - - - <SyncFilesT> - <HashList path="Commited MD5List.txt"/> - <ModuleFiles module_name="ModuleX"> - <TargetFiles index="1" target_name="ModuleX\TargetA" path="ModuleX\TargetA"/> - <TargetFiles index="2" target_name="ModuleX\TargetB" path="ModuleX\TargetB"/> - <TargetFiles index="3" target_name="ModuleX\TargetC" path="ModuleX\TargetC"/> - <!-- index="1,2,3" --> - <File kind="1" description="A,A, " name="g1.c" line_num="8"/> - <File kind="1" description=" , ,B" name="g2.c" line_num="9"/> - <File kind="2" description="A,B,B" name="g3.c" line_num="10"/> - </ModuleFiles> - - <CommitedFile hash="9a0baa2ed090b16796c55c156b5ffca9" revision="ModuleX\1\01\A"/> - <CommitedFile hash="a307d745bf90d586726f52a0689258fb" revision="ModuleX\1\01\B"/> - <CommitedFile hash="b927f9ad55f40d1b13688d417337d3e2" revision="ModuleX\2\01\A"/> - <CommitedFile hash="60422f855bd29aa68f7316855f43f4c1" revision="ModuleX\2\01\B"/> - - </SyncFilesT> - - ã‹L‚Ì•\‚́A‰º‹L‚̐ݒèƒtƒ@ƒCƒ‹‚ðŠJ‚¢‚½‚Æ‚«iSyncFilesT ƒRƒ}ƒ“ƒh‚ð‹N“®‚µ‚½‚Æ‚«j‚É•\Ž¦‚³‚ê‚Ü‚·B - - Diff ƒc[ƒ‹ - - •\‚ª•ö‚ê‚Ä‚¢‚é‚̂́Aƒuƒ‰ƒEƒU[‚ª•W€Žd—l‚ɑΉž‚µ‚Ä‚¢‚È‚¢‚½‚ß‚Å‚·B - - ¨ Ú× - - •\‚̐F‚©‚çAg1.c ƒtƒ@ƒCƒ‹‚́ATargetA ‚Æ TargetB ‚Å“à—e‚ª“¯‚¶‚Å‚ ‚邱‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B “¯—l‚É g3.c ƒtƒ@ƒCƒ‹‚́ATargetB ‚Æ TargetC ‚Å“à—e‚ª“¯‚¶‚Å‚ ‚邱‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B - “¯‚¶F‚Å‚às‚ªˆÙ‚È‚ê‚΁A“¯‚¶“à—e‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - 01_A ‚́AƒŠƒrƒWƒ‡ƒ“ 01Adescription ‹L† A ‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B ƒŠƒrƒWƒ‡ƒ“‚́A01 ‚©‚çŽn‚Ü‚é - ®”‚ÉŒÀ‚ç‚ê‚Ü‚·B description ‹L†‚ª“¯‚¶ƒtƒ@ƒCƒ‹‚́A“¯‚¶“à—e‚Å‚ ‚é‚ׂ«‚Æ‚¢‚¤‚±‚Æ‚ð - •\‚µ‚Ä‚¢‚Ü‚·B - - ¨ SyncFilesT_Class ƒƒ‚ - - ŠÖ˜A - - ¨ ModuleAssort - - - ¨ ƒtƒ@ƒCƒ‹‚Ì“¯ŠúŽè‡ - - SyncFilesT - C:\Folder\SyncFilesT_Sample.xml - ƒtƒ@ƒCƒ‹–¼‚̍¶‚É‚ ‚é”ԍ†‚́Akind ”ԍ†‚Å‚·B ƒ^[ƒQƒbƒg‚É‚æ‚Á‚ătƒ@ƒCƒ‹–¼‚ªˆÙ‚È‚Á‚Ä‚¢‚Ä‚àAkind ”ԍ†‚ð‡‚í‚¹‚ê‚ΔäŠr‘ΏۂɂȂèA“¯‚¶s‚É”z’u‚³‚ê‚Ü‚·B - SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹F - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - ¨ ƒTƒ“ƒvƒ‹ - - - ¨ V‹K SyncFilesT Ý’èƒtƒ@ƒCƒ‹‚̐¶¬ - - - ¨ SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹‚ÌÚ× - - - ¨ V‹Kì¬ - - SyncFilesT ‚ðA‹N“®‚·‚é‚ƁA‰º‹L‚̃Tƒ“ƒvƒ‹‚̂悤‚È•\‚ª•\Ž¦‚³‚ê‚Ü‚·B - ModuleX - TargetA - g1.c - g3.c - g3.c - g1.c - TargetB - g2.c - g3.c - TargetC - ‚‚¢‚ẮAŽè“®‚Å“¯Šú‚µ‚Ä‚­‚¾‚³‚¢B - ã‹L‚Ì TargetC ‚Ì g2.c ƒtƒ@ƒCƒ‹‚́ATargetA, TargetB ‚Ì g1.c ƒtƒ@ƒCƒ‹‚Æ“¯Šú‚ð‚Æ‚é‚悤‚Ékind ”ԍ†‚ð‡‚í‚¹‚Ä‚¢‚Ü‚·B - - - - - - - - - - - - - - - - - - V‹K SyncFilesT Ý’èƒtƒ@ƒCƒ‹‚̐¶¬ - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >syncfilest_new------------------------------------------------------------------------------- - >SyncFilesT - SyncFilesT ‚ÅŽg‚¤Ý’èƒtƒ@ƒCƒ‹‚̃eƒ“ƒvƒŒ[ƒg‚𐶐¬‚µ‚Ü‚·B - Šeƒ^[ƒQƒbƒg‚̃tƒHƒ‹ƒ_[‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒX >C:\ModuleX - - >OpenForWrite "C:\_SyncFilesT_ModuleX.xml" - - ¶¬‚µ‚½ã‹L‚̐ݒèƒtƒ@ƒCƒ‹‚ł悯‚ê‚΁Aã‘‚«‚³‚ê‚È‚¢‚½‚߂Ƀtƒ@ƒCƒ‹–¼‚ð•Ï‚¦‚Ä - ‚­‚¾‚³‚¢B - - syncfilest_new - - SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹ - - ƒtƒHƒ‹ƒ_[‚Ì’†‚̈ꕔƒtƒ@ƒCƒ‹‚¾‚¯“¯Šú‚·‚é‚Æ‚«‚́A“¯Šú‚·‚éƒtƒ@ƒCƒ‹‚¾‚¯‚𒊏o‚·‚é‚悤‚ɃRƒs[‚ð‚·‚éƒXƒNƒŠƒvƒg‚ð“ÆŽ©‚ɍ쐬‚µ‚āAƒRƒs[‚µ‚½ƒtƒHƒ‹ƒ_[‚ɑ΂µ‚Ä SyncFilesT ƒc[ƒ‹‚ðŽg‚¤‚Æ‚æ‚¢‚Å‚µ‚å - ‚¤B ‚Ü‚½A‹t•ûŒü‚̃Rƒs[‚ð‚·‚éƒXƒNƒŠƒvƒg‚àì¬‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - - <SyncFilesT> - <ModuleFiles module_name="ModuleX"> - <TargetFiles index="1" target_name="ModuleX\TargetA" path="ModuleX\TargetA"/> - <TargetFiles index="2" target_name="ModuleX\TargetB" path="ModuleX\TargetB"/> - <TargetFiles index="3" target_name="ModuleX\TargetC" path="ModuleX\TargetC"/> - <!-- index="1,2,3" --> - <File kind="1" description="A,A, " name="g1.c" line_num="8"/> - <File kind="1" description=" , ,B" name="g2.c" line_num="9"/> - <File kind="2" description="A,B,B" name="g3.c" line_num="10"/> - </ModuleFiles> - - </SyncFilesT> - - ‚ðV‹K‚ɍ쐬‚·‚é‚Æ‚«‚́A”äŠr‚·‚éŠeŽíƒ^[ƒQƒbƒg‚ð‚P‚‚̃tƒHƒ‹ƒ_[‚É - SyncFilesT_new ƒRƒ}ƒ“ƒh - ‚ðŽg‚Á‚ÄŽ©“®ì¬‚µ‚Ü‚·B - ‚½‚¾‚µATargetFiles/@indexAFile/@kindA File/@description ‚́A’²®‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - TargetFiles ƒ^ƒO‚ð’ljÁ‚·‚é‚Æ‚«‚́AV‹K index ‘®«‚Ì’l‚ªA‘¼‚Ì index ‘®«‚Ì’l‚ƏՓ˂µ‚Ä‚¢‚È‚¢‚±‚Æ‚ðŒŸõ‚µ‚ÄŠm”F‚µ‚Ä‚­‚¾‚³‚¢B TargetFiles ƒ^ƒO‚Ì index ‘®«‚Ì’l‚ð•ÏX‚µ‚½‚Æ‚«‚́AFile ƒ^ƒO‚Ì - description ‘®«‚à‡‚킹‚ĕύX‚µ‚Ä‚­‚¾‚³‚¢B - ‚Ü‚Æ‚ß‚Ä‚©‚çA - ModuleX - TargetA - g1.c - g3.c - g3.c - g1.c - TargetB - g2.c - g3.c - TargetC - ”äŠr‚·‚éŠeŽíƒ^[ƒQƒbƒg‚ð‚P‚‚̃tƒHƒ‹ƒ_[‚ɂ܂Ƃ߂āA - ‚Ì SyncFilesT_new ƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚ƁA - - vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹‚ªAŽw’肵‚½ƒtƒHƒ‹ƒ_[‚̐eƒtƒHƒ‹ƒ_[‚É‚Å‚«‚Ü‚·B - _SyncFilesT_ModuleX.xml - - ¨ Ú× - - ã‹L‚́ATargetC ‚Ì g2.c ƒtƒ@ƒCƒ‹‚ªATargetA, TargetB ‚Ì g1.c ƒtƒ@ƒCƒ‹‚Æ“¯Šú‚ð‚Æ‚é‚悤‚É’²®Ï‚Ý‚Å‚·B - - << SyncFilesT - - File ƒ^ƒO‚ð’ljÁ‚·‚é‚Æ‚«‚́AV‹K kind ‘®«‚Ì’l‚ªA‘¼‚Ì kind ‘®«‚Ì’l‚ƏՓ˂µ‚Ä‚¢‚È‚¢‚±‚Æ‚ðŒŸõ‚µ‚ÄŠm”F‚µ‚Ä‚­‚¾‚³‚¢B File ƒ^ƒO‚Ì kind ‘®«‚Ì’l‚ð•ÏX‚µ‚½‚Æ‚«‚́ACommitedFile ƒ^ƒO‚Ì - - ¨ CommitedFile ƒ^ƒO‚̃Tƒ“ƒvƒ‹ - - revision ‘®«‚à‡‚킹‚ĕύX‚µ‚Ä‚­‚¾‚³‚¢B - c ‚±‚̃tƒHƒ‹ƒ_[‚ðŽw’肵‚Ü‚·B - - - - - - - - - - - - - - - - ƒtƒ@ƒCƒ‹‚Ì“¯ŠúŽè‡ - - << SyncFilesT - - ‚ ‚éƒ^[ƒQƒbƒg‚Ì‚P‚‚̃tƒ@ƒCƒ‹‚ɍXV‚ª‚ ‚Á‚½‚Æ‚«ASyncFilesT ‚ª•\Ž¦‚·‚é•\‚́A‰º‹L‚̂悤‚É•Ï‚í‚è‚Ü‚·B ‚È‚¨A•\‚Ì’†‚Ì 01_Aiƒuƒ‰ƒEƒU[‚É‚æ‚Á‚Ä‚Í 01\Aj ‚Ì 01 ‚́AƒŠƒrƒWƒ‡ƒ“”ԍ†AA ‚́Aƒ^[ƒQƒbƒg‚Ì - description ‹L†‚Å‚·B description ‹L†‚ª“¯‚¶‚È‚çA“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚Å‚ ‚é‚ׂ«‚±‚Æ‚ð•\‚µ‚Ü‚·B - - - - - - - - - - - kind ’l‚Ü‚½‚͏ã‹L‚̔ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>1------------------------------------------------------------------------------- - - 1) - - Enter ‚̂݁FI—¹ - c+”ԍ†Fƒ^[ƒQƒbƒgŠÔ‚ŃRƒs[‚·‚é - Target Number (Left or c+Source) >c1 - - Enter ‚̂݁FƒRƒs[I—¹ - Target Number (Destination) >2 - source_path = "C:\TargetA\g1.c" - destination_path = "C:\TargetB\g1.c" - ƒRƒs[‚µ‚Ü‚·B[Y/N]y - - TargetA ‚Ì g1.c ƒtƒ@ƒCƒ‹‚Ì“à—e‚ð‚·‚×‚Ä TargetB ‚Ì g1.c ƒtƒ@ƒCƒ‹‚ɃRƒs[‚·‚é‚Æ‚«‚́AŽŸ‚̉©F‚¢•¶Žš‚̂悤‚É“ü—Í‚µ‚Ä‚¢‚Á‚Ä‚­‚¾‚³‚¢B ‚½‚¾‚µAƒRƒs[Œ³‚̃^[ƒQƒbƒg”ԍ†‚ð“ü—Í‚·‚é‚Æ‚«‚́A”ԍ†‚Ì - æ“ª‚É c ‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - 1 - c1 - 2 - •\‚Ì“à—e‚ªAnew_* i—áFnew_1_AAƒuƒ‰ƒEƒU[‚É‚æ‚Á‚Ä‚Í new_1\Aj‚Ì‚Æ‚«‚́A‚Ü‚¾ƒRƒ~ƒbƒgiŠm’èj‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B - ƒRƒ~ƒbƒgiŠm’èj‚·‚é‚ɂ́A - - SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹ - - ‚ɁAˆÈ‰º‚̂悤‚È CommitedFile ƒ^ƒO‚ð’ljÁ‚µ‚Ü‚·B - - - <CommitedFile hash="9a0baa2ed090b16796c55c156b5ffca9" revision="ModuleX\1\02\A"/> - - ‚±‚Ì CommitedFile ƒ^ƒO‚́AModuleX ƒ‚ƒWƒ…[ƒ‹‚ÉŠÜ‚Ü‚ê‚éAƒtƒ@ƒCƒ‹‚Ì kind ”ԍ†= 1AƒŠƒrƒWƒ‡ƒ“”ԍ†= 02Aƒ^[ƒQƒbƒg‚Ì description ‹L†= AA‚̃tƒ@ƒCƒ‹‚ðƒRƒ~ƒbƒg‚µ‚½‚±‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B ‚»‚Ì - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ɑΉž‚·‚é - - MD5 ƒnƒbƒVƒ…’l - - ‚́A9a0baa2ed090b16796c55c156b5ffca9 ‚Å‚·B - XV‚ª•K—v‚È‚¢ƒtƒ@ƒCƒ‹‚ɂ‚¢‚Ä‚àAƒŠƒrƒWƒ‡ƒ“”ԍ†‚ðXV‚µ‚½ƒRƒ~ƒbƒg‚ð‚µ‚Ä‚­‚¾‚³‚¢B ‚±‚̃Rƒ~ƒbƒg‚É‚æ‚èAXV“à—e‚𔽉f‚·‚é•K—v‚ª‚È‚©‚Á‚½‚±‚Æ‚ª•\‚킹‚Ü‚·B ‚·‚ׂẴtƒ@ƒCƒ‹‚ªƒRƒ~ƒbƒgÏ‚Ý‚Å‚ ‚Á - ‚Ä‚àAƒŠƒrƒWƒ‡ƒ“”ԍ†‚ªˆÙ‚È‚ê‚΁A‚Ü‚¾”½‰f‚µ‚Ä‚¢‚È‚¢‚Æ‚µ‚āAModified ‚Ì—ñ‚É * ‚ª•\Ž¦‚³‚ê‚Ü‚·B - ‰º‹L‚Ì•\‚́ATargetA ‚̍XV“à—e‚ð TargetB ‚ÆTagetC ‚É”½‰f‚µ‚½Œ‹‰ÊATargetC ‚ɂ͕ύX‚ª‚È‚©‚Á - ‚½‚̂ŁATargetA ‚Æ TargetB ‚ɑ΂µ‚Ă̂ݐV‚µ‚¢ CommitedFile ƒ^ƒO‚ð’ljÁ‚µ‚½‚Æ‚«‚Ì•\‚Å‚·B ƒŠƒrƒWƒ‡ƒ“ - ”ԍ†‚ª¬‚³‚¢ TargetC ‚ðAƒŠƒrƒWƒ‡ƒ“”ԍ†01 ‚©‚ç 02 ‚ɏグ‚é‚悤‚ɁAMD5 ƒnƒbƒVƒ…’l‚ª“¯‚¶‰º‹L‚̂悤‚È - CommitedFile ƒ^ƒO‚ð’ljÁ‚µ‚Ä‚­‚¾‚³‚¢B - CommitedFile ƒ^ƒO‚Ì“à—e‚́A98. Ú×‚ð•\Ž¦‚·‚é [ShowDetail] ‚ð‘I‚Ô‚ÆŠJ‚­ƒtƒ@ƒCƒ‹‚̍Ōã‚ɏ‘‚©‚ê‚Ä‚¢‚Ü‚·B ‚±‚̏ڍ׃tƒ@ƒCƒ‹‚́A97. ƒŠƒ[ƒh ‚ōXV‚³‚ê‚Ü‚·B ‚½‚¾‚µAƒŠƒrƒWƒ‡ƒ“”ԍ†‚́A‚·‚Å‚É‚ ‚é”ԍ† - ‚ƈقȂé”ԍ†‚ɕύX‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ‚Ü‚½Aƒ^[ƒQƒbƒg‚Ì description ‹L†‚́A³‚µ‚­C³‚µ‚È‚¯‚ê‚Î - ‚È‚ç‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B - XV‚ª‚ ‚Á‚½ƒtƒ@ƒCƒ‹iTargetA ‚Ì g1.cj‚̍XV“à—e‚ðA‘¼‚̃^[ƒQƒbƒg‚̃tƒ@ƒCƒ‹iTargetC ‚Ì g1.cj‚É - - - ƒ^[ƒQƒbƒgŠÔ‚Å”äŠr‚·‚éƒtƒ@ƒCƒ‹‚Ì kind ’l‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B1. kind ’l 1 ‚̃tƒ@ƒCƒ‹‚ð”äŠr‚·‚é - 2. kind ’l 2 ‚̃tƒ@ƒCƒ‹‚ð”äŠr‚·‚é - : - 97. ÄƒXƒLƒƒƒ“‚µ‚āAˆê——‚ð•\Ž¦‚·‚é [Reload] - 98. Ú×‚ð•\Ž¦‚·‚é [ShowDetail] - 96. HTML ƒtƒ@ƒCƒ‹‚ð•Û‘¶‚·‚é [SaveHTML] - 99. I—¹ [Exit] - kind ’l‚Ü‚½‚͏ã‹L‚̔ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>1 - ------------------------------------------------------------------------------- - - 1) - - Enter ‚̂݁FI—¹ - c+”ԍ†Fƒ^[ƒQƒbƒgŠÔ‚ŃRƒs[‚·‚é - Target Number (Left or c+Source) >1 - Target Number (Right) >3 - - 1 - 1 - 3 - ‚Ü‚½‚Í - - Diff ƒc[ƒ‹ - - - SyncFilesX ƒc[ƒ‹ - - Diff ƒc[ƒ‹‚ŁiTargetC ‚ðj“¯Šú‚³‚¹‚½ŒãAƒŠƒ[ƒhiEnter ‚Å–ß‚Á‚Ä‚©‚ç 97. Reloadj‚·‚é‚ƁAŽŸ‚̂悤‚É•\Ž¦‚ª•Ï‚í‚è‚Ü‚·B - TargetB ‚́ATargetA ‚Æ“¯‚¶“à—e‚É‚È‚é‚ׂ«‚Ȃ̂ŁAŒãq‚̂悤‚ɃRƒs[‚µ‚Ä“¯Šú‚µ‚Ü‚·B - y - iTargetB ‚ɁjƒRƒs[‚µ‚Ä“¯Šú‚³‚¹‚½ŒãAƒŠƒ[ƒhiEnter ‚Å–ß‚Á‚Ä‚©‚ç 97. Reloadj‚·‚é‚ƁAŽŸ‚̂悤‚É•\Ž¦‚ª•Ï‚í‚è‚Ü‚·B - CommitedFile ƒ^ƒO‚ð’ljÁ‚µ‚½ŒãAƒŠƒ[ƒhiEnter ‚Å–ß‚Á‚Ä‚©‚ç 97. Reloadj‚·‚é‚ƁAŽŸ‚̂悤‚É•\Ž¦‚ª•Ï‚í‚è‚Ü‚·B Modified ‚Ì—ñ‚ª‹ó—“‚É‚È‚Á‚½‚çA“¯ŠúŠ®—¹‚Å‚·B 96. HTML ƒtƒ@ƒCƒ‹‚ð•Û‘¶ [SaveHTML] - ‚µ‚Ä‚¨‚­‚Æ‚æ‚¢‚Å‚µ‚傤B - - - <CommitedFile hash="a307d745bf90d586726f52a0689258fb" revision="ModuleX\1\02\B"/> : - <Commited____ hash="a307d745bf90d586726f52a0689258fb" revision="ModuleX\1\01\B"/> - - c ’ljÁ - c Šù‘¶ - Œ»ÝA“¯‚¶ƒnƒbƒVƒ…’l‚Ì CommitedFile ƒ^ƒO‚́AÅVƒŠƒrƒWƒ‡ƒ“‚É‚µ‚©•t‚¯‚ç‚ê‚Ü‚¹‚ñBŠù‘¶‚Ì CommitedFile ƒ^ƒO‚̃^ƒO–¼‚ð•Ï‚¦‚é‚È‚Ç‚µ‚Ä–³Œø‚É‚µ‚Ä‚­‚¾‚³‚¢B - - SyncFilesX ƒc[ƒ‹ - - - MD5 ƒŠƒXƒg - - ‚ðÝ’èƒtƒ@ƒCƒ‹‚Ì HashList - ‚ª‹N“®‚µ‚Ü‚·B - ”½‰f‚µ‚Ä“¯Šú‚·‚é‚Æ‚«‚́A‰º‹L‚̉©F‚¢•¶Žš‚̂悤‚É“ü‚·‚é‚Æ - ‚ªŠJ‚­‚̂ŁAŽè“®‚Å“¯Šú‚µ‚Ä‚­‚¾‚³‚¢B ‘O‰ñA“¯Šú‚µ‚½“à—e‚Ì - ƒ^ƒO‚ÉŽw’肵‚½‚Æ‚«‚¾‚¯A‘O‰ñA“¯Šú‚µ‚½‚Æ‚«‚Ì“à—e‚Æ‚à”äŠr‚ª‚Å‚«‚é - - ¨ ƒRƒ~ƒbƒgÏ‚̐ݒèƒtƒ@ƒCƒ‹‚̃Tƒ“ƒvƒ‹ - - - - - - - - SyncFilesT ‚̐ݒèƒtƒ@ƒCƒ‹‚ÌÚ× - /SyncFilesT/ModuleFiles - i1‚j - ƒ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚éƒtƒ@ƒCƒ‹‚̏W‡ - @module_name - Žqƒm[ƒh‚ÉŽw’è‚·‚éƒtƒ@ƒCƒ‹‚ªŠ‘®‚·‚郂ƒWƒ…[ƒ‹‚Ì–¼‘OB - /SyncFilesT/ModuleFiles/TargetFiles - i1‚A‚Ü‚½‚́A•¡”j - ƒ^[ƒQƒbƒgB ƒ‚ƒWƒ…[ƒ‹‚ÌŽqƒm[ƒh - @index - @target_name - @path - ƒ^[ƒQƒbƒg‚Ì–¼‘OB •\‚Ì—ñ‚̃^ƒCƒgƒ‹‚É•\Ž¦‚³‚ê‚Ü‚·B - ƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒXB ‘Š‘΃pƒX‚̊‚́AÝ’èƒtƒ@ƒCƒ‹‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[B - ‚±‚̃^[ƒQƒbƒg‚ɑΉž‚·‚é description ‘®«‚Ì’l‚Ì’†‚Ì—v‘f”ԍ†B æ“ª‚Í 1B•¡”‚̃^[ƒQƒbƒg‚Å“¯‚¶—v‘f”ԍ†‚ð‹¤—L‚·‚邱‚Æ‚à‰Â”\‚Å‚·B - /SyncFilesT/ModuleFiles/File - i1‚A‚Ü‚½‚́A•¡”j - ƒtƒ@ƒCƒ‹B ƒ‚ƒWƒ…[ƒ‹‚ÌŽqƒm[ƒh - @kind - @description - @name - @line_num - Kind’lB ƒtƒ@ƒCƒ‹‚ÌŽí—Þ‚ð•\‚·”ԍ†B ƒ^[ƒQƒbƒg‚ªˆÙ‚È‚é‚Æ‚«‚Ƀtƒ@ƒCƒ‹–¼‚ªˆÙ‚È‚é‚Æ‚«‚ɁA“¯‚¶”ԍ†‚ðŠ„‚è“–‚āA”äŠr‘Ώۂɂµ‚Ü‚·B - Description’lB “¯‚¶“à—e‚Å‚ ‚é‚ׂ«ƒtƒ@ƒCƒ‹‚ð•\‚·•¶Žš‚Ì•À‚сBCSVŒ`Ž®B‹ó”’•¶Žš‚́Aƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢‚±‚Æ‚ð•\‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹–¼B - FA File Name Œ`Ž® - Ý’èƒtƒ@ƒCƒ‹“à‚̍s”ԍ†B Ž©“®“I‚ɍXV‚³‚ê‚Ü‚·B - /SyncFilesT/ModuleFiles/CommitedFile - i‚OA1‚A‚Ü‚½‚́A•¡”j - ƒRƒ~ƒbƒg‚µ‚½ƒtƒ@ƒCƒ‹‚̃ŠƒrƒWƒ‡ƒ“ - @hash - ƒtƒ@ƒCƒ‹‚Ì“à—e‚̃nƒbƒVƒ…’lB MD5Œ`Ž®B - @revision - ƒŠƒrƒWƒ‡ƒ“B Œ`Ž®‚́Aƒ‚ƒWƒ…[ƒ‹–¼\Kind’l\ƒŠƒrƒWƒ‡ƒ“”ԍ†\Description’lB—áF ModuleX\1\01\A - /SyncFilesT/HashList - i‚OA‚Ü‚½‚́A1‚j - ƒRƒ~ƒbƒg‚µ‚½ƒtƒ@ƒCƒ‹‚̏ꏊ - @path - - MD5 ƒŠƒXƒg - - ‚̃pƒX - ‚P‚‚̃‚ƒWƒ…[ƒ‹‚ɑ΂µ‚āA•¡”‚Ì ModuleFiles ƒ^ƒO‚ðŽw’è‚Å‚«‚Ü‚·B - B “¯‚¶–¼‘O‚̃tƒ@ƒCƒ‹‚ª‚P‚‚µ‚©‚È‚¢‚Æ‚«‚́A - ƒtƒHƒ‹ƒ_[–¼‚ðŽw’è‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - << SyncFilesT - - Ú× - ŽQl - - ¨ V‹Kì¬ - - - ¨ ƒTƒ“ƒvƒ‹ - - - - - - - - - - - - - - - - - - - - - - - - - - - - SyncFilesX - “¯‚¶A‚Ü‚½‚́A‚Ù‚Ú“¯‚¶“à—e‚ɕۂ‚±‚Æ‚ª‹‚ß‚ç‚ê‚é‚Q‚‚̃tƒ@ƒCƒ‹‚ª‚ ‚é‚Æ‚«A‚»‚̕Еû‚Ü‚½‚Í—¼•û‚Ì“à—e‚ª‚»‚ꂼ‚ê‚ōXV‚³‚ê‚Ä‚àA‰ü‚ß‚Ä“¯‚¶A‚Ü‚½‚́A“¯—l‚̍·•ª‚ª‚ ‚é‚悤‚É–ß‚·i“¯Šú‚·‚éj - ‚±‚Æ‚ðŽx‰‡‚µ‚Ü‚·B ‘O‰ñ “¯Šú‚µ‚½‚Æ‚«‚Ì“à—e‚̂Ƃ̍·•ª‚àŠm”F‚Å‚«‚é‚̂ŁA·•ª‚ª’ljÁ‚·‚ׂ«“à—e - ‚È‚Ì‚©Aíœ‚·‚ׂ«“à—e‚È‚Ì‚©‚ðŠm”F‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - SyncFilesX ƒXƒNƒŠƒvƒg - - - '------------------------------------------------------------[FileInScript.xml]'<SyncFilesX> - '<SynchronizingSet - ' base_name="ModuleX : ŠÂ‹«A" - ' work_name="ModuleX : ŠÂ‹«B" - ' base="..\Project\Base" - ' path="..\Project\Work" - ' synced_base="_synced\1_Base" - ' synced_path="_synced\1_Work"> - ' - '<File path="Image.bmp"/> - '<File path="SourceCpp.cpp" base="Source.c"/> - ' - '<Folder same="yes" path="SubFolder"/> - '<File same="no" path="SubFolder\porting.c"/> - ' - '<Folder same="clone" path="CloneFolder"/> - ' - '</SynchronizingSet> - '</SyncFilesX> - '-----------------------------------------------------------[/FileInScript.xml] - - Sub Main( Opt, AppKey ) - SyncFilesX_App AppKey, new_FilePathForFileInScript( Empty ) - End Sub - - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - - ŠÂ‹«A—pƒtƒHƒ‹ƒ_[ - ŠÂ‹«B—pƒtƒHƒ‹ƒ_[ - - - - - - - - ‚Ù‚Ú“¯‚¶“à—e‚É•Û‚Â - Image.bmp - Image.bmp - Source.c - SourceCpp.cpp - - - printf( "Hello!\n" ); - - - - std::cout << "Hello!" << std::endl; - - i Source.c ‚ƃyƒAj - ƒyƒA‚Æ‚È‚éƒtƒ@ƒCƒ‹‚Ì“à—e‚ª“KØ‚ÈŠÖŒW‚É‚ ‚éó‘ԁi“¯Šú‚³‚ꂽó‘ԁj‚É‚È‚Á‚½‚çAƒRƒ~ƒbƒg‚ƌĂԑ€ì‚ð‚µ‚Ü‚·B SyncFilesX ‚É‚¨‚¯‚éƒRƒ~ƒbƒg‚́A“¯Šú‚³‚ꂽó‘Ԃ̃Rƒs[‚ðì¬‚·‚邱‚Æ‚Å‚·B - ƒRƒ~ƒbƒg‚µ‚½Œã‚́AƒyƒA‚̕Еû‚̃tƒ@ƒCƒ‹‚ðXV‚µ‚Ä‚àAƒRƒ~ƒbƒgŽž‚̃tƒ@ƒCƒ‹‚̃Rƒs[‚ª‚ ‚é‚̂ŁA - ‚»‚ê‚ðŽQl‚ɁA‚à‚¤•Ð•û‚̃tƒ@ƒCƒ‹‚ðXV‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚½‚¾‚µAXV‚ð‚ǂ̂悤‚É”½‰f - ‚³‚¹‚é‚ׂ«‚©‚Í Diff ƒc[ƒ‹‚ðŽg‚Á‚ĐlŠÔ‚ª”½‰f‚³‚¹‚Ä‚­‚¾‚³‚¢B - “¯ŠúŠÇ—ƒtƒHƒ‹ƒ_[ (_patch or _synced) - SyncFilesX iƒƒCƒ“EƒXƒNƒŠƒvƒgj - ‘O‰ñA“¯Šú‚µ‚½‚Æ‚«‚̊‹«A—pƒtƒHƒ‹ƒ_[ - ‘O‰ñA“¯Šú‚µ‚½‚Æ‚«‚̊‹«B—pƒtƒHƒ‹ƒ_[ - - [ e: ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib•t‘®) ] - - - ƒRƒ~ƒbƒg‚µ‚½‚炱‚±‚ɃRƒs[‚³‚ê‚é - - vbslib include - - SyncFilesX.vbs - SyncFilesX ‚ðŽg‚¤‚Æ‚«‚́ADiff ƒc[ƒ‹‚ª•K—v‚Å‚·B - - ¨ Setting_getDiffCmdLine - - Ý’è•”•ª‚̍s“ª‚ɂ́A' ‚ª•K—v‚Å‚·B - - ¨ new_FilePathForFileInScript - - ŠÖ˜A - - ¨ IsSynchronizedFilesX - - - - <SyncFilesX><Variable name="${Synced}" value="_synced"/> - - <SynchronizingSet - base_name="ModuleX : ŠÂ‹«A" - work_name="ModuleX : ŠÂ‹«B" - base="B" - path="W" - synced_base="${Synced}\BaseSub" - synced_path="${Synced}\WorkSub"> - - <File path="UpdateBoth.txt"/> - </SynchronizingSet> - - </SyncFilesX> - - FileInScript.xml ‚ɏ‘‚­Ý’è‚ɂ́AˆÈ‰º‚Ì SynchronizingSet ƒ^ƒO‚ðŽg—p‚Å‚«‚Ü‚·BSynchronizingSet ƒ^ƒO‚ª‚ ‚é‚Æ‚«‚́A‚Ç‚Ì SynchronizingSet ƒ^ƒO‚̃Zƒbƒg‚ð‘I‘ð‚·‚é‚©‚Ì - ƒƒjƒ…[‚ª’ljÁ‚³‚ê‚Ü‚·B - ${Synced} ‚́AVariable ƒ^ƒO‚̕ϐ”‚Ì’l‚É’u‚«Š·‚í‚è‚Ü‚·B - ‚‚܂èA¶‚̏ꍇA - synced_base="_synced\BaseSub" ‚É‚È‚è‚Ü‚·B - Image.bmp ƒtƒ@ƒCƒ‹‚ɑ΂·‚é‚»‚ꂼ‚ê‚̃pƒX‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - ..\Project\Base\Image.bmp - ŠÂ‹«AF - ŠÂ‹«BF - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̊‹«BF - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̊‹«AF - _synced\Base\Image.bmp - ..\Project\Work\Image.bmp - _synced\Work\Image.bmp - SourceCpp.cpp (Source.c) ƒtƒ@ƒCƒ‹‚ɑ΂·‚é‚»‚ꂼ‚ê‚̃pƒX‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·Bsame="no" ‚ªÝ’肳‚ê‚Ä‚¢‚邱‚̃tƒ@ƒCƒ‹‚́A“¯Šú‚µ‚Ä‚à“à—e‚ªˆÙ‚È‚è‚Ü‚·B ‚½‚¾‚µA - ‘O‰ñA“¯Šú‚µ‚½“à—e‚Ƃ̍·•ª‚ðA“¯Šú‘ŠŽè‚É”½‰f‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B same ‘®« - ‚́Ayes ‚© no ‚𖾎¦“I‚ÉŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·‚ªAÈ—ª‚·‚é‚Æ‘O‰ñ‚Ì“¯Šú“à—e‚ª - “¯‚¶‚©‚Ç‚¤‚©‚ƍ¡‰ñ‚Ì“¯Šú“à—e‚ª“¯‚¶‚©‚Ç‚¤‚©‚ªˆÙ‚È‚é‚Æ‚«‚ÉŒx‚µ‚Ü‚·B - _synced\Work\SourceCpp.cpp - ..\Project\Work\SourceCpp.cpp - _synced\Base\Source.c - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̊‹«AF - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̊‹«BF - ŠÂ‹«BF - ..\Project\Base\Source.c - ŠÂ‹«AF - UpdateBoth.txt ƒtƒ@ƒCƒ‹‚ɑ΂·‚é‚»‚ꂼ‚ê‚̃pƒX‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - _synced\WorkSub\UpdateBoth.txt - W\UpdateBoth.txt - _synced\BaseSub\UpdateBoth.txt - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̊‹«AF - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̊‹«BF - ŠÂ‹«BF - B\UpdateBoth.txt - ŠÂ‹«AF - ‚Ü‚½AVariable ƒ^ƒO‚ðŽg‚Á‚āA•Ï”‚ð’è‹`‚Å‚«‚Ü‚·B - Variable ƒ^ƒO‚Å’è‹`‚µ‚½•Ï”‚ÌŽQÆ‚́Apath, base, synced_path, synced_base - ‚ÉŽw’è‚Å‚«‚Ü‚·B - - ¨ new_LazyDictionaryClass - - - ¨ new_PathDictionaryClass_fromXML - - File ƒ^ƒO‚Æ Folder ƒ^ƒO‚ɂ‚¢‚Ä‚Ì•â‘« - SubFolder ƒtƒHƒ‹ƒ_[‚́AƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éiƒTƒuƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚½jƒtƒ@ƒCƒ‹‚ª“¯Šú‘Ώۂł·B ‚½‚¾‚µASubFolder\porting.c ƒtƒ@ƒCƒ‹‚́A“¯Šú‚µ‚Ä‚à“à—e‚ªˆÙ‚È‚è‚Ü‚·B - ‘O‰ñAƒRƒ~ƒbƒg‚µ‚½‚Æ‚«‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’è‚·‚é‚Æ‚«‚́Asynced_base ‘®«‚â synced_path ‘®«‚ð‹Lq‚µ‚Ü‚·B - “¯Šú‚ð‚Æ‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðÝ’肵‚Ü‚·B - ŠÂ‹«A‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠÂ‹«i“‡jAŠÂ‹«B‚ðŒÂ•ÊŠÂ‹«iƒx[ƒXˆÈŠO‚Ì’P‘́j‚Æ‚·‚邱‚Æ‚ª‚æ‚­‚ ‚è‚Ü‚·B - - ¨ ƒqƒ“ƒg - - ‰º‹L‚̃Tƒ“ƒvƒ‹‚̂悤‚È .vbs ƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B - eŽqŠÖŒWi“‡-ŒÂ•ÊŠÖŒWj‚Å‚Í‚È‚¢‚Æ‚«‚́AXV‚ª‘½‚¢•û‚̃tƒHƒ‹ƒ_[‚Ì’†‚Ì“¯ŠúŠÇ—ƒtƒHƒ‹ƒ_[‚ɁAuSyncFilesX ‚É‚æ‚铯Šú‚́AŠÖŒWæ‚̃tƒHƒ‹ƒ_[‚É‚ ‚è‚Ü‚·v‚̂悤‚ȃƒ‚‚¾‚¯‚ ‚é‚Æ - ‚æ‚¢‚Å‚µ‚傤B ‚»‚±‚ɁAŠÖŒWæ‚̃‚ƒWƒ…[ƒ‹–¼‚̈ꗗ‚ª‚ ‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - \¬‚·‚郂ƒWƒ…[ƒ‹‚²‚ƂɁA“¯ŠúŠÇ—ƒtƒHƒ‹ƒ_[‚ðì¬‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - ¨ SyncFilesX_Class - - SynchronizingSet ƒ^ƒO‚Ì ID ‘®«‚ðŽw’è‚·‚é‚ƁA‚»‚Ì’l‚ª‰æ–Ê‚É•\Ž¦‚³‚ê‚Ü‚·B@@—áF <SynchronizingSet ID="A" ... ‚ÆŽw’è‚·‚é‚Æ 1. [A] ‚Æ•\Ž¦B - SyncFilesX ƒ^ƒO‚Ì used_ID ‘®«‚ðŽw’è‚·‚é‚ƁAID ‘®«‚ªˆê’v‚·‚é SynchronizingSet ƒ^ƒO - ‚¾‚¯—LŒø‚É‚È‚è‚Ü‚·B - @@—áF <SyncFilesX used_ID="A" ... ‚ÆŽw’è‚·‚é‚ƁA<SynchronizingSet ID="A" ... ‚Ì‚Ý—LŒøB - ƒ\[ƒX - - ¨ SyncFilesX ƒ\[ƒX - - - ¨ ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib) - - - ¨ UpdateModule - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >SyncFilesX------------------------------------------------------------------------------- - >SyncFilesX - “¯‚¶A‚Ü‚½‚́A‚Ù‚Ú“¯‚¶‚Q‚‚̃tƒHƒ‹ƒ_[i‚Ü‚½‚̓tƒ@ƒCƒ‹j‚ª‚ ‚Á‚āA‚»‚Ì—¼•û‚Ü‚½‚Í - •Ð•û‚Ì“à—e‚ðXV‚µ‚½‚Æ‚«‚ɁA‚»‚Ì‚Q‚‚𓯊úiƒ}[ƒWj‚·‚邱‚Æ‚ðŽx‰‡‚µ‚Ü‚·B ‚½‚¾ - ‚µA‚±‚̍ì‹Æ‚ł́A‘O‰ñ“¯Šú‚µ‚½‚Æ‚«‚Ì‚Q‚‚̃oƒbƒNƒAƒbƒv‚ª•K—v‚Å‚·B - - ‚S‚‚̃pƒXiNewWork, NewBase, SynchronizedWork, SynchronizedBasej‚ð“ü—Í‚µ‚Ä‚­‚¾ - ‚³‚¢B - NewWorkFV‚µ‚¢ƒ[ƒN‚̃tƒHƒ‹ƒ_[‚Ü‚½‚̓tƒ@ƒCƒ‹‚̃pƒX> - NewBaseFV‚µ‚¢ƒx[ƒX‚̃tƒHƒ‹ƒ_[‚̃pƒX> - SynchronizedWorkF‘O‰ñ“¯Šú‚µ‚½‚Æ‚«‚̃[ƒN‚̃tƒHƒ‹ƒ_[‚̃pƒX> - SynchronizedBaseF‘O‰ñ“¯Šú‚µ‚½‚Æ‚«‚̃x[ƒX‚̃tƒHƒ‹ƒ_[‚̃pƒX> - - ‘O‰ñƒRƒ~ƒbƒgŽž‚̃x[ƒX: "_synced\Base" - ‘O‰ñƒRƒ~ƒbƒgŽž‚̃[ƒN: "_synced\Work" - *:“¯Šú‚³‚ê‚Ä‚¢‚È‚¢ƒtƒ@ƒCƒ‹A=:–¢“¯Šú‚я[ƒN‚ƃy[ƒX‚Ì“à—e‚ª“¯‚¶ - ------------------------------------------------------------------------------- - ¡ƒx[ƒXiModuleX : ŠÂ‹«Aj: "..\Project\Base" - ¡ƒ[ƒNiModuleX : ŠÂ‹«Bj: "..\Project\Work" - 1. .=. Image.bmp - 2. *!. SourceCpp.cpp - - 91. ÄƒXƒLƒƒƒ“‚µ‚Ĉꗗ‚·‚é - 92. ƒ‹[ƒgEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - 99. I—¹ - ”ԍ† >2 - ------------------------------------------------------------------------------- - ƒx[ƒXFC:\ProjectX\Project\Base\Source.c" - ƒ[ƒNFC:\ProjectX\Project\Work\SourceCpp.cpp" - ƒx[ƒXEƒtƒ@ƒCƒ‹‚ƃ[ƒNEƒtƒ@ƒCƒ‹‚́u“¯‚¶“à—ev‚Å‚µ‚½ - Žè“®‚Å“¯Šú‚µ‚½‚çAƒRƒ~ƒbƒg‚µ‚Ä‚­‚¾‚³‚¢B - ------------------------------------------------------------------------------- - šƒx[ƒXiModuleX : ŠÂ‹«Aj: Source.c (•ÏX) - šƒ[ƒNiModuleX : ŠÂ‹«Bj: SourceCpp.cpp (•s•Ï) - - 1. Diff ‚ÅŠJ‚­F“¯Šú‚·‚éƒtƒ@ƒCƒ‹ (*ˆÙ‚È‚é) [ ƒx[ƒX / ƒ[ƒN ] - 2. Diff ‚ÅŠJ‚­F‘O‰ñ‚Ì“¯Šú (=“¯‚¶) [ ƒx[ƒX / ƒ[ƒN ] - 4. Diff ‚ÅŠJ‚­Fƒx[ƒX (•ÏX) [ ‘O‰ñƒRƒ~ƒbƒgŽž / Œ»Ý ] - 5. Diff ‚ÅŠJ‚­Fƒ[ƒN (•s•Ï) [ ‘O‰ñƒRƒ~ƒbƒgŽž / Œ»Ý ] - 44.Diff ‚ÅŠJ‚­F[ ‘O‰ñƒRƒ~ƒbƒgŽž‚̃x[ƒX / ƒx[ƒX / ƒ[ƒN ] - 55.Diff ‚ÅŠJ‚­F[ ƒx[ƒX / ƒ[ƒN / ‘O‰ñƒRƒ~ƒbƒgŽž‚̃[ƒN ] - 6. ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðŠJ‚­ - 7. ÄƒXƒLƒƒƒ“‚·‚é - 8. “¯Šú‚ðƒRƒ~ƒbƒg‚·‚é - 9 ‚Ü‚½‚Í Enter : –ß‚é - ”ԍ† > - - SyncFilesX - - PatchAndBackUp - - ‚̍XV“à—e‚ðŒ©‚é‚±‚Æ‚É‚àŽg‚¦‚Ü‚·B - - ¨ SyncFilesX ƒXƒNƒŠƒvƒg - - ŠT—v - - ¨ ŠT—v - - - ¨ ‚»‚Ì‘¼‚̃qƒ“ƒg - - ƒeƒXƒg - - ¨ SyncFilesX ƒ\[ƒX - - - - <File path="SourceCpp.cpp" base="Source.c" synced_path="OldSourceCpp.cpp" synced_base="OldSource.c"/> - - - ¨ SyncFilesMenuLib.vbs - - - ¨ ƒtƒ@ƒCƒ‹‚̉ü–¼EŒ‹‡E•ª—£E•”•ªˆÚ“®‚ª‚ ‚Á‚½‚Æ‚« - - - ¨ T_SyncFilesX ƒtƒHƒ‹ƒ_[ - - - ¨ ModuleAssort - - ‚Ü‚½AƒtƒHƒ‹ƒ_[‚𓯊ú‚·‚é‚Æ‚«‚́A“¯Šú‚ð‚Æ‚é•K—v‚ª‚ ‚éƒtƒ@ƒCƒ‹‚ðˆê——‚µ‚Ü‚·BƒyƒA‚É‚·‚éƒtƒ@ƒCƒ‹–¼‚â‘Š‘΃pƒX‚ªˆÙ‚È‚é‚Æ‚«‚Å‚à‘Ήž‚Å‚«‚Ü‚·B - - ¨ SyncFilesT - - - ¨ SyncFilesX ƒ\[ƒX - - - ¨ SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - - - - - - - - SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - Base - Merged - Right - Left - - ThrerWayMerge - - NewBase - OldWork - NewWork - OldBase - SyncFilesX “à•” - Patch&BackUp - OldTarget - NewTarget - Patch - BackUp - - - UpdateModule - - ModuleNew - TargetMerged - ModuleSync - TargetSync - - SyncFilesX.xml - - path - synced_base - synced_path - base - - - - - - - - - - - - - - - - ƒtƒ@ƒCƒ‹‚̉ü–¼EŒ‹‡E•ª—£E•”•ªˆÚ“®‚ª‚ ‚Á‚½‚Æ‚« - CrossBefore ƒtƒHƒ‹ƒ_[‚ðì¬‚·‚éB CrossBefore ƒtƒHƒ‹ƒ_[‚Ƃ́A - Before ‚©‚ç‘S•”orˆê•”‚ðˆÚ“®‚µ‚½‚¾‚¯‚̃tƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Å‚·B “à—e‚͕ύX‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB - CrossBefore\1AACrossBefore\2A ‚́A1A ‚̃tƒ@ƒCƒ‹\¬‚ɏ]‚¢‚Ü‚·B - CrossBefore\1BACrossBefore\2B ‚́A1B ‚̃tƒ@ƒCƒ‹\¬‚ɏ]‚¢‚Ü‚·B - Natural Docs ‚̃^ƒO‚ª’ljÁ‚³‚ꂽ‚èAƒL[ƒ[ƒh‚ªC³‚³‚ꂽ‚è‚·‚邱‚Æ‚à‚ ‚è‚Ü‚·B - - MakeCrossOld.vbs ‚ðŽÀsB - ‰‰ñ‚́ACrossByTool ‚É‚Å‚«‚Ü‚·B ‚»‚̃Rƒs[‚ªACrossBefore ‚É‚Å‚«‚Ü‚·B - ‚Ü‚½A1A, 1B, 2A, 2B ‚ðABeforeABeforeNoTag ‚ɃRƒs[‚µ‚Ü‚·B - SyncFilesX.vbs ‚ð CrossBefore ‚ɃRƒs[‚µ‚Ä‹N“®‚µ‚½‚Æ‚«A’ljÁEíœ‚̃tƒ@ƒCƒ‹‚Í–³‚¢‚Í‚¸‚Å‚·B - - ‚Q‰ñ–ڂ́ACrossByToolNew ‚É‚Å‚«‚Ü‚·B - diff "CrossTool\*", "CrossToolNew\*" ‚̍·•ª‚ð - diff "CrossTool\*", "CrossToolNew\*", "CrossBefore\*" ‚Ö”½‰f‚³‚¹‚Ä‚­‚¾‚³‚¢B - - diff "Before\*", "CrossByToolNew\*" - 1A ‚̃tƒ@ƒCƒ‹\¬‚ð•Ï‚¦‚Ä‚¢‚È‚¢‚Æ‚«‚́A"Before\1A", "CrossBefore\1A" ‚ɍ·•ª‚Í–³‚¢‚Í‚¸‚Å‚·B - 1B ‚̃tƒ@ƒCƒ‹\¬‚ð•Ï‚¦‚Ä‚¢‚È‚¢‚Æ‚«‚́A"Before\1B", "CrossBefore\1B" ‚ɍ·•ª‚Í–³‚¢‚Í‚¸‚Å‚·BiŒã‹Lj - ‚Q‰ñ–Ú‚Ì MakeCrossOld.vbs ‚ō·•ª‚ª’ljÁ‚³‚ꂽ‚Æ‚«‚́A1AA1B ‚ª Before ‚©‚çƒRƒs[‚³‚ê‚Ä‚¢‚È‚¢ - ‰Â”\«‚ª‚ ‚è‚Ü‚·B - - __Moved_Sections.txt ‚ŃGƒ‰[‚ªo‚½‚Æ‚«i·•ª‚ªo‚½‚Æ‚«j‚́A - œ Before\*A1AA1B ‚Ì’†‚ɁANatural Docs ‚̃^ƒO‚ð’ljÁA‚Ü‚½‚́A•ÒW‚·‚é - œ MakeCrossOld.vbs ‚ɉü–¼‚ðÝ’è - ‚µ‚āAMakeCrossOld.vbs ‚ðÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢B iœ1AA1B ‚́A–¢•ÒW‚È‚ç Before ‚©‚çƒRƒs[‚Å‚«‚Ü‚·j - CrossByToolNew\*\__Moved_Sections.txt ‚ŁAERROR NotFoundInBefore ‚â ERROR NotRequestedFromNew - ‚É‚È‚Á‚Ä‚¢‚éƒL[ƒ[ƒh‚ɂ‚¢‚ẮA‘S•¶ŒŸõ‚µ‚āAó‹µ‚ƍ‡‚¤‚悤‚É“¯—l‚̑Ώˆ‚ð‚µ‚Ü‚·B - ‚½‚Æ‚¦‚΁AFunction: Foo ‚̏ꍇAFunction ‚Æ Foo ‚Ì—¼•û‚ªŒŸõ‚̃L[‚É‚È‚è‚Ü‚·B - V‹K’ljÁ‚³‚ꂽƒZƒNƒVƒ‡ƒ“iNotFoundInBefore ƒGƒ‰[j‚́A‚à‚µ—]•ª‚¾‚Á‚½‚çŒã‚Å“¯Šú‚·‚é‚Æ‚«‚É•ª‚©‚é‚̂ŁA - ƒNƒƒXˆ—i‚±‚±j‚É‚¨‚¢‚Ä‚Í–³Ž‹‚Å‚«‚Ü‚·‚ªA‘O‰ñ‚̃tƒ@ƒCƒ‹‚É Natural Docs ‚̃^ƒO‚¾‚¯‚ª‚È‚¢‚Æ‚« - igrep ‚ÅŒ©‚‚©‚é‚Æ‚«j‚͑Ώˆ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - íœ‚³‚ꂽƒZƒNƒVƒ‡ƒ“iNotRequestedFromNew ƒGƒ‰[j‚́Aíœ‚ª³‚µ‚¢‚È‚ç–³Ž‹‚µ‚Ä‚æ‚¢B - - ˆÈã‚Ì–â‘肪‚È‚­‚È‚Á‚½‚çAŽŸ‚ցB - - SyncFilesX.vbs ‚Å 1AA1B ‚ɂ‚¢‚āAÅV‚̃tƒ@ƒCƒ‹–¼‚â“à•”\¬i“à—eˆÈŠOj‚É‚È‚é‚悤‚ɁA - ƒtƒ@ƒCƒ‹–¼‚ð•ÏX‚µ‚½‚èAƒeƒLƒXƒg ƒZƒNƒVƒ‡ƒ“‚ðˆÚ“®‚µ‚½‚肵‚Ü‚·B Natural Docs ‚̃L[ƒ[ƒh‚âƒR[ƒh‚Í - •ÏX‚µ‚Ü‚¹‚ñB ƒtƒ@ƒCƒ‹‚̃Rƒ~ƒbƒg‚Í‚µ‚Ü‚¹‚ñB - Šm”F‚µ‚½‚çACrossBeforeACrossByToolACrossByToolNew ‚ðíœ‚µAˆê“x‚¾‚¯AMakeCrossOld.vbs ‚ð - ÄŽÀs‚µ‚Ü‚·B - - diff "Before\*", "CrossBefore\*" - ˆÈ‰º‚́A‘Ώˆ‚³‚ê‚Ä‚¢‚é‚Í‚¸‚Å‚·B ‚»‚¤‚Å‚È‚¯‚ê‚΁Adiff "Before\*", "CrossByToolNew\*" ‚Ö–ß‚éB - "Before" ‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì“à—e‚ª‚·‚×‚Ä "CrossBefore" ‚É‚ ‚邱‚ƁB Ž¸‚Á‚Ä‚¢‚È‚¢‚±‚ƁB - CrossByToolNew\*\__Moved_Sections.txt ‚ɃŠƒXƒgƒAƒbƒv‚³‚ê‚Ä‚¢‚é“à—e‚ª“¯‚¶‚Å‚ ‚邱‚ƁB - diff "Before", "CrossBefore" ‚̉E‚́A‚P‚‚̃ZƒNƒVƒ‡ƒ“‚¾‚¯ CrossBefore ‚©‚çƒRƒs[‚µ‚½ˆêŽžV‹Kƒtƒ@ƒCƒ‹ - - - 2A, 2B ‚ðíœ‚µ‚Ä‘ã‚í‚è‚É CrossBefore\2AACrossBefore\2B ‚©‚çƒRƒs[‚·‚éB - iŒ³‚Ì 2A, 2B ‚́ABeforeNoTag ‚É‚ ‚è‚Ü‚·j - 1A, 1B ‚Í CrossBefore\1AACrossBefore\1B ‚Æ‚·‚Å‚É“¯‚¶‚Í‚¸‚Å‚·B - __Moved_Sections.txt ‚Í 2A, 2B ‚É“ü‚ê‚Ü‚¹‚ñB - - œ SyncFilesX ‚Å“¯Šú‚ðŽÀsB - SyncFilesX ‚ð‹N“®A‚Ü‚½‚́AÄƒXƒLƒƒƒ“‚·‚éB ‚½‚¾‚µA‹N“®’¼Œã‚ɒljÁEíœ‚̃tƒ@ƒCƒ‹‚ª‚È‚¢‚Í‚¸B - - “¯Šú‚µ‚½‚çA1A, 1B ‚ð Masters ‚É“ü‚ê‚Ü‚·B .moas ‚ÉSynchronized ƒ^ƒO‚̒ljÁ‚ª•K—v‚È‚ç’ljÁ‚µ‚Ü‚·B - - œ CrossBefore\* ‚à Masters ‚É“ü‚ê‚Ü‚·B * ‚́A1A, 1B, 2A, 2B ‚Å‚·B - CrossBefore ‚Æ BeforeNoTag ‚ɍ·•ª‚ª‚È‚¯‚ê‚΁A“ü‚ê‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - Masters “à‚̃tƒHƒ‹ƒ_[–¼‚́A“¯Šú‘O‚̃ŠƒrƒWƒ‡ƒ“”ԍ†+_xfor_+¡‰ñ‚Å‚«‚½ÅV‚̃ŠƒrƒWƒ‡ƒ“”ԍ†B _Tmp ‚ÍŠO‚·B - *_xfor_* ƒtƒHƒ‹ƒ_[‚́Aã‹L CrossBefore ƒtƒHƒ‹ƒ_[‚̃oƒbƒNƒAƒbƒv‚Å‚·B - 1A ‚Ì—áF02_xfor_03A 1B ‚Ì—áF 01_xfor_03B ‚·‚Å‚É‚ ‚é‚Æ‚«‚́A“¯‚¶“à—e‚Ì‚Í‚¸‚Å‚·B - CrossBefore ‚É‚Å‚«‚Ä‚¢‚é __Moved_Sections.txt ‚à Masters ‚É“ü‚ê‚Ü‚·B - - << SyncFilesX - - SyncFilesX - CrossBack - Before - CrossTool - CrossToolNew - Œ»Ýì‹Æ’†‚Ì SyncFilesX ‚ɁA<Folder path="."/> ‚ª‚È‚¢‚ƁAV‹K‚Ü‚½‚͍폜‚ª•\Ž¦‚³‚ê‚È‚¢‚±‚Æ‚ª‚ ‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - 1A - 1B - 2B - 2A - c SyncFilsX ŠJŽnŽž‚Ì 1A`2B - c Back ‚©‚çƒtƒ@ƒCƒ‹‚̈ړ®‚¾‚¯s‚Á‚½Œ‹‰ÊB ƒ}[ƒWŠJŽnŽž‚Ì 1A`2B - c Back ‚©‚çƒtƒ@ƒCƒ‹‚̈ړ®‚¾‚¯‚ðŽ©“®“I‚ɍs‚Á‚½Œ‹‰Êi‘O‰ñj - c Back ‚©‚çƒtƒ@ƒCƒ‹‚̈ړ®‚¾‚¯‚ðŽ©“®“I‚ɍs‚Á‚½Œ‹‰Êi¡‰ñj - c 4way ƒ}[ƒW - ‘O‰ñ“¯Šú‚µ‚½‚Æ‚«‚̃tƒ@ƒCƒ‹‚ƐV‚µ‚¢ƒtƒ@ƒCƒ‹‚Ì’†‚ŁAˆê•”‚̃R[ƒh‚ª•Ê‚̃tƒ@ƒCƒ‹‚Ɉړ®‚µ‚Ä‚¢‚½‚肵‚½‚Æ‚«‚́A‚»‚̈ړ®‚¾‚¯‚ðs‚Á‚½’†ŠÔƒŠƒrƒWƒ‡ƒ“‚ðì¬‚µ‚È‚¯‚ê‚΁A‘O‰ñ‚Ƃ̍·•ª‚ð’m‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB - ’†ŠÔƒŠƒrƒWƒ‡ƒ“‚ðì¬‚µ‚Ä“¯Šú‚·‚é•û–@‚ðŽ¦‚µ‚Ü‚·B - - - - - - - ‚»‚Ì‘¼‚̃qƒ“ƒg - ŠÂ‹«A, B ‚Æ‚àA“¯Šú‚·‚éŠÖ”A‚ªƒtƒ@ƒCƒ‹A‚ɁA“¯Šú‚·‚éŠÖ”B‚ªƒtƒ@ƒCƒ‹B‚É‚ ‚é‚Æ‚«AŠÂ‹«A‚ł͊֐”C‚ªƒtƒ@ƒCƒ‹A‚ɁAŠÂ‹«B‚ł͊֐”C‚ªƒtƒ@ƒCƒ‹B‚É‘¶Ý‚·‚é‚ƁA“¯Šú‚ª - “‚­‚È‚è‚Ü‚·B ‚È‚º‚È‚çAƒtƒ@ƒCƒ‹‚̑ΉžŠÖŒW‚ª‚P‘΂P‚Å‚Í‚È‚­‚È‚é‚©‚ç‚Å‚·B ‚»‚̏ꍇA - ƒtƒ@ƒCƒ‹C‚ðV‹K‚ɍ쐬‚·‚é‚ȂǁAƒtƒ@ƒCƒ‹‚𕪂¯‚Ä‚­‚¾‚³‚¢B - iŠÖ”C‚ªŠÂ‹«A‚Å‘¶Ý‚µAŠÂ‹«B‚Å‘¶Ý‚µ‚È‚¢‚Æ‚«‚́Aƒtƒ@ƒCƒ‹‚̑ΉžŠÖŒW‚ª‚P‘΂P‚É‚È‚é - ‚̂œ‚­‚ ‚è‚Ü‚¹‚ñBj - ŠÂ‹«A - ŠÂ‹«B - ƒtƒ@ƒCƒ‹A - ƒtƒ@ƒCƒ‹B - ŠÖ”AŠÖ”C - ŠÖ”B - ŠÖ”BŠÖ”C - ŠÖ”A - ƒtƒ@ƒCƒ‹B - ƒtƒ@ƒCƒ‹A - - - - - - - - - - - - - - - - - - - - - - ŠÂ‹«A‚ł͊֐”C‚ªƒ‰ƒCƒuƒ‰ƒŠ[A‚É‘¶ÝAŠÂ‹«B‚ł͊֐”C‚ªƒ‰ƒCƒuƒ‰ƒŠ[B‚É‘¶Ý‚·‚éê‡‚́AŠÇ—‚ª“‚­‚Ȃ邱‚Æ‚ª—\‘z‚³‚ê‚Ü‚·B ƒ‰ƒCƒuƒ‰ƒŠ[C‚ðV‹K‚ɍ쐬‚·‚é‚©A - “‡“I‚ȃ‰ƒCƒuƒ‰ƒŠ[‚ÉŠÜ‚ß‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - ƒx[ƒX‚Æ‚È‚éŠÂ‹«‚©‚çA•¡”‚̃‚ƒWƒ…[ƒ‹‚ð’ljÁ‚·‚éê‡ASyncFilesX ‚ðŽg‚¤‚Æ‚æ‚¢‚Å‚µ‚傤BŠÂ‹«A‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠÂ‹«i“‡jAŠÂ‹«B‚ðŒÂ•ÊŠÂ‹«iƒx[ƒXˆÈŠO‚Ì’P‘́j‚Æ‚·‚邱‚Æ‚ª - ‚æ‚­‚ ‚è‚Ü‚·B ‚±‚̍\‘¢‚̏ꍇA•Ð•ûŒü‚ÌŽQÆŠÖŒW‚Æ‚È‚èAŠÂ‹«A‚ðƒŠƒŠ[ƒX‚·‚é‚Æ‚«‚¾‚¯ - SyncFilesX ‚ðŽg‚Á‚Ä“¯Šú‚ðŽæ‚ê‚΂悭‚È‚è‚Ü‚·B - ŠÂ‹«A - ŠÂ‹«B - ModuleAModuleB - ModuleC - ModuleC - - - - - - —¼•ûŒü‚ÌŽQÆŠÖŒW‚ª‚ ‚éó‘Ô‚Å‚àƒŠƒŠ[ƒX‚·‚é‚Æ‚«‚¾‚¯“¯Šú‚ðŽæ‚ê‚΂悭‚·‚é‚ɂ́ASyncFilesX ‚̃ƒCƒ“EƒXƒNƒŠƒvƒg‚𑊌݂ɍ쐬‚µ‚Ü‚·B XV‚·‚éŠÂ‹«‚¾‚¯‚ōXV‚³‚ꂽ - “à—e‚́A“¯Šú‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - - - - - - - ModuleBModuleC - ModuleAModuleC - ŠÂ‹«B - ŠÂ‹«A - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠÂ‹«i“‡j‚ªAƒx[ƒX‚Æ‚È‚éŠÂ‹«‚©‚çA‚P‚‚̃‚ƒWƒ…[ƒ‹‚¾‚¯‚ð’ljÁ‚·‚éê‡‚́ASyncFilesX ‚ðŽg‚í‚È‚­‚Æ‚àAˆê”Ê“I‚ȃpƒbƒ`‚ð‚ ‚Ä‚é‚¾‚¯‚ō\‚¢‚Ü‚¹‚ñB - ƒx[ƒX‚ðXV‚·‚éê‡‚́Aƒpƒbƒ`‚ð‚ ‚Ä‚½‚Æ‚«‚ɃGƒ‰[‚É‚È‚ç‚È‚¢‚悤‚Ƀpƒbƒ`‚𒲐®‚µ‚Ü‚·B - ’ljÁƒ‚ƒWƒ…[ƒ‹‚ðXV‚·‚éê‡‚́AXV‚³‚ꂽƒpƒbƒ`‚ð‚ ‚Ä‚Ü‚·B - ModuleA - ƒx[ƒX - ModuleB - + - ƒpƒbƒ` - - “‡ - <File path="Source.c" base="sub\OldSource.c"/> - ‚½‚¾‚µAƒtƒ@ƒCƒ‹‚̏ꏊ‚̈ړ®‚â‰ü–¼‚ª‚ ‚é‚Æ‚«‚́Aˆê”Ê“I‚ȃpƒbƒ`‚ł̓x[ƒX‚Æ‚È‚éƒtƒ@ƒCƒ‹‚Ì“à—e‚ªXV‚³‚ꂽ‚Æ‚«‚Ƀ‚ƒWƒ…[ƒ‹‚É”½‰f‚³‚ê‚È‚­‚È‚é‚̂ŁASyncFilesX ‚à•¹—p‚·‚é‚Æ - ‚æ‚¢‚Å‚µ‚傤B - ‚‚܂èAƒpƒbƒ`‚©‚çƒGƒ‰[‚ªo‚È‚­‚È‚Á‚½Œã‚ŁASyncFilesX ‚ðŽg‚Á‚ÄŠm”F‚µ‚Ü‚·B - - << SyncFilesX - - - - - - - - Test.vbs - - ¨ Test.vbs - - ’P‘̃eƒXƒg‚ðŽÀs‚·‚éƒXƒNƒŠƒvƒg‚Å‚·B - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁA - - ƒeƒXƒgEƒvƒƒ“ƒvƒg - - ‚ªŠJ‚«‚Ü‚·B - - - - - - - ThreeWayMerge - 3ƒEƒFƒC ƒ}[ƒWi3•ûŒüƒ}[ƒWj‚ð‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ThreeWayMerge------------------------------------------------------------------------------- - 3ƒEƒFƒC ƒ}[ƒWi3•ûŒüƒ}[ƒWj‚ð‚µ‚Ü‚·B - ƒx[ƒX‚É‚·‚éƒtƒ@ƒCƒ‹ >C:\Base.txt - XV‚µ‚½ƒx[ƒX‚É‚·‚éƒtƒ@ƒCƒ‹i¶‘¤j >C:\Left.txt - XV‚µ‚½ƒx[ƒX‚É‚·‚éƒtƒ@ƒCƒ‹i‰E‘¤j >C:\Right.txt - ƒ}[ƒW‚µ‚½Œ‹‰Ê‚̏o—͐æƒtƒ@ƒCƒ‹išã‘‚«‚µ‚Ü‚·j >C:\_Merged.txt - - Enter ‚̂݁Fƒ}[ƒW‚̐ݒèƒtƒ@ƒCƒ‹‚ðŽg‚í‚È‚¢B - ƒ}[ƒW‚̐ݒèƒtƒ@ƒCƒ‹ > - - ThreeWayMerge - - ¨ ThreeWayMerge ŠÖ” - - C:\Base.txt - C:\Left.txt - C:\Right.txt - C:\_Merged.txt - ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - - <?xml version="1.0" encoding="Shift_JIS"?><ThreeWayMerge> - - <ThreeWayMergeSet - left_name ="¶" - right_name="‰E" - base_path ="00_Base" - left_path ="01_Left" - right_path="02_Right" - merged_path="03_Merged"> - - <Folder base_path="." left_path="." right_path="." merged_path="."/> - - </ThreeWayMergeSet> - - <BreakStepNum></BreakStepNum> - - <IsAutoMergeEx>True</IsAutoMergeEx> - <IsOutEach>True</IsOutEach> - <SingletonKeywords>Single</SingletonKeywords> - <SingletonKeywords>#include</SingletonKeywords> - <UniqueLineKeywords>Unique</UniqueLineKeywords> - - <ReplaceTemplate before="#Before" after="#After"/> - - <Text id="Before"><![CDATA[ - /* Function: ${FunctionName} */ - ]]></Text> - - <Text id="After"><![CDATA[ - /* Func: ${FunctionName} */ - ]]></Text> - - </ThreeWayMerge> - - ƒTƒ“ƒvƒ‹ - ‚»‚Ì‘¼‚̃^ƒO–¼‚́A - ŠÖ˜A - - ThreeWayMergeOptionClass - - - (src) - - ƒ\[ƒX - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ThreeWayMerge------------------------------------------------------------------------------- - 3ƒEƒFƒC ƒ}[ƒWi3•ûŒüƒ}[ƒWj‚ð‚µ‚Ü‚·B - - Setting ƒIƒvƒVƒ‡ƒ“‚ŁAÝ’èƒtƒ@ƒCƒ‹‚ð“ü—Í‚µ‚Ü‚·B —áF/Setting:C:\Merge.xml - ƒx[ƒX‚É‚·‚éƒtƒ@ƒCƒ‹ >/Setting:Files\Merge\MergeSetting.xml - - ‚É ThreeWayMergeSet ƒ^ƒO‚ª‚ ‚ê‚΁A”äŠr‚·‚éƒtƒHƒ‹ƒ_[‚𖈉ñ“ü—Í - - ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - ‚µ‚È‚­‚Ä‚àÏ‚ނ悤‚É‚È‚è‚Ü‚·B - ThreeWayMerge - /Setting:Files\Merge\MergeSetting.xml - ThreeWayMergeSet ƒ^ƒO‚ɂ́A”äŠr‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚Ü‚·B - - FF-path ‘®« - - ‚ªŽg‚¦‚Ü‚·B ‘®«–¼‚́Abase_pathAleft_pathAright_pathAmerged_path ‚Å - ‚ɂ́AŽ©“®“I‚Ƀ}[ƒW‚µ‚½Œã‚Å’u‚«Š·‚¦‚éƒeƒLƒXƒg‚ðÝ’肵‚Ü‚·B - - ReplaceTemplate ƒ^ƒO - - ‚̃ƒ“ƒo[•Ï”–¼‚Æ“¯‚¶‚Å‚·Biˆê•”œ‚­j - ‰º‹L‚̂悤‚É ThreeWayMergeSet ƒ^ƒO‚ðÝ’è‚ð‚·‚ê‚΁A00_Base ƒtƒHƒ‹ƒ_[‚ðƒx[ƒXA01_Left ƒtƒHƒ‹ƒ_[‚ð‚ ‚él‚̍XVA02_Right ƒtƒHƒ‹ƒ_[‚ð•Ê‚̐l‚̍XVA‚Æ‚¢‚¤‚R‚Â‚Ì - ƒtƒHƒ‹ƒ_[‚ðƒ}[ƒW‚µ‚½ 03_Merged ƒtƒHƒ‹ƒ_[‚ðì¬‚µA‚»‚̃}[ƒWŒ‹‰Ê‚ðŠm”F‚·‚邱‚Æ‚ª - ‚Å‚«‚Ü‚·B - - Variable ƒ^ƒO - - ‚ðŽg‚Á‚āA•Ï”‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ TwoWayMerge - - ‚»‚ꂼ‚ê–¼‘O‚ªˆÙ‚È‚éƒtƒ@ƒCƒ‹‚ðƒ}[ƒW‚Å‚«‚Ü‚·B - ThreeWayMergeSet - SingletonKeywords - UniqueLineKeywords - - ReplaceTemplate.xml - - ‚̃^ƒO‚àŽg‚¦‚Ü‚·B - ThreeWayMerge_sth - ThreeWayMerge - SyncFilesX_Class::Merge - SyncFilesX_Class::OpenCUI - - ¨ SyncFilesX ƒ\[ƒX - - - (src) - - - (src) - - Ý’èƒtƒ@ƒCƒ‹‚É <ThreeWayMergeSet> ‚ª‚ ‚é‚Æ‚«F - ‚»‚êˆÈŠO‚Ì‚Æ‚«F - - AttachPatchAndBackUpDictionary - - CopyFilesToLeafPathDictionary - ThreeWayMerge - - (src) - - ThreeWayMerge_autoMergeExSub - ThreeWayMerge_replaceByMergeTmplateSub - '// AutoMerge for "bracket_A" set - '// AutoMerge for "bracket_B" set - ReplaceTemplateClass::RunReplace - - ReplaceStringTemplate - - (ã‹L) - // ƒRƒ“ƒtƒŠƒNƒg‚ðŽ©“®‰ðŒˆ‚·‚é - ŠÖ˜A - - ¨ UpdateModule - - XV‚·‚éƒpƒbƒ`‚ðƒ^[ƒQƒbƒg‚É‚ ‚Ä‚Ü‚·ŒÃ‚¢ƒpƒbƒ`‚ðV‚µ‚¢ƒ^[ƒQƒbƒg‚É‚ ‚Ä‚Ü‚· - base_path,left_path, - right_path, - merged_path - ‚́A‚·‚×‚Ä - “¯‚¶’l‚Å‚à - ‚»‚ꂼ‚ê - Žw’肪•K—v - ‚Å‚·B - - ¨ UpdateModule - - ¶‚Í‹Œƒpƒbƒ`A‰E‚͐Vƒx[ƒX - - ¨ SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - - - ¨ SyncFilesX - - Žè“®‚Å 3ƒEƒFƒC ƒ}[ƒW‚ð‚µ‚Ü‚·B - - - - - - - ToRegularXML - XML ƒtƒ@ƒCƒ‹‚ð Diff ƒc[ƒ‹‚Å”äŠr‚Å‚«‚é‚悤‚ɁA‹ó”’‚âƒ^ƒu‚𓯂¶‚悤‚ɐ®Œ`‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >ToRegularXML------------------------------------------------------------------------------- - ®Œ`‚·‚é XML ƒtƒ@ƒCƒ‹‚̃pƒX > - - ToRegularXML - ƒTƒ“ƒvƒ‹ - - - <ROOT> - <A/> - - </ROOT> - - - - <ROOT> <A/> - </ROOT> - - - - - - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ŽQl - - ¨ save (IXMLDOMDocument) - - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - - - - - - Translate - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >Translate‰p–󂵂܂·B - –|–óƒtƒ@ƒCƒ‹ (*.trans) ‚̃pƒXA‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX >C:\folder\sample.trans - ŽŸ‚̃tƒ@ƒCƒ‹‚ðã‘‚«‚µ‚Ü‚·B - sample.txt - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - C:\folder\sample.trans - Translate - –|–óƒtƒ@ƒCƒ‹‚Ì‹Lq‚ɏ]‚Á‚āAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðA‰p–󂵂܂·B - - ¨ Translate ŠÖ” - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ƒTƒ“ƒvƒ‹ - - ¨ Samples\Translate ƒtƒHƒ‹ƒ_[ - - - ¨ TranslateTest - - ŠÖ˜A - ‚·‚ׂĉp–󂳂ê‚é‚©’²‚ׂé - - - <?xml version="1.0" encoding="UTF-16"?><Translate> - <BaseFolder>SubFolder</BaseFolder> - <File>sample1.txt</File> - <File>sample2.c</File> - <T><JP>“ú–{Œê</JP><EN>Japanese</EN></T> - <T><JP>‰pŒê</JP><EN>English</EN></T> - </Translate> - - - - <?xml version="1.0" encoding="UTF-16"?><Translate> - <File>sample.txt</File> - <T><JP>“ú–{Œê</JP><EN>Japanese</EN></T> - <T><JP>‰pŒê</JP> - <EN>English</EN></T> - </Translate> - - ƒTƒ“ƒvƒ‹ - sample.trans (–|–óƒtƒ@ƒCƒ‹) - sample.txt ‚Ì–|–ó‘O - - - “ú–{Œê‚©‚ç‰pŒê‚É•ÏŠ·‚µ‚Ü‚·B - - sample.txt ‚Ì–|–óŒã - - - Japanese‚©‚çEnglish‚É•ÏŠ·‚µ‚Ü‚·B - - ƒTƒ“ƒvƒ‹ F •¡”‚̃tƒ@ƒCƒ‹‚ð–|–ó‚·‚é - JapaneseToEnglish.trans (–|–óƒtƒ@ƒCƒ‹) - ƒXƒNƒŠƒvƒg - - - Translate "sample.trans", "JP", "EN" - - ƒXƒNƒŠƒvƒg - - - Translate "JapaneseToEnglish.trans", "EN", "JP" - - - - ‰pŒê ‚©‚ç “ú–{Œê ‚Ö - - sample1.txt ‚Ì–|–óŒã - - - English ‚©‚ç Japanese ‚Ö - - sample1.txt ‚Ì–|–ó‘O - sample2.c ‚Ì–|–ó‘O - sample2.c ‚Ì–|–óŒã - - - French ‚©‚ç “ú–{Œê ‚Ö - - - - French ‚©‚ç Japanese ‚Ö - - File ƒ^ƒO‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚ð–|–󂵂܂·B - File ƒ^ƒO‚́AT ƒ^ƒO‚ÌŒã‚É’u‚­‚±‚Æ‚à‚Å‚«‚Ü‚·B - <JP> ` </JP> ‚̊ԂƁA<EN> ` </EN> ‚̊Ԃ́A•¡”s‚É‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B - •â‘« - –|–ó‘O‚Ì’PŒê‚ª’·‚¢’PŒê‚©‚ç’u‚«Š·‚¦‚ªs‚í‚ê‚Ü‚·B ‚±‚ê‚É‚æ‚èA–|–óƒtƒ@ƒCƒ‹‚ÉŽw’è‚·‚鏇”Ô‚É‚æ‚Á‚ÄŒ‹‰Ê‚ª•Ï‚í‚é‰Â”\«‚ª­‚È‚­‚È‚è‚Ü‚·B - BaseFolder ‚́AFile ƒ^ƒO‚ÉŽw’肵‚½‘Š‘΃pƒX‚̃x[ƒXEƒtƒHƒ‹ƒ_[‚̃pƒX‚Å‚·B - È—ªŽž‚́A.trans ƒtƒ@ƒCƒ‹‚ª“ü‚Á‚Ä‚¢‚é - ƒtƒHƒ‹ƒ_[‚̃pƒX‚É‚È‚è‚Ü‚·B - BaseFolder ‚́A - - TranslateEx - - ‚Ì in_out_Config.BaseFolderPath ‚ªŽw’肳‚ê‚é‚ƁA - –³Ž‹‚³‚ê‚Ü‚·B - - ¨ T_Translate.vbs # [T_Translate1] - - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib Prompt.vbs - - - ¨ CheckEnglishOnly (exeƒtƒ@ƒCƒ‹) - - ƒtƒHƒ‹ƒ_[‘S‘̂ɉpŒêˆÈŠO‚ª–³‚¢‚©’²‚ׂé - ‚ ‚éƒtƒ@ƒCƒ‹‚É‚P‚‚łà“ú–{Œê‚ªŽc‚Á‚Ä‚¢‚é‚ƁAƒGƒ‰[‚Æ‚È‚èAŽc‚è‚̃tƒ@ƒCƒ‹‚Í–|–󂵂܂¹‚ñB ƒtƒHƒ‹ƒ_[‚Ì’†‚Ì‚·‚ׂẴtƒ@ƒCƒ‹‚ɑ΂µ‚āAŽc‚Á‚Ä‚¢‚é“ú–{Œê‚ð - - CheckEnglishOnly - - ˆê——‚·‚é‚Æ‚«‚́A - ‚ð‚¨Žg‚¢‚­‚¾‚³‚¢B - - - <T><JP>‰pŒê</JP> <EN>English</EN> - <Line>16</Line> - <File>sample.txt</File> - </T> - - - TranslateTest - - ‚ð’Ê‚·‚ƁA–|–ó‚·‚éƒtƒ@ƒCƒ‹–¼‚ƍs”ԍ†‚ª’Ç‹L‚³‚êAs”ԍ†‚̏‡”ԂŃ\[ƒg‚³‚ê‚Ü‚·B - - ¨ T_Translate.vbs # [T_Translate1] - - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ F •¡”s‚̃eƒLƒXƒg‚ð–|–ó‚·‚é - - - <?xml version="1.0" encoding="UTF-16"?><Translate> - <File>MultiLine.txt</File> - - <T><JP cut_indent="yes" indent="1*&#9;"><![CDATA[ - // ƒƒCƒ“ - // ŠÖ” - ]]></JP><EN cut_indent="yes" indent="1*&#9;"><![CDATA[ - // Main - // Function - ]]></EN></T> - - <T><JP cut_indent="yes" indent="4*&#32;"><![CDATA[ - // ƒTƒu - // ŠÖ” - ]]></JP><EN cut_indent="yes" indent="4*&#32;"><![CDATA[ - // Sub - // Function - ]]></EN></T> - - </Translate> - - JapaneseToEnglish.trans (–|–óƒtƒ@ƒCƒ‹) - ƒXƒNƒŠƒvƒg - - - Translate "JapaneseToEnglish.trans", "EN", "JP" - - - - int main(){ - // Main - // Function - } - - int sub() - { - // Sub - // Function - } - - MultiLine.txt ‚Ì–|–óŒã - - - int main(){ - // ƒƒCƒ“ - // ŠÖ” - } - - int sub() - { - // ƒTƒu - // ŠÖ” - } - - MultiLine.txt ‚Ì–|–ó‘O - •¡”s‚Ì’u‚«Š·‚¦‚ð‚·‚é‚Æ‚«‚́Acut_indent="yes" ‚ƁAindent="c" ‚ð XML ƒ^ƒO‚É•t‚¯‚Ä‚­‚¾‚³‚¢B - cut_indent ‘®«‚É‚æ‚èAXML ƒ^ƒO‚Ì’¼Œã‚̉üs‚Æ - ‚·‚ׂĂ̍s‚̃Cƒ“ƒfƒ“ƒg‚ª–|–óƒeƒLƒXƒg‚ÌŽw’è‚©‚ç - ŠO‚ê‚Ü‚·B indent ‘®«‚É‚æ‚èA‚·‚ׂĂ̍s‚̃Cƒ“ƒf - ƒ“ƒg‚ª–|–óƒeƒLƒXƒg‚ÌŽw’è‚ɒljÁ‚³‚ê‚Ü‚·i’u‚«Š·‚í‚è‚Ü‚·jB ‰üsƒR[ƒh‚́ACR+LF ‚Å‚·B - –|–ó‘O‚̃eƒLƒXƒg‚ð’Pƒ‚È’PŒê‚É‚µ‚Ä‚©‚çA–|–óŒã‚̃eƒLƒXƒg‚ð•ÒW‚·‚邱‚ƂŁAcut_indent ‚â - indent ‚ÌŒø‰Ê‚ð‚¢‚ë‚¢‚뎎‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ Switches - - –|–ó‚·‚éƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒhƒZƒbƒg‚ðŽw’è‚·‚é‚Æ‚«‚́AFile ƒ^ƒO‚Ì charset ‘®«‚ÉŽw’肵‚Ü‚·B - - - <File charset="utf-8">sample.txt</File> - - - - <Translate skip_not_english_error="yes"> - - ‰pŒêˆÈŠO‚ªŽc‚Á‚Ä‚¢‚Ä‚àƒGƒ‰[‚É‚µ‚È‚¢‚悤‚É‚·‚é‚ɂ́AŽŸ‚̂悤‚É‚µ‚Ü‚·B - - - - - - - TranslateTest - - ¨ TranslateTest ŠÖ” - - –|–óƒtƒ@ƒCƒ‹‚̏î•ñ‚ɏ]‚Á‚āAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ª‚·‚ׂĖ|–ó‚Å‚«‚Ä‚¢‚é‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - ŽQl - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >TranslateTest‰p–ó‚̃eƒXƒg‚ð‚µ‚Ü‚·B - š–|–óƒtƒ@ƒCƒ‹ (*.trans) ‚͏㏑‚«‚³‚ê‚Ü‚·B - –|–óƒtƒ@ƒCƒ‹ (*.trans) ‚̃pƒXA‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX >C:\folder\sample.trans - - Enter ‚Ì‚Ý F o—Í‚µ‚Ü‚¹‚ñ‚ªA–|–óŒã‚É“ú–{Œê‚ªŽc‚Á‚Ä‚¢‚È‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚µ‚Ü‚· - o—̓tƒHƒ‹ƒ_[‚̃pƒXišã‘‚«‚³‚ê‚Ü‚·j> - <WARNING msg="Not English character exists" line_num="3"/> - <WARNING msg="Not English character exists" line_num="4"/> - - C:\folder\sample.trans - TranslateTest - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - ‚ðŽg‚Á‚āA*.trans ƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ÆŠÖ˜A•t‚¯‚·‚é‚ƁA - *.trans ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚邾‚¯‚Å‚·‚ׂĖ|–ó‚Å‚«‚Ä‚¢‚é‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - ¨ CheckEnglishOnly (exeƒtƒ@ƒCƒ‹) - - - ¨ ƒVƒ‡[ƒgƒJƒbƒg‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - - ŽQl - TranslateTest ‚̊֐” - ƒtƒHƒ‹ƒ_[‘S‘̂ɉpŒêˆÈŠO‚ª–³‚¢‚©’²‚ׂé - - ¨ Translate ƒRƒ}ƒ“ƒh - - –|–ó‚·‚éŠÖ” - - ¨ Translate ŠÖ” - - –|–ó‚·‚éƒRƒ}ƒ“ƒhA–|–óƒtƒ@ƒCƒ‹‚Ìà–¾ - - TranslateTest_Install ƒRƒ}ƒ“ƒh - - - ¨ vbslib Prompt.vbs - - ƒ\[ƒX - –|–óƒtƒ@ƒCƒ‹‚Ì“à—e‚͏㏑‚«‚³‚ê‚邽‚ß’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B –|–ó‚·‚éƒtƒ@ƒCƒ‹–¼‚ƍs”ԍ†‚ª’Ç‹L‚³‚êAs”ԍ†‚̏‡”ԂŃ\[ƒg‚³‚ê‚Ü‚·B - - - - - - - TranslateTest_Install - - TranslateTest - - *.lines ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ɁA - ‚ª‹N“®‚·‚é‚悤‚É‚µ‚Ü‚·B - ŠÖ˜A - - ¨ TranslateTest_Uninstall - - - ¨ vbslib Prompt.vbs - - ƒ\[ƒX - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - TranslateTest_Uninstall - - TranslateTest - - *.lines ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‚àA - ‚ª‹N“®‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B - - ¨ vbslib Prompt.vbs - - ƒ\[ƒX - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >TwoWayMerge------------------------------------------------------------------------------- - 2ƒEƒFƒC ƒ}[ƒWi2•ûŒüƒ}[ƒWj‚ð‚µ‚Ü‚·B - ”äŠr‚·‚éƒtƒ@ƒCƒ‹i¶‘¤j >C:\Left.txt - ”äŠr‚·‚éƒtƒ@ƒCƒ‹i‰E‘¤j >C:\Right.txt - ƒ}[ƒW‚µ‚½Œ‹‰Ê‚̏o—͐æƒtƒ@ƒCƒ‹išã‘‚«‚µ‚Ü‚·j >C:\_Merged.txt - - TwoWayMerge - 2ƒEƒFƒC ƒ}[ƒWi2•ûŒüƒ}[ƒWj‚ð‚µ‚Ü‚·B - TwoWayMerge - C:\Left.txt - - ¨ vbslib Prompt.vbs - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - C:\Right.txt - C:\_Merged.txt - ŠÖ˜A - - ¨ ThreeWayMerge - - - ¨ diff ŠÖ” - - - - - - - - unzip - zip ƒtƒ@ƒCƒ‹‚Ì’†‚̃‹[ƒg‚É‚P‚‚̃tƒHƒ‹ƒ_[‚¾‚¯‚ª‚ ‚é‚Æ‚«‚́A‚»‚̃tƒHƒ‹ƒ_[‚Ì’†‚ð“WŠJ‚µ‚Ü‚·B - ‚·‚Å‚É zip ƒtƒ@ƒCƒ‹‚Æ“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_[‚ª‚ ‚Á‚½‚Æ‚«‚́A‚±‚ê‚Ü‚Å‚ ‚Á‚½ƒtƒHƒ‹ƒ_[‚ð *_old ‚ɉü–¼‚µA“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_[‚É“WŠJ‚µ‚Ü‚·B - ‚·‚Å‚É *_old ƒtƒHƒ‹ƒ_[‚à‚ ‚Á‚½‚Æ‚«‚́A*_old2 ƒtƒHƒ‹ƒ_[‚ɉü–¼‚µ‚Ü‚·B - ŠÖ˜A - - ¨ unzip ŠÖ” - - zip Œ`Ž®‚̈³kƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚Ü‚·B - - ¨ T_Zip.vbs # [T_unzip_sth] - - ƒeƒXƒg - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >unzip------------------------------------------------------------- - zip ƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚Ü‚·B - zip ƒtƒ@ƒCƒ‹‚Æ“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_[‚ðì¬‚µA‚»‚Ì’†‚É“WŠJ‚µ‚Ü‚·B - zip ƒtƒ@ƒCƒ‹‚̃pƒX >C:\sample1.zip - "sample1_old" ‚ɉü–¼‚µ‚Ü‚µ‚½B: "C:\sample1" - “WŠJ‚µ‚Ü‚µ‚½B - - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - zip ƒtƒ@ƒCƒ‹‚Æ“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_[‚ª‚Å‚«A‚»‚Ì’†‚É“WŠJ‚µ‚Ü‚·B - unzip - C:\sample1.zip - - - - - - - UpdateModule - ŠÖ˜A - - ¨ ModuleAssort - - ƒpƒbƒ`iVƒ‚ƒWƒ…[ƒ‹‚̃tƒHƒ‹ƒ_[‚Æ‹Œƒ‚ƒWƒ…[ƒ‹‚̃tƒHƒ‹ƒ_[j‚ª‚ ‚é‚Æ‚«‚ɁAƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚郂ƒWƒ…[ƒ‹‚ðV‚µ‚­’u‚«Š·‚¦‚éì‹ÆƒtƒHƒ‹ƒ_[‚ð - ƒfƒXƒNƒgƒbƒv‚Ì _UpdateModule ‚ɍ쐬‚µ‚āA’u‚«Š·‚¦‚éì‹Æ‚ðŠJŽn‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >UpdateModule------------------------------------------------------------------------------- - ƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éAŒÃ‚¢ƒŠƒrƒWƒ‡ƒ“‚̃‚ƒWƒ…[ƒ‹‚ðAV‚µ‚¢ƒŠƒrƒWƒ‡ - ƒ“‚É’u‚«Š·‚¦‚Ü‚·B ì‹ÆƒtƒHƒ‹ƒ_[‚ðƒfƒXƒNƒgƒbƒv‚Ì _UpdateModule ‚ɍ쐬‚µ‚Ü‚·B - - New FVƒ‚ƒWƒ…[ƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒX >C:\patch - Old F‹Œƒ‚ƒWƒ…[ƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒX >C:\back_up - TargetF‹Œƒ‚ƒWƒ…[ƒ‹‚ª“ü‚Á‚½ƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚̃pƒX >C:\Target - - Enter ‚̂݁Fƒ}[ƒW‚̐ݒèƒtƒ@ƒCƒ‹‚ðŽg‚í‚È‚¢B - ƒ}[ƒW‚̐ݒèƒtƒ@ƒCƒ‹ > - - “¯Šú‚·‚éƒtƒ@ƒCƒ‹‚̈ꗗF - ’†‰›‚Ì‹L†‚̈Ӗ¡: [=]“¯‚¶ [!]ˆÙ‚È‚é [ ]—¼•û•sÝ - ¶‰E‚Ì‹L†‚̈Ӗ¡: [*]•ÏX [+]’ljÁ [-]íœ [.]•s•Ï [ ]•sÝ - ¶‚̓x[ƒXA‰E‚̓[ƒN - - ------------------------------------------------------------------------------- - ‘O‰ñƒRƒ~ƒbƒgŽž‚̃x[ƒX: "2B_ModuleSynchronized" - ‘O‰ñƒRƒ~ƒbƒgŽž‚̃[ƒN: "1B_TargetSynchronized" - ------------------------------------------------------------------------------- - ¡ƒx[ƒXiModulej: "2A_ModuleNew" - ¡ƒ[ƒNiTargetj: "1A_TargetMerged" - 1. .=. Image.bmp - 2. *!. Source.c - - 91. ÄƒXƒLƒƒƒ“‚·‚é [Rescan] - 92. ƒ‹[ƒgEƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - 99. I—¹ - ”ԍ† >2 - ------------------------------------------------------------------------------- - ƒx[ƒXFC:\2A_ModuleNew\Source.c" - ƒ[ƒNFC:\1A_TargetMerged\Source.c" - - ŽŸ‚̃ƒjƒ…[‚Ì 1.‚ÅŠJ‚­‚Q‚‚̃tƒ@ƒCƒ‹‚ðŽè“®‚Å“¯Šú‚µ‚½‚çAƒRƒ~ƒbƒg‚µ‚Ä‚­‚¾‚³‚¢B - ------------------------------------------------------------------------------- - šƒx[ƒXiModulej: Source.c (*•ÏX) - šƒ[ƒNiTargetj: Source.c (.•s•Ï) - - 1. Diff ‚ÅŠJ‚­F“¯Šú‚·‚éƒtƒ@ƒCƒ‹ (*ˆÙ‚È‚é) [ ƒx[ƒX / ƒ[ƒN ] - 2. Diff ‚ÅŠJ‚­F‘O‰ñƒRƒ~ƒbƒgŽž‚Ì“¯Šú“à—e (=“¯‚¶) [ ƒx[ƒX / ƒ[ƒN ] - 4. Diff ‚ÅŠJ‚­Fƒx[ƒX (*•ÏX) [ ‘O‰ñƒRƒ~ƒbƒgŽž / Œ»Ý ] - 5. Diff ‚ÅŠJ‚­Fƒ[ƒN (.•s•Ï) [ ‘O‰ñƒRƒ~ƒbƒgŽž / Œ»Ý ] - 44.Diff ‚ÅŠJ‚­F[ ‘O‰ñƒRƒ~ƒbƒgŽž‚̃x[ƒX / ƒx[ƒX / ƒ[ƒN ] - 55.Diff ‚ÅŠJ‚­F[ ƒx[ƒX / ƒ[ƒN / ‘O‰ñƒRƒ~ƒbƒgŽž‚̃[ƒN ] - 6. ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðŠJ‚­ - 8. “¯Šú‚ðƒRƒ~ƒbƒg‚·‚é - 9. –ß‚é - ”ԍ† > - - “¯Šú‚ªŠ®—¹‚µ‚½‚çA‚»‚Ì“à—e‚ðƒvƒƒWƒFƒNƒg‚É”½‰f‚³‚¹‚Ä‚­‚¾‚³‚¢B - “¯ŠúÏ‚݁F"C:\1A_TargetMerged" - TargetƒvƒƒWƒFƒNƒgF"C:\Target" - - UpdateModule - C:\Target - C:\patch - C:\back_up - ŽQl - - ¨ vbslib Prompt.vbs - - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_ModuleAssort.vbs - - T_UpdateModule_sth - - ¨ SyncFilesX - - ƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚́A•¡”‚̃‚ƒWƒ…[ƒ‹‚©‚ç‚È‚éƒtƒHƒ‹ƒ_[‚Æ‚¢‚¤ˆÓ–¡‚ŁA“Á•Ê‚ȍ\¬‚ð‚µ‚½ƒtƒHƒ‹ƒ_[‚Å‚Í‚È‚­A•’ʂ̃tƒHƒ‹ƒ_[‚Å‚·B UpdateModule ‚ł́A’u‚«Š·‚¦‚é‘ΏۂƂȂé - ƒ‚ƒWƒ…[ƒ‹‚ðŽ‚Á‚Ä‚¢‚éƒvƒƒWƒFƒNƒg ƒtƒHƒ‹ƒ_[‚Ì‚±‚Æ‚ðƒ^[ƒQƒbƒg‚ƌĂñ‚Å‚¢‚Ü‚·B - - ¨ ThreeWayMerge - - - ¨ MakePatchAndBackUpDictionary - - V‹Œƒ‚ƒWƒ…[ƒ‹‚©‚çƒpƒbƒ`‚ð‚ ‚Ä‚Ü‚· - 3ƒEƒFƒC ƒ}[ƒW - V‹Œ‚Ì”äŠrAƒvƒƒWƒFƒNƒg‚ƃ‚ƒWƒ…[ƒ‹‚Ì”äŠr - ƒ‚ƒWƒ…[ƒ‹/ƒ^[ƒQƒbƒg/ƒŠƒrƒWƒ‡ƒ“‚É•ª—Þ - - ¨ ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - - ¨ AttachPatchAndBackUpDictionary ‚̃eƒXƒg - - - ¨ SyncFilesX - - - ¨ SyncFilesX ƒ\[ƒX - - 3ƒEƒFƒC ƒ}[ƒW‚Ì Base, Left, Right ‚́AUpdateModule ‚Ì 4. Old (2B), 1. New (2A), 5. Target (1B) ‚Å‚·B 3ƒEƒFƒC ƒ}[ƒW‚É‚¨‚¯‚éA‚»‚ꂼ‚ê‚̍·•ª‚ƁAã‹Lƒƒjƒ…[iSyncFilesX ‚̃ƒjƒ…[j‚Æ‚Ì - ‘Ήž‚́AŽŸ‚Ì’Ê‚è‚Å‚·B ‚È‚¨A‰Â”\‚ÈŒÀ‚莩“®“I‚Ƀ}[ƒW‚ðs‚Á‚Ä 2. Merged(1A) ‚ðì¬‚µ‚Ä - Menu-2 ‚̍·•ª‚ª Menu-1 ‚̍·•ª‚Æ“¯‚¶A‚Ü‚½‚́AMenu-4 ‚̍·•ª‚ª Menu-5 ‚̍·•ª‚Æ“¯‚¶‚È‚çˆê”ʂɃ}[ƒWŠ®—¹‚Å‚·B ·•ª‚ª­‚È‚¢‚Ù‚¤‚̃yƒA‚Å’²®‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - ¨ SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - - ŒÃ‚¢ƒpƒbƒ`‚ðV‚µ‚¢ƒ^[ƒQƒbƒg‚É‚ ‚Ă邱‚Æ‚à‚Å‚«‚Ü‚·‚ªAV‹Œ‚ÌŠÖŒW‚ƃx[ƒX/ƒ[ƒN‚ÌŠÖŒW‚ª‹t‚É•\Ž¦‚³‚ê‚Ü‚·B - uƒx[ƒXv‚Æ•\Ž¦‚³‚ê‚Ä‚¢‚é‚à‚̂́Aƒ‚ƒWƒ…[ƒ‹’P‘Ì‚Å‚·Buƒ[ƒNv‚Æ•\Ž¦‚³‚ê‚Ä‚¢‚é‚à‚̂́Aƒ^[ƒQƒbƒg ƒvƒƒWƒFƒNƒg‚Å‚·B - u6. ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðŠJ‚­v ‚Å‘I‚Ôƒtƒ@ƒCƒ‹‚̈Ӗ¡‚́AŽŸ‚Ì‚Æ‚¨‚è‚Å‚·B - •\Ž¦ - UpdateModule ƒRƒ}ƒ“ƒh‚ł̈Ӗ¡ - - 1. ƒx[ƒX - 2. ƒ[ƒN - 4. ‘O‰ñƒRƒ~ƒbƒgŽž‚̃x[ƒX - 5. ‘O‰ñƒRƒ~ƒbƒgŽž‚̃[ƒN - Vƒ‚ƒWƒ…[ƒ‹’P‘Ì [New, 2A] - ƒ^[ƒQƒbƒgiƒ}[ƒWŒãj [Merged, 1A] - ƒRƒ~ƒbƒg‘O‚́A‹Œƒ‚ƒWƒ…[ƒ‹’P‘Ì [Old, 2B]ƒRƒ~ƒbƒgŒã‚́AVƒ‚ƒWƒ…[ƒ‹’P‘Ì - ƒRƒ~ƒbƒg‘O‚́Aƒ^[ƒQƒbƒgiƒ}[ƒW‘Oj [Target, 1B]ƒRƒ~ƒbƒgŒã‚́Aƒ^[ƒQƒbƒgiƒ}[ƒWŒãj - ‚¢‚Ü‚·‚ªA2. Merged(1A) ‚É - - ThreeWayMerge - - ‚̃Rƒ“ƒtƒŠƒNƒg‚̃^ƒO‚ª•t‚­‚±‚Æ‚à‚ ‚è‚Ü‚·B - 4. Old (2B) - 5. Target (1B) - 1. New (2A) - 2. Merged(1A) - - - - - - - - - - - - - - - - - - - - - Menu-1 - Menu-4 - Menu-5 - Menu-2 - - - - - - - XmlText - ƒeƒLƒXƒg‚ð XML/HTML ‚ÌŽÀ‘ÌŽQÆ‚É•ÏŠ·‚µ‚Ü‚·B - - - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >XmlText------------------------------------------------------------------------------- - ƒeƒLƒXƒg‚ð XML/HTML ‚ÌŽÀ‘ÌŽQÆ‚É•ÏŠ·‚µ‚Ü‚·B - 1) ƒeƒLƒXƒg ¨ XML/HTML ƒeƒLƒXƒg‚ÌŽÀ‘ÌŽQÆ [ToRef] - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ >1 - - Enter ‚̂݁FƒNƒŠƒbƒvƒ{[ƒh‚Ì“à—e‚ð“ü—Í‚Æ‚µ‚Ü‚·B - •ÏŠ·‘O‚̃eƒLƒXƒg‚ª‘‚©‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX > - •ÏŠ·‚µ‚Ü‚µ‚½B - - XmlText - 1 - - ¨ XmlText - - ŠÖ˜A - - - - - - - - - - - - - - - ŠJ”­ƒTƒ|[ƒgƒc[ƒ‹ - - RepliCmp - - - PartRep - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̈ꕔ‚ð’u‚«Š·‚¦‚Ü‚·B - - PartCmp - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̈ꕔ‚ª“¯‚¶‚©‚Ç‚¤‚©”äŠr‚µ‚Ü‚·B - •¡”‚̃tƒHƒ‹ƒ_‚ÅŽw’肵‚½–¼‘O‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ðƒ}[ƒW‚·‚éŽè•‚¯‚ð‚µ‚Ü‚·B - - vbslib_updater - - vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚ðƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚·‚é - - Syncs - - ‚Q‚‚̃tƒ@ƒCƒ‹‚Ì“¯Šú‚ðŽ©“®“I‚ÉŽæ‚è‚Ü‚· - - SearchNewFile - - - XmlFilter - - V‚µ‚­XV‚µ‚½ƒtƒ@ƒCƒ‹‚ð’T‚µ‚Ü‚· - XML ‚̈ꕔ‚ðŽæ‚èo‚µ‚Ü‚·B - vbslib ‚ðŽg‚Á‚čì‚ç‚ꂽƒc[ƒ‹‚Å‚·B - vbslib ‚ðŽg‚¤‚Æ‚«‚É–ð‚É—§‚ƒvƒƒOƒ‰ƒ€‚ðŽQl‚É‹“‚°‚Ü‚·B - - ¨ Rekisa - - - ¨ ƒTƒNƒ‰ƒGƒfƒBƒ^ (Web) - - - ¨ Microsoft Script Editor (Web) - - - ¨ Microsoft Visual Studio (Web) - - - ¨ Snap Note (Web) - - - ¨ \‘¢‰»ƒGƒfƒBƒ^ (Web) - - MS Office ‚ðƒtƒ‹ƒCƒ“ƒXƒg[ƒ‹‚µ‚½‚Æ‚«‚ÉŽg‚¦‚Ü‚· - ƒXƒNƒŠƒvƒgEƒfƒoƒbƒK‚ªŽg‚¦‚é‚̂́AStandard ˆÈã - vbslib ‚͍\‘¢‰»ƒeƒLƒXƒg‚É‚È‚Á‚Ä‚¢‚Ü‚· - ƒhƒLƒ…ƒƒ“ƒg‚©‚çƒ\[ƒXƒR[ƒh‚ɃWƒƒƒ“ƒv‚Å‚«‚Ü‚· - - ¨ ŠJ”­ŠÂ‹«‘€ìA Visual Studio - - ŠÖ˜A - - ConvSymbol - - CŒ¾Œê‚Ì #define ‚©‚çA”’l‚Æ•¶Žš—ñ‚Ì”z—ñ‚̃R[ƒh‚𐶐¬‚µ‚Ü‚·B - ƒeƒLƒXƒg”äŠr diff ƒc[ƒ‹ - ƒeƒLƒXƒgEƒGƒfƒBƒ^[ - - [ e: vbslib ‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg ] - - - - - - - - CheckEnglishOnly (exeƒtƒ@ƒCƒ‹) - - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ª‰pŒê‚¾‚¯‚É‚È‚Á‚Ä‚¢‚é‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·Bƒ`ƒFƒbƒN‚·‚éƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX: TestData - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX: TestData\SettingForCheckEnglish.ini - - <FILE path="KanjiInUnicode.txt"> - <LINE num="2" text="Š¿Žš"/> - <LINE num="4" text="‚Å‚·B"/> - <SUMMARY count="2"/> - </FILE> - - <FILE path="Sub\SJisInAscii.txt"> - <LINE num="2" text="ƒVƒtƒgJIS"/> - <LINE num="4" text="‚Å‚·B"/> - <SUMMARY count="2"/> - </FILE> - - o—Í‚Ì—áF - - - [CheckEnglishOnlyExe]ExceptFile = *.exe - ExceptFile = *.lib - ExceptFile = *.dll - ; comment - ExceptFile = *\AnyFolder.txt - ExceptFile = Sub\StepPath.txt - ExceptFile = *\SubFolder\* - - Ý’èƒtƒ@ƒCƒ‹‚Ì—áF Setting.ini - - - CheckEnglishOnly.exe /Folder:FolderA /Setting:Setting.ini - - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚Ì’†‚ɁA‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹‚ðˆê——‚µ‚Ü‚·B - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚©‚çŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - yˆø”z - /Folder - /Setting - ƒ`ƒFƒbƒN‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX - ŠÖ˜A - - ¨ T_CheckEnglishOnly.vbs # T_CheckEnglishOnly - - ƒeƒXƒg - - ¨ CheckEnglishOnly - - vbslib ”Å - - ¨ scriptlib\vbslib\CheckEnglishOnly ƒtƒHƒ‹ƒ_[ - - - ¨ _src\Test\tools\scriptlib\vbslib\CheckEnglishOnly ƒtƒHƒ‹ƒ_[ - - ƒ\[ƒX - - ¨ TranslateTest - - - ¨ CheckEnglishOnly_src_121106.zip - - ŽÀsƒtƒ@ƒCƒ‹‚Ü‚½‚̓\[ƒX‚ª‚ ‚éêŠF - - ¨ CheckEnglishOnly - - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg”Å - * ‚©‚çŽn‚Ü‚éÝ’è‚̏ꍇ‚́A‚·‚ׂẴtƒHƒ‹ƒ_[‚ɑ΂·‚éÝ’è‚É‚È‚è‚Ü‚·B‘Š‘΃pƒX‚̊‚́AÝ’èƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Å‚·B - ‘Š‘΃pƒX‚̊‚́AÝ’èƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Å‚·B‚½‚¾‚µA/Setting ƒIƒvƒVƒ‡ƒ“‚ª‚È‚¢‚Æ‚«‚́Aƒ`ƒFƒbƒN‚·‚éƒtƒHƒ‹ƒ_[‚Å‚·B - - - - - - - ƒR[ƒ‹ƒcƒŠ[ iCheckEnglishOnlyj - /Folder:"FolderPath" /Setting:"SettingForCheckEnglish.ini" - - CheckEnglishOnly.exe - - /* Set "except_names" : Ý’èƒtƒ@ƒCƒ‹‚ÉŽw’肵‚½ "ExceptFile" */ - - ¨ CheckEnglishOnly.c - - e= Set2_alloc( &except_names, &except_name, StrMatchKey ); - - CheckEnglishOnly - - FileT_callByNestFind - /* "path" ‚ªAƒ`ƒFƒbƒN‚ð‚µ‚È‚¢ƒtƒ@ƒCƒ‹ "except_names" ‚ÉŠÜ‚Ü‚ê‚é‚È‚çƒXƒLƒbƒv‚·‚é */ - ƒtƒ@ƒCƒ‹ˆê——AÝ’èƒtƒ@ƒCƒ‹ŠÖŒWF - Main_getFilePathFromNestFind - if ( StrMatchKey_isMatch( except_name, path ) ) { break; } - /* Set "paths" : ƒ`ƒFƒbƒN‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX‚̏W‡B - if ( IniStr_isLeft( line, _T("ExceptFile") ) ) { - - - - - - - ReplaceSymbolsClass -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - - - Set w_= AppKey.NewWritable( "." ).Enable() Set rep = new ReplaceSymbolsClass - rep.Load "ReplaceSymbols.xml" - rep.ReplaceFiles - - •¡”‚̃tƒ@ƒCƒ‹‚Ì’†‚Ì•¡”‚Ì’PŒêi•¶Žš—ñj‚ðˆê“x‚É’u‚«Š·‚¦‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ŽQl - - ¨ ReplaceSymbols ƒRƒ}ƒ“ƒh - - ƒeƒXƒg - - ¨ T_ReplaceSymbols ƒtƒHƒ‹ƒ_[ - - ƒ†[ƒU[‚ÉŠm”F‚ð‹‚ß‚È‚¢‚Æ‚«‚́Arep.IsSubmit = False ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - Load (ReplaceSymbolsClass) - - - Sub ReplaceSymbolsClass::Load( XML_Path as string, Config as ReplaceSymbolsLoadConfigClass ) - - ‚ð“ǂݍž‚Ý‚Ü‚·B - yˆø”z - XML_Path - ReplaceSymbols ‚̐ݒèƒtƒ@ƒCƒ‹‚̃pƒX - - ReplaceSymbols ‚̐ݒèƒtƒ@ƒCƒ‹ - - - [ e: ReplaceSymbolsClass ] - - Config - Empty ‚Ü‚½‚́AÝ’è - ReplaceSymbolsLoadConfigClass - - - Class ReplaceSymbolsLoadConfigClass Public IsReverse '// as boolean - End Class - - IsReverse = True ‚È‚çAReplace ƒ^ƒO‚Ì from ‚Æ to ‚ð“ü‚ê‘Ö‚¦‚āA’u‚«Š·‚¦‚Ü‚·B - - - - - - - ReplaceFiles (ReplaceSymbolsClass) - - - Sub ReplaceSymbolsClass::ReplaceFiles() - - Ý’è‚ɏ]‚Á‚āAŽw’肵‚½•¡”‚̃tƒ@ƒCƒ‹‚Ì’†‚Ì•¶Žš—ñ‚Ì’PŒê‚ð’u‚«Š·‚¦‚Ü‚·B - - [ e: ReplaceSymbolsClass ] - - - Load ƒƒ\ƒbƒh - - Ý’è‚·‚é‚ɂ́A - ‚ðŽg‚¢‚Ü‚·B - - - - - - - ConvSymbol - - - cscript.exe ConvSymbol.vbs /in_type:CDefine /in:file.h /out_type:CLang /out:file.c /strs_array_name:g_Symbols_strs /ids_array_name:g_Symbols_ids - - ƒVƒ“ƒ{ƒ‹‚ð’è‹`‚µ‚Ä‚¢‚éCŒ¾Œê‚Ì #define ‚©‚çA”’l‚Æ•¶Žš—ñ‚Ì”z—ñ‚̃R[ƒh‚𐶐¬‚µ‚Ü‚·B - “ü—̓tƒ@ƒCƒ‹EƒTƒ“ƒvƒ‹F - - - #define Sym1 10#define Sym2 11 - - o—̓tƒ@ƒCƒ‹EƒTƒ“ƒvƒ‹F - - - TCHAR* g_Symbols_strs[] = { _T("Sym1"), - _T("Sym2"), - }; - int g_Symbols_ids[] = { - 10, - 11, - }; - - StrT_convStrToId ŠÖ”(clib) ‚ðŽg‚¤‚ƁA•¶Žš—ñ‚©‚琔’l‚É•ÏŠ·‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ StrT_convStrToId - - ƒeƒXƒg - - ¨ Test_ConvSymbol ƒtƒHƒ‹ƒ_ - - - - int id;TCHAR str[256]; - - _tcscpy_s( str, _countof(str), _T("Sym1") ); - id = StrT_convStrToId( str, g_Symbols_strs, g_Symbols_ids, - sizeof(g_Symbols_strs)/sizeof(*g_Symbols_strs), 0 ); - - ŽQl - yˆø”z - in_type - in - CDefine ŒÅ’è - CŒ¾Œê‚Ì #define ‚ª‘‚©‚ꂽƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚̃pƒX - out_type - CLang ŒÅ’è - - ¨ ConvSymbol ƒtƒHƒ‹ƒ_ - - out - ”’l‚Æ•¶Žš—ñ‚Ì”z—ñ‚Ì CŒ¾ŒêƒR[ƒh‚̏o—͐æ‚Æ‚È‚éƒtƒ@ƒCƒ‹‚̃pƒX - strs_array_name - ids_array_name - •¶Žš—ñ‚Ì”z—ñ‚̕ϐ”–¼ - ”’l‚Ì”z—ñ‚̕ϐ”–¼ - - - Sub ConvSymbol( InPath as string, OutPath as string, Opt as ConvSymbolOption ) - - - - Class ConvSymbolOption Public InType - Public OutType - Public StrsFuncName - Public IDsFuncName - End Class - - ConvSymbolOption ƒNƒ‰ƒX - - ConvSymbolOption - - “à—e‚́Aã‹Lˆø”‚Æ“¯‚¶ - ƒTƒ“ƒvƒ‹EƒXƒNƒŠƒvƒgF - - - Set conv_option = new ConvSymbolOption Set o = conv_option - o.InType = "CDefine" - o.OutType = "CLang" - o.StrsFuncName = "g_Symbols_strs" - o.IDsFuncName = "g_Symbols_ids" - - ConvSymbol "file.h", "file.c", conv_option - - ƒTƒ“ƒvƒ‹ -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - - - '//=== make g("OutTableH")Dim rep, line - Set rep = StartReplace( g("OutTableC"), g("OutTableH"), True ) - rep.w.WriteLine "#if __cplusplus" - rep.w.WriteLine " extern ""C"" {" - rep.w.WriteLine "#endif" - rep.w.WriteLine "" - Do Until rep.r.AtEndOfStream - line = rep.r.ReadLine() - If InStr( line, "g_Symbols_strs" ) > 0 or InStr( line, "g_Symbols_ids" ) > 0 Then - rep.w.WriteLine "extern "+ Replace( line, " = {", ";" ) - End If - Loop - rep.w.WriteLine "" - rep.w.WriteLine "#if __cplusplus" - rep.w.WriteLine " } // extern ""C""" - rep.w.WriteLine "#endif" - rep.w.WriteLine "" - rep.w.WriteLine "// "+ g("OutTableH") +" was made by """+ WScript.ScriptName +"""" - rep.Finish - - C ƒtƒ@ƒCƒ‹‚©‚çAƒwƒbƒ_ƒtƒ@ƒCƒ‹‚ðì¬‚·‚éƒXƒNƒŠƒvƒg‚́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - - - - - - - - - TortoiseMerge - ƒeƒLƒXƒg‚̍·•ª‚ð•\Ž¦‚·‚éƒvƒƒOƒ‰ƒ€‚Å‚·B TortoiseSVN (SubVersion) ‚É•t‘®‚µ‚Ä‚¢‚Ü‚·B - - ¨ TortoiseMerge‚ÌŽg‚¢•û - TortoiseSVN (Web) - - ŽQl - - - - - - - - - - - Rekisa - - ¨ FrozenLib (Web) - - ŠJ”­Œ³ - - ¨ Rekisa - ƒxƒNƒ^[ƒ\ƒtƒgƒjƒ…[ƒX (Web) - - ŠÖ˜A - ƒeƒLƒXƒg‚̍·•ª‚ð•\Ž¦‚·‚éƒvƒƒOƒ‰ƒ€‚Å‚·B - „§‰ŠúÝ’è - [ Ý’è | ”äŠrƒtƒBƒ‹ƒ^ | ƒ^ƒu‚Æ‹ó”’‚ðíœ ] ‚ð‘I‘ð‚µ‚Ä‚©‚çARekisa ‚ðÄ‹N“®‚µ‚Ü‚·B - - ¨ ƒTƒNƒ‰ƒGƒfƒBƒ^‚Ƃ̘AŒg (Web) - - - - "$(PATH)" -Y=$(Y+1) - - - - ƒTƒNƒ‰ƒGƒfƒBƒ^‚ÅŠJ‚­(&S) - - - - C:\Program Files\sakura\sakura.exe - - [ Ý’è | ŠO•”ƒc[ƒ‹ ] - - - ƒtƒHƒ‹ƒ_‚ðŠJ‚­(&F) - - - - explorer - - - - /SELECT, "$(PATH)" - - ( -X=$(X+1) ‚ÍŽg‚¢‚É‚­‚¢j - - ¨ Rekisa - ‘‹‚Ì“m (Web) - - - - - - - - ArgsLog - ArgsLog.exe ‚ÉŽw’肵‚½ƒpƒ‰ƒ[ƒ^[‚ðAƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚Ì ArgsLog.txt ƒtƒ@ƒCƒ‹‚É’Ç‹Lo—Í‚µ‚Ü‚·BƒeƒXƒg—p‚Å‚·B - ƒeƒXƒg ƒvƒƒOƒ‰ƒ€‚ªAƒeƒXƒg‘Ώۂ̃vƒƒOƒ‰ƒ€iexe ƒtƒ@ƒCƒ‹j‚ð‹N“®‚·‚é‘ã‚í‚è‚É ArgsLog.exe ‚ð‹N“® - ‚µ‚½‚èAƒeƒXƒg‘Ώۂ̃vƒƒOƒ‰ƒ€‚ɗႦ‚Î /ArgsLog ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯‚邱‚ƂŊ֐”‚Ì“à•”‚©‚ç‹N“®‚·‚é - exe ƒtƒ@ƒCƒ‹‚ð ArgsLog.exe ‚ɐ؂è‘Ö‚¦‚½‚è‚·‚邱‚Æ‚ª‚æ‚­‚ ‚è‚Ü‚·B ‚½‚Æ‚¦‚΁AƒeƒXƒg‘Ώۂ̃vƒƒOƒ‰ƒ€ - ‚ªƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ð‹N“®‚·‚éŠÖ”‚ðŒÄ‚яo‚µ‚½‚Æ‚«A‚»‚̊֐”‚Ì’†‚Å ArgsLog.exe ‚ª‹N“®‚³‚êA - ƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ª‹N“®‚µ‚½‚à‚Ì‚Æ‚µ‚ăeƒXƒg‚ðŽÀŽ{‚µA‹N“®‚µ‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ɂ‚¢‚Ä ArgsLog.txt - ƒtƒ@ƒCƒ‹‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - ¨ ArgsLog ƒtƒHƒ‹ƒ_[ - - ŽQl - - ¨ ArrayFromCmdLine - - ŠÖ˜A - - ¨ Diff ƒc[ƒ‹‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - - - ¨ ƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - - - ¨ ƒƒO - - - - - - - - - ƒGƒfƒBƒ^[“™‚̐ݒè•ÏX ivbslib ŠO•”ƒvƒƒOƒ‰ƒ€Ý’èAsetting ƒtƒHƒ‹ƒ_[j - vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚́AƒXƒNƒŠƒvƒg‚ªƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚ðŠJ‚­‚½‚ß‚É‹N“®‚·‚éƒGƒfƒBƒ^[‚âAƒeƒLƒXƒg‚ð”äŠr‚·‚éƒc[ƒ‹‚È‚Ç‚ðAuC:\Program Filesv ƒtƒHƒ‹ƒ_[‚𒲂ׂĎ©“®“I‚É’T‚µ‚Ü‚·B - - setting_default ƒtƒHƒ‹ƒ_[‚â setting ƒtƒHƒ‹ƒ_[ - - ‚È‚¨AÝ’è‚́A - ‚Ì PC_setting_default.vbs ‚â - - ¨ vbslib ‚ªŒÄ‚яo‚·ƒ†[ƒU[Ý’èŠÖ” - - ŽQl - PC_setting_default.vbs - - Setting_getEditorCmdLine ŠÖ” - - - Setting_getDiffCmdLine ŠÖ” - - - Setting_openFolder ŠÖ” - - PC_setting.vbs ‚É“ü‚Á‚Ä‚¢‚鉺‹L‚̊֐”’è‹`‚Å‚·B - ƒeƒLƒXƒgƒGƒfƒBƒ^‚̐ݒè - ƒeƒLƒXƒg”äŠriDiffjƒc[ƒ‹‚̐ݒè - ƒtƒHƒ‹ƒ_‚ðŠJ‚­ƒc[ƒ‹‚̐ݒè - - vbslib Prompt.vbs - - ‚¤‚Ü‚­‚¢‚©‚È‚¢‚Æ‚«‚́A - ‚Ì Setting ƒRƒ}ƒ“ƒh‚Őݒè‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B - - Setting_getFolderDiffCmdLine ŠÖ” - - ƒtƒHƒ‹ƒ_[”äŠriDiffjƒc[ƒ‹‚̐ݒè - - - - - - - vbslib ‚ªŒÄ‚яo‚·ƒ†[ƒU[Ý’èŠÖ” - - ¨ Setting_getIncludePathes - - ƒCƒ“ƒNƒ‹[ƒh‚·‚éŠO•” .vbs ƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ‚ð•Ô‚·B - ƒeƒLƒXƒgƒGƒfƒBƒ^‚̐ݒèBƒpƒX‚ð•Ô‚·B - ƒeƒLƒXƒg”äŠriDiffjƒc[ƒ‹‚̐ݒèBƒpƒX‚ð•Ô‚·B - PC_setting.vbs - vbs_inc_setting.vbs - - ¨ Setting_openFolder - - ƒtƒHƒ‹ƒ_‚ðŠJ‚«‚Ü‚·B - - ¨ Setting_getDiffCmdLine - - - ¨ Setting_getEditorCmdLine - - - ¨ Setting_getAdminUserName - - ŠÇ—ŽÒ‚̃†[ƒU–¼‚ð•Ô‚µ‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_ ] - - ‚Ì’†‚Ì .vbs ƒtƒ@ƒCƒ‹‚ɁAƒ†[ƒU[‚ª’è‹`‚·‚éŠÖ”‚Å‚·B - - ¨ Setting_onAfterInclude - - ‚·‚ׂẴ‚ƒWƒ…[ƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½Œã‚̃R[ƒ‹ƒoƒbƒNB - - setting ƒtƒHƒ‹ƒ_[ - - - - - - - - - - - - - - - - - - - - - - - - - setting ƒtƒHƒ‹ƒ_[, setting_default ƒtƒHƒ‹ƒ_[ - - vbs_inc - - ‚É‚æ‚Á‚āAsetting ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚éA - ‚Ì setting_default ƒtƒHƒ‹ƒ_‚Ì’†‚Ì‘S .vbs ƒtƒ@ƒCƒ‹ - 1. - 3. - %APPDATA%\Scripts ƒtƒHƒ‹ƒ_‚Ì’†‚Ì‘S .vbs ƒtƒ@ƒCƒ‹ (*2) - ŠÂ‹«•Ï” myhome_mem ‚́A•K—v‚ɉž‚¶‚Đݒ肵‚Ä‚­‚¾‚³‚¢B[ ƒXƒ^[ƒg | ƒRƒ“ƒsƒ…[ƒ^[ ] ‚ð‰EƒNƒŠƒbƒN [ ƒvƒƒpƒeƒB | Ú×Ý’è | ŠÂ‹«•Ï” ] - [ ƒ†[ƒU[ŠÂ‹«•Ï” ] ‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B - (*1) - ‚Ì setting ƒtƒHƒ‹ƒ_‚Ì’†‚Ì‘S .vbs ƒtƒ@ƒCƒ‹ - 4. - - ¨ •”•ªEmpty\‘¢‘̃pƒ‰ƒ[ƒ^ - - %APPDATA% - Scripts - Xxx_setting.vbs - © 2. PC‘S‘̂̐ݒè (*2) - setting ƒtƒHƒ‹ƒ_[‚́Avbslib ‚̐ݒè‚ð‹Lq‚µ‚½ vbs ƒtƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚Å‚·Bscriptlib\vbslib\setting ƒtƒHƒ‹ƒ_[‚È‚Ç‚Ì’†‚ɁAƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ð”z’u‚µAŠÖ”’è‹`‚ð - ‹Lq‚·‚邱‚ƂŐݒè‚ðs‚¢‚Ü‚·B - - - scriptlib - - ƒƒCƒ“.vbs - i”CˆÓ‚̃tƒHƒ‹ƒ_[j - setting_default - setting - © 1. ƒfƒtƒHƒ‹ƒgÝ’èi’ʏíA•ÒW‚µ‚Ü‚¹‚ñj - Xxx_setting_default.vbs - Xxx_setting.vbs - © 4. ã‹Li”CˆÓ‚̃tƒHƒ‹ƒ_[j‚Ì’†‚̐ݒè - 2. - %myhome_mem%\prog\scriptlib\setting_mem ƒtƒHƒ‹ƒ_‚Ì’†‚Ì‘S .vbs ƒtƒ@ƒCƒ‹ (*1) - (*2) - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðŠJ‚¢‚āAecho %APPDATA%\Scripts ‚Æ“ü—Í‚·‚é‚ƁAŽÀÛ‚̃pƒX‚ª•ª‚©‚è‚Ü‚·B - - ¨ [T_Setting] setting ƒtƒHƒ‹ƒ_‚̃eƒXƒg - - %myhome_mem%\prog\scriptlib\setting_mem - Xxx_setting.vbs - © 3. USB ƒƒ‚ƒŠ[‚É“ü‚Á‚Ä‚¢‚é PC‘S‘̂̐ݒè - ŠÂ‹«•Ï”‚ðŽg—p - ƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚é‚ƁA‚Í‚¶‚ß‚É - ‚·‚×‚Ä‚Ì vbs ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðŽÀs‚µ‚Ü‚·B ‚‚܂èAvbs ƒtƒ@ƒCƒ‹‚Ì–¼‘O‚́AŽ©—R‚É•t‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚±‚ÌŽÀs‚É‚æ‚Á‚āAŠÖ”‚ª’è‹`‚³‚ê‚Ü‚·B setting ƒtƒHƒ‹ƒ_[‚́A•¡”‚ ‚è - ‚Ü‚·‚ªA‰º‹L‚Ì 1. 2. 3. 4. 5. ‚̏‡”Ô‚ÅŽÀs‚µ‚Ü‚·B “¯‚¶ŠÖ”‚ð‘¼‚Ì .vbs ƒtƒ@ƒCƒ‹‚Å‚à’è‹`‚µ‚Ä - ‚¢‚é‚Æ‚«‚́AŒã‚Å’è‹`‚µ‚½‚à‚Ì‚ª—Dæ‚³‚ê‚Ü‚·B 4 ‚Ì setting ƒtƒHƒ‹ƒ_[‚É‚ ‚éÝ’肪Å‚à - - —áj Setting_getEditorCmdLine ŠÖ” - - ƒeƒXƒg - ŠÖ˜A - vbslib - - [ e: setting ƒtƒHƒ‹ƒ_ ] - - - g_vbslib_ver_folder - - - g_vbslib_ver_folder - - Windows 7 F C:\Users\user1\AppData\RoamingWindows XP F C:\Document and Settings\user1\Application Data - - 2.‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢ PC ‚ðˆêŽž“I‚ÉŽg‚¤‚Æ‚«‚Ì‚½‚ß - vbslib - Xxx_setting.vbs - setting - - scriptlib - - © setting ƒtƒHƒ‹ƒ_[A‰º‹L‚Ì 1. 2. 3. 4. ‚ª‚ ‚éƒtƒHƒ‹ƒ_[ - © Ý’èƒtƒ@ƒCƒ‹ - © 5. ƒXƒNƒŠƒvƒg‚Ì’†‚Ì include ‚â ExecuteGlobal - —Dæ‚³‚ê‚Ü‚·B ‚½‚¾‚µA - - include - - ‚â - - ExecuteGlobal - - ‚ðŒÄ‚яo‚·‚Æ’è‹`‚͕ύX‚³‚ê‚Ü‚·B - 5. - - ExecuteGlobal - - ‚â - - include - - ƒXƒNƒŠƒvƒg‚Ì’†‚Ì - ‰º‹L‚Ì 1. 2. 3. 4. 5. ‚̏‡”Ô‚ÅŽÀs‚µAŒã‚Å’è‹`‚µ‚½‚à‚Ì‚ª—Dæ‚³‚ê‚Ü‚·B - - ¨ ˆ—ƒtƒ[ ivbs_inc/settingj - - Ý’èƒtƒ@ƒCƒ‹‚Ì’†‚ł́Avbs_inc_sub.vbs ƒtƒ@ƒCƒ‹‚Å’è‹`‚³‚ê‚Ä‚¢‚éŠÖ”‚¾‚¯‚ðŽg—p‚Å‚«‚Ü‚·B - ƒ\[ƒX - 1. 2. 3. 4. ‚̃tƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚́A - - g_vbslib_setting_paths - - ‚É‚ ‚è‚Ü‚·B - - - - - - - ŠÖ”’è‹`‚̕ύX•û–@ - - include - - ‚â - - ExecuteGlobal - - ‚È‚Ç‚ðŒÄ‚яo‚·‚Ɗ֐”’è‹`‚͕ύX‚³‚ê‚Ü‚·B - - setting ƒtƒHƒ‹ƒ_[, setting_default ƒtƒHƒ‹ƒ_[ - - Main ŠÖ”‚ðŒÄ‚яo‚·‘O‚Ɋ֐”’è‹`‚ð•Ï‚¦‚é‚ɂ́A - ‚ɕύXŒã‚̊֐”’è‹`‚ª“ü‚Á‚½ƒXƒNƒŠƒvƒg‚ð”z’u‚µ‚Ü‚·B - Main ŠÖ”‚ðŒÄ‚яo‚µ‚½Œã‚́A - •ÏX‚·‚é‘O‚̊֐”‚àŒÄ‚яo‚·‚Æ‚«‚́A - - FuncRedir_add - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ƒeƒXƒg ƒXƒNƒŠƒvƒg‚©‚çŒÄ‚΂ê‚éŠÖ”‚Ì’è‹`‚ð•ÏX‚·‚é‚Æ‚«‚́Ainclude ‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - - - - - - Ý’è‚𑀍삷‚éŠÖ” - - - - - - - CheckSettingFunctionExists - - - Sub CheckSettingFunctionExists( FunctionName as string ) - - setting ƒtƒHƒ‹ƒ_[‚É‚ ‚éƒXƒNƒŠƒvƒg‚ɏ‘‚­‚ׂ«ŠÖ”‚ª‚ ‚邱‚Æ‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - yˆø”z - FunctionName - ’è‹`‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚·‚éŠÖ”‚Ì–¼‘O - - IsDefined - - ‚Ƃ̈Ⴂ‚́AŠÖ”‚ª–³‚¯‚ê‚Ήº‹L‚̂悤‚ȃGƒ‰[‚ª”­¶‚·‚邱‚Æ‚Å‚·B - - - <ERROR msg="vbslib ‚Ì setting ƒtƒHƒ‹ƒ_[‚É‚ ‚é .vbs ƒtƒ@ƒCƒ‹‚Ɋ֐”‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB" function="Setting_getDiffCmdLine"/> - - ŠÖ˜A - - ¨ GetExistPathInSetting - - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - ƒTƒ“ƒvƒ‹ - - - CheckSettingFunctionExists "Setting_getNaturalDocsPerlPath" natural_docs_path = Setting_getNaturalDocsPerlPath() - - Ý’èŠÖ”‚ðƒ`ƒFƒbƒN‚µ‚Ä‚©‚çAŒÄ‚яo‚µ‚Ü‚·B - - - - - - - GetExistPathInSetting - - - Function GetExistPathInSetting( Paths as array of string, SettingFuncName as string ) - - Paths ”z—ñ‚ÉŠi”[‚³‚ê‚Ä‚¢‚éƒpƒX‚Ì‚¤‚¿AÅ‰‚Ƀtƒ@ƒCƒ‹‚ª‘¶Ý‚·‚éƒpƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Paths - SettingFuncName - ƒpƒX‚Ì”z—ñ - –{ŠÖ”‚ðŒÄ‚яo‚µ‚Ä‚¢‚éŠÖ”‚Ì–¼‘O - •Ô‚è’l - ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚·‚éƒpƒX - Paths ‚Ì—v‘f‚É Empty ‚ðŠÜ‚ñ‚Å‚¢‚Ä‚àƒGƒ‰[‚É‚Í‚È‚è‚Ü‚¹‚ñB - ‚à‚µAŠY“–‚·‚éƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¯‚ê‚΁Asetting ƒtƒHƒ‹ƒ_[‚É‚ ‚é vbs ƒtƒ@ƒCƒ‹‚ðC³‚·‚é - ‚悤‚ɁAŒx‚ª•\Ž¦‚³‚ê‚Ü‚·B - GetExistPathInSetting ‚́Asetting ƒtƒHƒ‹ƒ_[‚Ì’†‚Å’è‹`‚·‚éŠÖ”‚Ì’†‚©‚çŒÄ‚яo‚¹‚éŠÖ”‚Å‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ƒTƒ“ƒvƒ‹ - - - Function Setting_getEditorCmdLine( i ) - paths = Array( _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\sakura\sakura.exe" ), _ - g_sh.ExpandEnvironmentStrings( "%windir%\notepad.exe" ) ) - exe = GetExistPathInSetting( paths, "Setting_getEditorCmdLine" ) - - - ¨ Setting_getEditorCmdLine ‚̃Tƒ“ƒvƒ‹ (src) - - - CheckSettingFunctionExists - - ‚̌Ăяo‚µ‚àŒŸ“¢‚µ‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - - - - - - - EditAndRunScript - - - Sub EditAndRunScript( ScriptPath as string, IsKeepThisProcessIfRun as boolean ) - - VBScript ƒtƒ@ƒCƒ‹‚ðƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ÅŠJ‚¢‚āA•ÒWŒã‚ÉŽÀs‚µ‚Ü‚·B - yˆø”z - ScriptPath - IsKeepThisProcessIfRun - VBScript ƒtƒ@ƒCƒ‹‚̃pƒXB Empty = - False=ŽÀsŠJŽn‚µ‚½‚猻Ý‚̃vƒƒZƒX‚ðI—¹‚·‚é - - WScript.ScriptFullName - - - (src) - - ƒTƒ“ƒvƒ‹ - - - Sub EditAndRunThisScript() EditAndRunScript Empty, False - End Sub - - –{ŠÖ”‚ðŒÄ‚яo‚·‚ƁA - - Setting_getEditorCmdLine - - VBScript ƒtƒ@ƒCƒ‹ŠJ‚«‚Ü‚·B - ‚É“o˜^‚µ‚½ƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ðŽg‚Á‚Ä - ƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ð•Â‚¶‚½‚çA•ÒW‚µ‚½ VBScript ƒtƒ@ƒCƒ‹‚ðŽÀs‚·‚é‚©‚Ç‚¤‚©‚ðŠm”F‚·‚éƒEƒBƒ“ƒhƒE‚ªŠJ‚«‚Ü‚·B ŽÀs‚·‚é‚ð‘I‚ñ‚¾‚çAŽÀs‚ðŠJŽn‚µ‚āAIsKeepThisProcessIfRun - = False ‚È‚çAŒ»ÝŽÀs’†‚̃vƒƒZƒX‚͏I—¹‚µ‚Ü‚·B ‚‚܂èAV‚µ‚¢ VBScript ƒtƒ@ƒCƒ‹‚Ì - ƒvƒƒZƒX‚ɐ؂è‘Ö‚í‚è‚Ü‚·B IsKeepThisProcessIfRun = True ‚È‚çAŽÀs‚ðŠJŽn‚µ‚āA - –{ŠÖ”‚©‚ç–ß‚è‚Ü‚·B - ŽÀs‚·‚邱‚Æ‚ðƒLƒƒƒ“ƒZƒ‹‚·‚é‚Æ‘I‚ñ‚¾‚çA‚»‚Ì‚Ü‚Ü–{ŠÖ”‚©‚ç–ß‚è‚Ü‚·B - - ¨ T_EditAndRunScript ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - - - - - - Setting_getExistSettingPath - - - Function Setting_getExistSettingPath( StepPath as string ) as string - - ‚É‘¶Ý‚·‚é‚P‚‚̃tƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - setting ƒtƒHƒ‹ƒ_[ - - - - AssertExist g_vbslib_ver_folder + "setting_default"AssertExist g_vbslib_ver_folder + "setting" - - setting_path = Setting_getExistSettingPath( "MySetting.xml" ) - If not IsEmpty( setting_path ) Then - '// ... - End If - - Assert setting_path = g_vbslib_ver_folder + "setting" - - yˆø”z - StepPath - ‘¶Ý‚ðƒ`ƒFƒbƒN‚·‚éƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚Ì‘Š‘΃pƒX - ƒTƒ“ƒvƒ‹ - •Ô‚è’l - Œ©‚‚©‚Á‚½ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̐â‘΃pƒXA‚Ü‚½‚́AEmpty - - g_vbslib_setting_paths - - ”z—ñ‚É‚ ‚éƒtƒHƒ‹ƒ_[‚ɁAƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ð - ƒ`ƒFƒbƒN‚µAÅ‚à—Dæ‚·‚éƒpƒX‚ð•Ô‚µ‚Ü‚·B g_vbslib_setting_paths ”z—ñ‚ÌŒã‚Ì•û‚Ì—v‘f‚Ù‚Ç—Dæ‚µ‚Ü‚·B - "MySetting.xml" - setting_path - setting ƒtƒHƒ‹ƒ_[‚Ì‚Q‚Â‚É MySetting.xml ƒtƒ@ƒCƒ‹‚ª‚ ‚é‚Æ‚«A—Dæ‚·‚é•û‚̃tƒ@ƒCƒ‹‚̃pƒX‚ðsetting_path •Ï”‚É‘ã“ü‚µ‚Ä‚¢‚Ü‚·B - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Setting.vbs - - T_Setting_getExistSettingPath - - ¨ vbs_inc_sub.vbs - - - - - - - - g_vbslib_setting_paths - - - Dim g_vbslib_setting_paths( ) as string - - ‚̃pƒX‚Ì”z—ñB - - setting ƒtƒHƒ‹ƒ_[ - - g_vbslib_ver_folder + "setting_default" - env("%myhome_mem%\prog\scriptlib\setting_mem") - env(""%APPDATA%\Scripts"") - g_vbslib_ver_folder + "setting" - - g_vbslib_ver_folder - - ”z—ñ‚Ì—v‘f‚́AˆÈ‰º‚Ì’Ê‚è‚Å‚·B - %myhome_mem% ‚ª’è‹`‚³‚ê‚Ä‚¢‚éê‡‚Ì‚Ý - - env - - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - ŠÖ˜A - - ¨ Setting_getExistSettingPath - - setting ƒtƒHƒ‹ƒ_[‚É‘¶Ý‚·‚é‚P‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - - - - - - - - Function Setting_getIncludePathes( IncludeType as string ) as array of string - - Setting_getIncludePathes - scriptlib ƒtƒHƒ‹ƒ_[‚Ì’†‚ŁAƒCƒ“ƒNƒ‹[ƒh‚·‚é .vbs ƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ‚ð•Ô‚µ‚Ü‚·B - - - Function Setting_getIncludePathes( IncludeType ) - Setting_getIncludePathes = Array(_ - "vbslib.vbs", "sample_lib.vbs" ) - - End Function - - - (src) - - - ¨ vbs_inc - - scriptlib ƒtƒHƒ‹ƒ_‚É‹¤’ʂȊ‹«•Ï”‚̐ݒè‚àASetting_getIncludePathes ŠÖ”‚Ì’†‚ōs‚¢‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ŠÖ˜A - scriptlib\vbslib\setting\vbs_inc_setting.vbs - - - '--- start of parameters for vbslib include ------------------------------- g_Vers.Add "IncludeType", "TypeA" - - IncludeType ‚͒ʏí Empty ‚Å‚·‚ªA‰º‹L‚̂悤‚É scriptlib ƒwƒbƒ_‚ŁAIncludeType •Ï”‚Ì’l‚ðÝ’è‚·‚é‚ƁAIncludeType ˆø”‚É’l‚ª“n‚è‚Ü‚·B ‚±‚Ì’l‚ɉž‚¶‚āAƒCƒ“ƒNƒ‹[ƒh‚·‚郂ƒWƒ…[ƒ‹ - ‚ð‘I‘ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚· - - - Function Setting_getIncludePathes( IncludeType ) If IncludeType = "TypeA" Then - Setting_getIncludePathes = Array( "vbslib.vbs", "sample_lib.vbs" ) - End If - End Function - - IncludeType ˆø” i‹Œ g_IncludeTypej - - ¨ ƒfƒtƒHƒ‹ƒg‚̊‹«•Ï”‚̐ݒèƒ^ƒCƒ~ƒ“ƒO - - ƒTƒ“ƒvƒ‹ - ŽQl - ƒpƒX‚́Avbs_inc_sub.vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_‚©‚ç‚Ì‘Š‘΃pƒX‚Å‚·Bvbc_inc_400.vbs ƒtƒ@ƒCƒ‹‚́AŽw’肵‚È‚­‚Ä‚àƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚Ü‚·B - - ¨ Setting_getIncludePathes - - ƒR[ƒ‹ƒcƒŠ[ - vbslib.vbs - sample_lib.vbs - TypeA - TypeA - - ¨ include - - ŽQl - - ¨ IncludeType ˆø” i‹Œ g_IncludeTypej - - ƒ\[ƒX - - ¨ vbs_inc_setting.vbs - - - - - - - - Setting_onAfterInclude - - - Sub Setting_onAfterInclude() - - ‚·‚ׂẴ‚ƒWƒ…[ƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½Œã‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”B - - ¨ ˆ—ƒtƒ[ - - ‚ ‚éƒtƒHƒ‹ƒ_‚Ì’†iscriptlib ƒtƒHƒ‹ƒ_‚²‚Ɓj‚É‚ ‚é‚·‚ׂẴXƒNƒŠƒvƒg‚ÌŠù’è‚̊‹«•Ï”‚ðÝ’è‚·‚邱‚Æ‚È‚Ç‚ðs‚¢‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ƒR[ƒ‹ƒcƒŠ[ - - Setting_getIncludePathes - - ‚Å•Ô‚³‚ê‚é .vbs ƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½Œã‚ōs‚¤ˆ—‚ðA - Setting_onAfterInclude ŠÖ”‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B Setting_onAfterInclude ŠÖ”‚Ì’†‚ł́A.vbs ƒtƒ@ƒCƒ‹‚Å’è‹`‚³‚ê‚Ä‚¢‚éŠÖ”‚È‚Ç‚ðŒÄ‚яo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ”ñ„§ - Setting_onAfterInclude ‚ðŽg‚¤‚ƈÖٓI‚ɏˆ—‚ªs‚í‚ê‚é‚̂ŁA„§‚³‚ê‚Ü‚¹‚ñB - - ¨ TestCommon.vbs - - - include - - ‚Æ - - SearchParent - - ‚ðŽg‚Á‚āA‚ ‚éƒtƒHƒ‹ƒ_[iscriptlib ƒtƒHƒ‹ƒ_[‚ª‚ ‚é - ƒtƒHƒ‹ƒ_[‚Ȃǁj‚Ì’†‚É‚ ‚é‚·‚ׂẴXƒNƒŠƒvƒg‚É‹¤’ʂ̏ˆ—‚ðAƒCƒ“ƒNƒ‹[ƒh‚µ‚āAŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - - - Sub main() include SearchParent( "Common.vbs" ) - Common_main - End Sub - - ƒƒCƒ“.vbs - Common.vbs - - - Sub Common_main() '// Setting_onAfterInclude ŠÖ”‚Ì‘ã‚í‚è set_ "VAR", "value" - End Sub - - ‘ã‚í‚è‚É - ŽQl - - - - - - - - Setting_openFolder - - - Sub Setting_openFolder( Path ) - - ƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚·B - ‚±‚̊֐”‚Ì“à—e‚ð•Ï‚¦‚邱‚ƂŁAƒGƒNƒXƒvƒ[ƒ‰[ˆÈŠO‚̃tƒ@ƒCƒ‰[‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·BPath ˆø”‚Ƀtƒ@ƒCƒ‹‚̃pƒX‚ª“n‚³‚ꂽ‚Æ‚«‚́A‚»‚̃tƒ@ƒCƒ‹‚ð‘I‘ðó‘Ô‚É‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ ƒGƒfƒBƒ^[“™‚̕ύX isetting ƒtƒHƒ‹ƒ_[j - - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - yˆø”z - Path - ƒtƒHƒ‹ƒ_[A‚Ü‚½‚̓tƒ@ƒCƒ‹‚̃pƒX - ŽQl - - (src) - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - ¨ Diff ƒc[ƒ‹‚È‚Ç‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - - ŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - Setting_openFolder ŠÖ”‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚ɁAƒtƒHƒ‹ƒ_[‚ðŠJ‚©‚¸‚ɁAŠJ‚±‚¤‚Æ‚µ‚½ƒtƒHƒ‹ƒ_[‚̃pƒX‚ð echo •\Ž¦‚·‚é‚ɂ́A‰º‹L‚̃R[ƒh‚̂悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - include SearchParent( "scriptlib\vbslib\ArgsLog\SettingForTest_pre.vbs" ) include SearchParent( "scriptlib\vbslib\ArgsLog\SettingForTest.vbs" ) - SetVar "Setting_openFolder", "echo" '// echo o—͂ɕύX‚·‚é - - Setting_openFolder "FolderA" - - ŽQl - - ¨ ŠÖ”’è‹`‚̕ύX•û–@ - - - ¨ scriptlib\vbslib\ArgsLog\SettingForTest_pre.vbs - - - ¨ scriptlib\vbslib\ArgsLog\SettingForTest.vbs - - - - - - - - - - Function Setting_getEditorCmdLine( i as integer or string ) as string - - ƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ðŠJ‚­ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - Setting_getEditorCmdLine - yˆø”z - i - •Ô‚è’l - ƒpƒXi•¶Žš—ñjA‚Ü‚½‚́AƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÌŽí—ށi”’lj - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“•¶Žš—ñ, i ‚ɑΉž‚µ‚Ä‚¢‚È‚¢‚Æ‚«‚Í Empty - ƒeƒLƒXƒgƒGƒfƒBƒ^‚̃pƒX‚Ì‚Ý•Ô‚·B "" ‚ň͂܂Ȃ¢‚±‚Æ - i=0 ‚Ì‚Æ‚« - - - C:\Windows\notepad.exe - - •Ô‚è’l‚Ì—áF - •Ô‚è’l‚Ì—áF - - - "C:\Windows\notepad.exe" "%1" - - ŠJ‚­ƒpƒX‚ð %1 ‚É‚µ‚½AƒeƒLƒXƒgƒGƒfƒBƒ^‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - i=1 ‚Ì‚Æ‚« - ŠJ‚­ƒpƒX‚ð %1AŠJ‚¢‚½Œã‚ÉŒŸõ‚·‚éƒL[ƒ[ƒh‚ð %2 ‚É‚µ‚½AƒeƒLƒXƒgƒGƒfƒBƒ^‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B %2 ‚ɑΉž‚Å‚«‚È‚¢‚Æ‚«‚́A%1 ‚¾‚¯Žg‚Á‚½ƒRƒ}ƒ“ƒh - ƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - - - "C:\Program Files\search_open\search_open.exe" "%1#%2" - - •Ô‚è’l‚Ì—áF - i=3 ‚Ì‚Æ‚« - •Ô‚è’l‚Ì—áF - - - "C:\Windows\notepad.exe" "%1" - - - - "C:\Windows\notepad.exe" "%1" - - •Ô‚è’l‚Ì—áF - i=2 ‚Ì‚Æ‚« - •Ô‚è’l‚Ì—áF - - - "C:\Program Files\sakura\sakura.exe" -Y=%L "%1" - - ŠJ‚­ƒpƒX‚ð %1AŠJ‚­s”ԍ†‚ð %L ‚É‚µ‚½AƒeƒLƒXƒgƒGƒfƒBƒ^‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B %L ‚ɑΉž‚Å‚«‚È‚¢‚Æ‚«‚́A%1 ‚¾‚¯Žg‚Á‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - i ‚ª•¶Žš—ñ‚Ì‚Æ‚« - i ‚́AŠJ‚±‚¤‚Æ‚·‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̐â‘Î/‘Š‘΃pƒX‚ƁAs”ԍ†A‚Ü‚½‚ÍŠJ‚¢‚½Œã‚ÉŒŸõ‚·‚éƒL[ƒ[ƒh‚Å‚ ‚é‚Æ‚µ‚āAŽÀÛ‚ÉŽÀs‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - ã‹LuŽg—pƒTƒ“ƒvƒ‹v‚ðŽQÆB - i ‚Ì—áF - - - C:\FolderA\FileA.txt - - s”ԍ†‚ðŠÜ‚Þ i ‚Ì—áF - - - C:\FolderA\FileA.txt(100) - - ƒL[ƒ[ƒh‚ðŠÜ‚Þ i ‚Ì—áF - - - C:\FolderA\FileA.txt#FuncA - - ŽQl - Žg—pƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_Open_1.vbs - - ŠÖ˜A - - ¨ ƒGƒfƒBƒ^[“™‚̕ύX isetting ƒtƒHƒ‹ƒ_[j - - - ¨ GetEditorCmdLine - - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ŽQl - - ¨ GetEditorCmdLine - - ‚̃\[ƒX - - ¨ GetEditorCmdLine - - ƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - - ArgsLog - - - ¨ _src\Test\tools\T_SyncFiles\SettingForTest.vbs - - Setting_getEditorCmdLine ŠÖ”‚Ì’†‚Å - ‚ðŒÄ‚яo‚·ƒXƒNƒŠƒvƒg‚ð - ŽQl - include iŠÖ”’è‹`‚ðã‘‚«j‚·‚é‚ƁAƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚±‚¤‚Æ‚µ‚½ƒtƒ@ƒCƒ‹‚̃pƒX‚ðAArgsLog.txt ‚É’Ç‹L‚·‚é‚悤‚É‚È‚è‚Ü‚·B ArgsLog.txt ‚Ì“à—e‚ð - ƒ`ƒFƒbƒN‚·‚ê‚΁AŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ª³‚µ‚¢‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚Å‚«‚Ü‚·B - - ¨ ŠÖ”’è‹`‚̕ύX•û–@ - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - - - - - - - - Function Setting_getDiffCmdLine( i as integer ) as string - - ƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚Ì”äŠriDiffj‚ðŽÀs‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̃eƒ“ƒvƒŒ[ƒg‚ð•Ô‚µ‚Ü‚·B - Setting_getDiffCmdLine - yˆø”z - i - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÌŽí—Þ - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“•¶Žš—ñ - Diff ‚̃pƒX‚Ì‚Ý•Ô‚·B "" ‚ň͂܂Ȃ¢‚±‚Æ - i=0 ‚Ì‚Æ‚« - - - C:\Program Files\Rekisa\Rekisa.exe - - —áF - —áF - - - "C:\Program Files\Rekisa\Rekisa.exe" "%1" "%2" - - ”äŠr‚·‚é‚Q‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2 ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - i=2 ‚Ì‚Æ‚« - ”äŠr‚·‚é‚R‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2, %3 ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - - - "C:\Program Files\Rekisa\Rekisa.exe" "%1" "%2" "%3" - - —áF - i=3 ‚Ì‚Æ‚« - - ¨ GetDiffCmdLine - - ŠÖ˜A - - ¨ Rekisa - ƒeƒLƒXƒg”äŠrƒc[ƒ‹ - - i=21 ‚Ì‚Æ‚« - - - "C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L -ActiveFile="%1" "%1" "%2" - - —áF - ”äŠr‚·‚é‚Q‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2 ‚É‚µ‚āA%1 ‚̍s”ԍ†‚ð%L ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - ”äŠr‚·‚é‚Q‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2 ‚É‚µ‚āA%2 ‚̍s”ԍ†‚ð%L ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - —áF - - - "C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L -ActiveFile="%2" "%1" "%2" - - i=22 ‚Ì‚Æ‚« - - - "C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L -ActiveFile="%1" "%1" "%2" "%3" - - —áF - ”äŠr‚·‚é‚R‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2, %3 ‚É‚µ‚āA%1 ‚̍s”ԍ†‚ð%L ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - i=31 ‚Ì‚Æ‚« - ”äŠr‚·‚é‚R‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2, %3 ‚É‚µ‚āA%2 ‚̍s”ԍ†‚ð%L ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - —áF - - - "C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L -ActiveFile="%2" "%1" "%2" "%3" - - i=32 ‚Ì‚Æ‚« - - - "C:\Program Files\Rekisa\Rekisa.exe" -Y+1=%L -ActiveFile="%2" "%1" "%2" "%3" - - —áF - ”äŠr‚·‚é‚R‚‚̃tƒ@ƒCƒ‹‚̃pƒX‚ð %1, %2, %3 ‚É‚µ‚āA%3 ‚̍s”ԍ†‚ð%L ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - i=33 ‚Ì‚Æ‚« - - - "C:\Program Files\WinMerge\WinMergeU.exe" "%1" "%2" - - —áF - - ¨ ƒGƒfƒBƒ^[“™‚̕ύX isetting ƒtƒHƒ‹ƒ_[j - - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ŽQl - Diff‚ðŽÀs‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚· - Diff ƒc[ƒ‹‚È‚Ç‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - - ArgsLog - - - ¨ _src\Test\tools\T_SyncFiles\SettingForTest.vbs - - Setting_getDiffCmdLine ŠÖ”‚Ì’†‚Å - ‚ðŒÄ‚яo‚·ƒXƒNƒŠƒvƒg‚ð include iŠÖ”’è‹` - ŽQl - ‚ðã‘‚«j‚·‚é‚ƁADiff ƒc[ƒ‹‚ÅŠJ‚±‚¤‚Æ‚µ‚½ƒtƒ@ƒCƒ‹‚̃pƒX‚ðAArgsLog.txt ‚É’Ç‹L‚·‚é‚悤‚É‚È‚è‚Ü‚·B ArgsLog.txt ‚Ì“à—e‚ðƒ`ƒFƒbƒN‚·‚ê‚΁AŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ª³‚µ‚¢‚©‚Ç‚¤‚©‚ð - ƒ`ƒFƒbƒN‚Å‚«‚Ü‚·B - - ¨ ŠÖ”’è‹`‚̕ύX•û–@ - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - ¨ _src\Test\tools\T_SyncFiles\SettingForTest_pre.vbs - - —áF - - - include SearchParent( "_src\Test\tools\T_SyncFiles\SettingForTest_pre.vbs" ) include SearchParent( "_src\Test\tools\T_SyncFiles\SettingForTest.vbs" ) - SetVar "Setting_getDiffCmdLine", "ArgsLog" '// ƒƒO‚Ö‚Ì‹L˜^‚ɕύX‚·‚é - - start GetDiffCmdLine( "file1.txt", "file2.txt" ) - - AssertFC "ArgsLog.txt", "Files\DiffAnswer.txt" '// ƒƒO‚ðƒ`ƒFƒbƒN‚·‚é - - ‰º‹L‚Ì vbs ‚́Ag_Setting_getEditorCmdLine ‚Ȃǂ̊֐”’è‹`‚àã‘‚«‚µ‚āAArgsLog.txt ‚É’Ç‹L‚µ‚Ü‚·B - - ¨ TortoiseMerge - ƒeƒLƒXƒg”äŠrƒc[ƒ‹ - - - - - - - - Setting_getFolderDiffCmdLine - - - Function Setting_getFolderDiffCmdLine( i as integer ) as string - - ƒtƒHƒ‹ƒ_[‚Ì”äŠriDiffj‚ðŽÀs‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̃eƒ“ƒvƒŒ[ƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - i - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÌŽí—Þ - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“•¶Žš—ñ - Diff ‚̃pƒX‚Ì‚Ý•Ô‚·B "" ‚ň͂܂Ȃ¢‚±‚Æ - i=0 ‚Ì‚Æ‚« - - - C:\Program Files\DF\DF.exe - - —áF - —áF - - - "C:\Program Files\DF\DF.exe" "%1" "%2" - - ”äŠr‚·‚é‚Q‚‚̃tƒHƒ‹ƒ_[‚̃pƒX‚ð %1, %2 ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - i=2 ‚Ì‚Æ‚« - ”äŠr‚·‚é‚R‚‚̃tƒHƒ‹ƒ_[‚̃pƒX‚ð %1, %2, %3 ‚É‚µ‚½ADiff ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚·B - - - "C:\Program Files\DF\DF.exe" "%1" "%2" "%3" - - —áF - i=3 ‚Ì‚Æ‚« - - ¨ ƒGƒfƒBƒ^[“™‚̕ύX isetting ƒtƒHƒ‹ƒ_[j - - ŽQl - - - - - - - Setting_getAdminUserName - %APPDATA%\Scripts\account_setting.vbsƒtƒ@ƒCƒ‹‚ðV‹Kì¬‚µ‚ĉº‹L‚̂悤‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - - - Function Setting_getAdminUserName() Setting_getAdminUserName = "Administrator" - End Function - - - - Function Setting_getAdminUserName() as string - - ŠÇ—ŽÒ‚̃†[ƒU[–¼‚ð•Ô‚µ‚Ü‚·B - Windows XP ‚ÅŽ©•ª‚ªŠÇ—ŽÒ‚Å‚ ‚Á‚½‚èAWindows 7 ‚ÅŠÇ—ŽÒ‚É‚È‚ê‚郆[ƒU‚Å‚ ‚ê‚΁AŠÖ”’è‹`‚Ì‹Lq‚Í•s—v‚Å‚·B - ŽQl - - ¨ setting ƒtƒHƒ‹ƒ_‚É“ü‚ê‚éŠÖ”‚̍ì‚è•û - - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ŠÇ—ŽÒ‚̃†[ƒU[–¼‚́A - - g_admin - - = 1 ‚É‚µ‚½‚Æ‚«‚ÉŽg‚í‚ê‚Ü‚·B - - - - - - - Setting_buildTestPrompt - - - Sub Setting_buildTestPrompt( Prompt as TestPrompt ) - - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̐ݒè‚ðs‚¢‚Ü‚·B - - (src) - - - ¨ Ý’èƒtƒ@ƒCƒ‹ TestPrompt_Setting.vbs - - - ¨ setting ƒtƒHƒ‹ƒ_‚É“ü‚ê‚éŠÖ”‚̍ì‚è•û - - ŽQl - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - yˆø”z - Prompt - Ý’è iTestPrompt_Setting.vbs ‚̃Tƒ“ƒvƒ‹‚ðŽQÆj - - ¨ ƒeƒXƒgEƒvƒƒ“ƒvƒg (Test.vbs) - - - ¨ Tests::AddTestScriptAuto - - ƒvƒƒ“ƒvƒg‚̃ƒjƒ…[€–Ú‚ðÝ’肵‚Ü‚·B - ƒeƒXƒgEƒXƒNƒŠƒvƒgiTest.vbsj‚ð“o˜^‚µ‚Ü‚·B - - - - - - - Setting_get7zExePath - - - Function Setting_get7zExePath() as string - - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - 7-Zip - - ‚Ì 7z.exe ‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - - - - - - Setting_getTemp - - - Sub Setting_getTemp( out_FolderPath as string, out_LimitDate as Date ) - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒ@ƒCƒ‹‚âƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[‚̐ݒè’l‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - out_FolderPath - out_LimitDate - io—́j ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚̃pƒX - io—́j •Û‘¶ŠúŒÀ - ƒTƒ“ƒvƒ‹F - - - Sub Setting_getTemp( out_FolderPath, out_LimitDate ) out_FolderPath = env( "%Temp%\Report" ) - out_LimitDate = DateAdd( "d", -2, Now() ) '// "d" = day - End Sub - - - DateAdd - - ‰º‹L‚́ASetting_getTemp ‚ð’è‹`‚µ‚Ä‚¢‚È‚¢‚Æ‚«‚Æ“¯‚¶Ý’è‚Å‚· - g_TempFile - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚̐ݒè‚ÉŠÖ‚·‚éƒIƒuƒWƒFƒNƒgBƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚É•Û‘¶‚·‚é‚Ü‚Å‚Í Empty ‚Å‚·B - - - Dim g_TempFile as TempFileClass - - Setting_getTemp ‚́Ag_TempFile = Empty ‚Ì‚Æ‚«‚ɌĂ΂êAŒÄ‚яo‚µ‚½‚çAg_TempFile.m_FolderPath ‚É out_FolderPath ‚ɏo—Í‚µ‚½ƒpƒX‚ª“ü‚è‚Ü‚·B - - env - - out_FolderPath ‚â out_LimitDate ‚É’l‚ð‘ã“ü‚µ‚È‚©‚Á‚½‚çAƒfƒtƒHƒ‹ƒg’l‚ªŽg‚í‚ê‚Ü‚·B - out_LimitDate ˆø”‚ɏo—Í‚µ‚½“úŽž‚æ‚è‘O‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðŽ‚Âƒtƒ@ƒCƒ‹‚́AGetTempPath ‚ō폜‚³‚ê‚Ü‚·B ŽQl - - ¨ “ú•t‚Ì”äŠr - - - ¨ GetTempPath - - - ¨ setting ƒtƒHƒ‹ƒ_‚É“ü‚ê‚éŠÖ”‚̍ì‚è•û - - ŽQl - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒ@ƒCƒ‹‚̃pƒX‚ð•Ô‚· - - - - - - - Setting_getDiff3Path - - - Function Setting_getDiff3Path() as string - - ‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - GetExistPathInSetting - - diff3.exe ‚ª‚È‚¢‚ƁA - ‚É‚æ‚éŒx‚ª‚³‚ê‚Ü‚·B - ‚±‚̊֐”‚Ì’è‹`‚́Aƒ†[ƒU[‚ª•ÏX‚Å‚«‚Ü‚·B - ’è‹`ƒTƒ“ƒvƒ‹ - - - Function Setting_getDiff3Path() Setting_getDiff3Path = GetExistPathInSetting( Array( _ - g_vbslib_folder +"GPL\GnuWin\bin\diff3.exe" ), _ - "Setting_getDiff3Path" ) - End Function - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - diff3 (Diffutils) - - - - - - - - Setting_getPerlPath - - - Function Setting_getPerlPath() as string - - ƒXƒNƒŠƒvƒg‚̃zƒXƒg(.exe) ‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - Perl - - - GetExistPathInSetting - - Perl ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚ƁA - ‚É‚æ‚éŒx‚ª‚³‚ê‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - ‚±‚̊֐”‚Ì’è‹`‚́Aƒ†[ƒU[‚ª•ÏX‚Å‚«‚Ü‚·B - ’è‹`ƒTƒ“ƒvƒ‹ - - - Function Setting_getPerlPath() Setting_getPerlPath = GetExistPathInSetting( Array( _ - g_vbslib_folder +"perl\bin\perl.exe", _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\perl-strawberry-perl\perl\bin\perl.exe" ), _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles(x86)%\perl-strawberry-perl\perl\bin\perl.exe" ) ), _ - "Setting_getPerlPath" ) - End Function - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - - - - - - Setting_getNaturalDocsPerlPath - - - Function Setting_getNaturalDocsPerlPath() as string - - ‚Ì–{‘́iPerl ƒXƒNƒŠƒvƒgj‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - - GetExistPathInSetting - - NaturalDocs ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚ƁA - ‚É‚æ‚éŒx‚ª‚³‚ê‚Ü‚·B - ’è‹`ƒTƒ“ƒvƒ‹ - - - Function Setting_getNaturalDocsPerlPath() Setting_getNaturalDocsPerlPath = GetExistPathInSetting( Array( _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\NaturalDocs\NaturalDocs" ), _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles(x86)%\NaturalDocs\NaturalDocs" ) ), _ - "Setting_getNaturalDocsPerlPath" ) - End Function - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - Natural Docs - - ‚±‚̊֐”‚Ì’è‹`‚́Aƒ†[ƒU[‚ª•ÏX‚Å‚«‚Ü‚·B - - - - - - - Setting_getDoxygenPath - - - Function Setting_getNaturalDocsPerlPath() as string - - doxygen ‚̃tƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - - GetExistPathInSetting - - doxygen ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚ƁA - ‚É‚æ‚éŒx‚ª‚³‚ê‚Ü‚·B - ’è‹`ƒTƒ“ƒvƒ‹ - - - Function Setting_getDoxygenPath() Setting_getDoxygenPath = GetExistPathInSetting( Array( _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\doxygen" ), _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles(x86)%\doxygen" ) ), _ - "Setting_getDoxygenPath" ) - End Function - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - ‚±‚̊֐”‚Ì’è‹`‚́Aƒ†[ƒU[‚ª•ÏX‚Å‚«‚Ü‚·B - - - - - - - Setting_getSnapNotePath - - - Function Setting_getSnapNotePath() as string - - Snap Note ‚Ì–{‘̂̃pƒX‚ð•Ô‚µ‚Ü‚·B - - [ e: setting ƒtƒHƒ‹ƒ_[ ] - - - GetExistPathInSetting - - Snap Note ‚ªŒ©‚‚©‚ç‚È‚¢‚ƁA - ‚É‚æ‚éŒx‚ª‚³‚ê‚Ü‚·B - ’è‹`ƒTƒ“ƒvƒ‹ - - - Function Setting_getSnapNotePath() Setting_getSnapNotePath = GetExistPathInSetting( Array( _ - g_sh.ExpandEnvironmentStrings( "%ProgramFiles%\Snap Note\Snap Note.exe" ) ), _ - "Setting_getSnapNotePath" ) - End Function - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - ‚±‚̊֐”‚Ì’è‹`‚́Aƒ†[ƒU[‚ª•ÏX‚Å‚«‚Ü‚·B - - - - - - - ‚»‚Ì‘¼ - - ¨ g_Vers - - - - - - - - ƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX - - ¨ input - - - ¨ echo - - - ¨ pause - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgA‚Ü‚½‚̓EƒBƒ“ƒhƒE‚ɃƒbƒZ[ƒW‚ð•\Ž¦‚µ‚Ü‚·B - Enter ƒL[‚ð‰Ÿ‚·‚Ü‚Å‘Ò‚¿‚Ü‚·B - ƒvƒƒ“ƒvƒg‚ð•\Ž¦‚µAƒ†[ƒU‚©‚ç‚̃L[ƒ{[ƒh“ü—Í‚ð‘Ò‚¿‚Ü‚·B - - ¨ SendKeys - - ƒL[ƒ{[ƒh“ü—Í‚ðƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚µ‚Ü‚·B - ‘¼‚É‚à‚ ‚è‚Ü‚·B¶‚̃cƒŠ[‚©‚ç‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ Play - - - ¨ SystemSound - - ‰¹Šyƒtƒ@ƒCƒ‹‚âŒø‰Ê‰¹ƒtƒ@ƒCƒ‹‚ð–‚炵‚Ü‚·B - ƒRƒ“ƒgƒ[ƒ‹ƒpƒlƒ‹‚ɐݒ肳‚ê‚Ä‚¢‚éŒø‰Ê‰¹‚ð–‚炵‚Ü‚·B - ƒeƒXƒg - - ¨ ƒ†[ƒUƒCƒ“ƒ^[ƒtƒF[ƒX‚̃eƒXƒg - - - ¨ InputCommand - - ‚É“ü‚è‚Ü‚·B - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - - - - - - - echo - - - Function echo( Message as variant ) as string - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgA‚Ü‚½‚̓EƒBƒ“ƒhƒE‚ɃƒbƒZ[ƒW‚ð•\Ž¦‚µ‚Ü‚·B - yˆø”z - Message - •\Ž¦‚·‚é“à—eA‚Ü‚½‚̓IƒuƒWƒFƒNƒg - - - echo "‚Í‚ë[" echo 1+1 - - ƒTƒ“ƒvƒ‹F - Message ‚ɃIƒuƒWƒFƒNƒg‚ðŽw’肵‚½ê‡AValue ƒvƒƒpƒeƒB‚ð•\Ž¦‚µ‚Ü‚·BŽQl - - - Class ClassX Public Property Get Value() - - ŠÖ˜A - - ¨ echo_r - - •Ô‚è’l - •\Ž¦‚µ‚½“à—ei•¶Žš—ñj - - ¨ echo_flush - - - ¨ EchoOff - - - ¨ WScript::Echo - - ‚ª‚ ‚é‚Æ‚«‚́Ao—Í‚µ‚Ü‚¹‚ñB - ƒTƒ“ƒvƒ‹F ƒtƒ@ƒCƒ‹‚ƃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì—¼•û‚ɏo—Í‚·‚é - - - Dim out : Set out = OpenForWrite( "_out.txt", Empty ) out.WriteLine echo( "‚Í‚ë[" ) - - - ¨ GetEchoStr - - - ¨ T_Var.vbs # T_LoadEnvVars - - ƒeƒXƒg - - g_CommandPrompt - - ‚ŁAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ð•\Ž¦‚µ‚Ä‚¢‚é‚Æ‚«‚́AƒRƒ}ƒ“ƒhE - ƒvƒƒ“ƒvƒg‚Ì’†‚ɁA‚»‚¤‚Å‚Í‚È‚¢‚Æ‚«‚́AƒEƒCƒ“ƒhƒE‚É•\Ž¦‚µ‚Ü‚·B - echo ‚́A - - EchoOff ƒIƒuƒWƒFƒNƒg - - ‚ðŽg‚Á‚Ä‚¢‚é‚Æ‚«‚́ATest_logs.txt ƒtƒ@ƒCƒ‹‚É‚ào—Í‚µ‚Ü‚·B - - ƒeƒXƒgEƒvƒƒ“ƒvƒg (Test.vbs) - - EchoOff ƒIƒuƒWƒFƒNƒg‚ª‚ ‚é‚Æ‚«‚Å‚ào—Í‚µ‚½‚¢‚Æ‚«‚́Aecho_v ‚ðŽg‚¤‚©A•W€o—Í‚µ‚Ä‚­‚¾‚³‚¢B - —áFecho_r "text", "" - ¡‚Ü‚Å echo ‚µ‚½“à—e‚ðƒEƒBƒ“ƒhƒE‚Å•\Ž¦‚µ‚Ü‚·B - echo ‚ŏo—Í‚µ‚È‚¢‚悤‚É‚µ‚Ü‚·B - •W€o—Í‚©ƒtƒ@ƒCƒ‹‚ɁA•¶Žš—ñ‚ðo—Í‚µ‚Ü‚·B - VBScript / WSH ‚Ì•W€“I‚È•\Ž¦ŠÖ”B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - ¨ GetEchoStr - - Message ‚ð•\Ž¦‰Â”\‚È•¶Žš—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - - Set obj = new ClassX echo obj '// obj.xml ƒvƒƒpƒeƒB‚ð•\Ž¦‚·‚é - - ƒTƒ“ƒvƒ‹F - - - ‚Í‚ë[2 - - ŽÀsŒ‹‰ÊF - - - Dim a a = 5 - echo "a = "& a - - - - a = 5 - - ŽÀsŒ‹‰ÊF - ƒTƒ“ƒvƒ‹F - ŽÀsŒ‹‰ÊF - - - –¼‘O‚́A‘¾˜Y‚Å‚·B - - - - Dim name name = "‘¾˜Y" - echo "–¼‘O‚́A"+ name +"‚Å‚·B" - - ƒTƒ“ƒvƒ‹F - ƒTƒ“ƒvƒ‹F - - - Dim name name = input( "‚ ‚È‚½‚Ì–¼‘O‚́H>" ) - echo name +"‚³‚ñ‚Å‚·‚ˁB" - - ŽÀsŒ‹‰ÊF - - - ‚ ‚È‚½‚Ì–¼‘O‚Í >ŽŸ˜YŽŸ˜Y‚³‚ñ‚Å‚·‚ˁB - - - input - - echo - - ¨ echo o—Í‚µ‚āA‚»‚Ì“à—e‚ª³‚µ‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - echo_flush - - - Sub echo_flush() - - - (src) - - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚ð•\Ž¦‚µ‚Ä‚¢‚È‚¢‚Æ‚«A¡‚Ü‚Å echo ‚µ‚½•¶Žš—ñ‚ðƒEƒBƒ“ƒhƒE‚Å•\Ž¦‚µ‚Ü‚·B - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚ð•\Ž¦‚µ‚Ä‚¢‚é‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñBecho_flush ‚ðŒÄ‚яo‚³‚È‚­‚Ä‚àAƒvƒƒOƒ‰ƒ€I—¹ŽžApauseAinput ŽžA‰½“x‚à echo ‚µ‚½‚Æ‚«‚́A - ƒEƒCƒ“ƒhƒE‚ÉŽ©“®“I‚É•\Ž¦‚µ‚Ü‚·B - ŽQl - - ¨ g_CommandPrompt - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚© - - - echo "’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B" echo_flush - - ƒTƒ“ƒvƒ‹F - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - - - - - echo_line - - - Sub echo_line() - - - (src) - - …•½ü‚ð•\Ž¦‚µ‚Ü‚·B - - - ------------------------------------------------------------ - - •\Ž¦“à—eF - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - - - - - EchoOff ƒIƒuƒWƒFƒNƒg - - - Function FuncA( Param1 ) echo ">FuncA " & Param1 - Dim ec : Set ec = new EchoOff - - echo "SubA" - - ec = Empty - echo FuncA - End Sub - - EchoOff ƒIƒuƒWƒFƒNƒg‚ª‚ ‚é‚Æ‚«‚́A - - echo - - ‚ŏo—Í‚µ‚Ü‚¹‚ñB - ŒÄ‚яo‚µ‚½ŠÖ”–¼‚ð•\Ž¦‚·‚é - EchoOff ƒIƒuƒWƒFƒNƒg‚̍폜‚ŁA•\Ž¦‚𕜊ˆ‚µ‚Ü‚·Bec=Empty ‚µ‚È‚¢ê‡‚Å‚àAFuncA ‚©‚ç•Ô‚é‚ÆŽ©“®“I‚É•œŠˆ‚µ‚Ü‚·B - iƒfƒXƒgƒ‰ƒNƒ^‚É‚æ‚邽‚߁j - ’ʏíA‰º‹L‚̂悤‚ÉŽg‚¢‚Ü‚·B - - ¨ DisableEchoOff - - ŠÖ˜A - EchoOff ƒIƒuƒWƒFƒNƒg‚ª‚ ‚é‚Æ‚«‚ɁA’·‚¢ˆ—‚̐i’»ó‹µ‚ð•\Ž¦‚µ‚½‚¢‚Æ‚«‚́Aecho_r ‚Å•W€o—͂֏o—Í‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ echo_r - - EchoOff - echo ‚Å•\Ž¦‚µ‚È‚¢‚悤‚É‚·‚é - ‚±‚±‚Ì echo ‚Å‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñB ŽÀÛ‚́AFuncA ŠÖ”‚©‚çŒÄ‚яo‚·ŠÖ”‚Ì’†‚©‚çŒÄ‚΂ê‚é echo ‚É‚æ‚é•\Ž¦‚ð—}§‚µ‚Ü‚· - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ vbslib_mini.vbs - - - - - - - - g_EchoObj.m_bEchoOff - - - Dim g_EchoObj.m_bEchoOff as boolean - - ‚É‚æ‚Á‚ďo—Í‚µ‚È‚¢‚©‚Ç‚¤‚©B - ƒ\[ƒX - - ¨ vbslib.vbs - - - EchoOff ƒIƒuƒWƒFƒNƒg - - - - - - - - DisableEchoOff - - - Sub DisableEchoOff() - - EchoOff ƒIƒuƒWƒFƒNƒg‚ª‚ ‚Á‚Ä‚àAecho o—Í‚·‚é‚悤‚É‚µ‚Ü‚·B - - ¨ EchoOff ƒIƒuƒWƒFƒNƒg - - ŠÖ˜A - - - Sub main() DisableEchoOff - : - - ƒTƒ“ƒvƒ‹F - - (src) - - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - - - - - echo_v - - - Function echo_v( Message as string ) as string - - •¶Žš—ñ‚ðo—Í‚µ‚Ü‚·B ƒtƒBƒ‹ƒ^ƒŠƒ“ƒO‚³‚ê‚Ü‚¹‚ñB - yˆø”z - Message - o—Í‚·‚é“à—e‚Ì•¶Žš—ñi•¶Žš—ñˆÈŠO‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñj - ƒtƒ@ƒCƒ‹F - - - vbs_inc_sub.vbs - - ƒTƒ“ƒvƒ‹ - - - If g_verbose Then echo_v "ˆ—‚Í‚P‚‚às‚í‚ê‚Ü‚¹‚ñ‚Å‚µ‚½B" - - g_verbose ‚ðŽg‚¤‚Æ‚«‚́Aecho_v ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B - - EchoOff ƒIƒuƒWƒFƒNƒg - - ‚̉e‹¿‚ðŽó‚¯‚Ü‚¹‚ñBi ƒtƒBƒ‹ƒ^ƒŠƒ“ƒO‚³‚ê‚Ü‚¹‚ñj - ƒGƒ‰[ƒƒbƒZ[ƒW‚́Aecho ‚Å‚Í‚È‚­ echo_v ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B - ƒeƒXƒg - - ¨ T_Verbose.vbs # [T_Verbose] - - ŠÖ˜A - - ¨ g_verbose - - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - - - - - - - echo_r - - - Function echo_r( Message as string, RedirectPath as string ) as string - - •W€o—Í‚©ƒtƒ@ƒCƒ‹‚ɁA•¶Žš—ñ‚ðo—Í‚µ‚Ü‚·B - yˆø”z - Message - RedirectPath - o—Í‚·‚é“à—e‚Ì•¶Žš—ñ‚Ȃǁiecho ‚Æ“¯‚¶j - o—͐æ‚̃tƒ@ƒCƒ‹ƒpƒXAEmpty ‚Ì‚Æ‚«‚͏o—Í‚µ‚È‚¢A""=•W€o—Í‚Ö - •Ô‚è’l - o—Í‚µ‚½“à—e‚Ì•¶Žš—ñ - - ¨ echo - - ŠÖ˜A - - - echo_r "ƒGƒ‰[", "" - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - Execute_Echo - - (src) - - - - Function Execute_Echo( ExpressionStr as string, Label as string ) as string - - Ž®‚Æ‚»‚ÌŒvŽZŒ‹‰Ê‚ð•\Ž¦‚µ‚Ü‚·B ƒfƒoƒbƒO—p‚Å‚·B - yˆø”z - ExpressionStr - Label - Ž®i•¶Žš—ñj - •\Ž¦“à—e‚̍ŏ‰‚É•\Ž¦‚·‚郉ƒxƒ‹ - •Ô‚è’l - Execute ‚É“n‚·ƒR[ƒh - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - ‘‚«‚©‚¯ - - - ¨ ƒEƒHƒbƒ` (WS, WD, WX) - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - - - - - - GetEchoStr - Message ‚ð•\Ž¦‰Â”\‚È•¶Žš—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - - Function GetEchoStr( Message as variant ) as string - - - (src) - - Message ‚ªƒIƒuƒWƒFƒNƒg‚̏ꍇA - Message ‚ª Dictionary ‚̏ꍇAƒL[‚ƃAƒCƒeƒ€‚Ì—¼•û‚𕶎š—ñ‚É‚µ‚Ü‚·B‚±‚Ì‚Æ‚«AƒAƒCƒeƒ€‚ðÄ‹A“I‚É GetEchoStr ‚É“n‚µ‚Ü‚·B - Message ‚ª”z—ñ‚Ü‚½‚Í ArrayClass ‚̏ꍇA‚·‚ׂĂ̗v‘f‚𕶎š—ñ‚É‚µ‚Ü‚·B - ƒeƒXƒg - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒTƒ“ƒvƒ‹F - - - s = GetEchoStr( object ) - - - ¨ T_Value.vbs - - - xml_sub ƒƒ\ƒbƒh - - ‚Ì•Ô‚è’l‚ð•Ô‚µ‚Ü‚·B - T_EchoStr - - - - - - - g_CustomEchoStrGenerators - - (src) - - - - Dim g_CustomEchoStrGenerators as dictionary of Function - - - - Function InitializeModule( ThisPath ) Set g_CustomEchoStrGenerators( "ClassA" ) = GetRef( "ClassA_xml_sub" ) - End Function - - Function ClassA_xml_sub( m as Object, Level as integer ) - ClassA_xml_sub = GetTab(Level)+ "<"+TypeName(m)+" Name='"+ XmlAttrA( m.Name ) +_ - "'/>"+ vbCRLF - End Function - - •\Ž¦‰Â”\‚È•¶Žš—ñ‚É•ÏŠ·‚·‚éŠÖ”‚ÌŽ«‘B - ƒTƒ“ƒvƒ‹ - - ¨ xml_sub ƒƒ\ƒbƒh (vbsool) - - ŽQl - - GetEchoStr - - ‚̈ø”‚ÉŽw’肵‚½ƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX‚ɁA - ŠÖ”‚Ì’†‚ŁAg_CustomEchoStrGenerators ‚Ɋ֐”‚ð“o˜^‚µ‚Ä‚­‚¾‚³‚¢B - - xml_sub ƒƒ\ƒbƒh - - ‚ð’è‹`‚Å‚«‚È‚¢‚Æ‚«‚́A - - InitializeModule - - “o˜^‚·‚éŠÖ”‚́Axml_sub ƒƒ\ƒbƒh‚Æ“¯‚¶Œ`Ž®‚Ì•¶Žš—ñ‚ð•Ô‚·‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - g_EchoCopyStream - Echo o—͂̃Rƒs[‚ð‰¡Žæ‚è‚·‚éƒXƒgƒŠ[ƒ€ ƒIƒuƒWƒFƒNƒgB - - - Dim g_EchoCopyStream as TextStream or Empty - - - TextStream - - Echo o—Í‚·‚é‚Æ‚«‚ɁAg_EchoCopyStream ‚ª Empty ‚Å‚Í‚È‚¢‚Æ‚«‚́A‚»‚̏o—Í“à—e‚ð WriteLine ƒƒ\ƒbƒh‚É“n‚µ‚Ü‚·B - - ¨ echo_v - - ŽŸ‚Ì Echo o—͂̃Rƒs[‚́A‰¡Žæ‚è‚Å‚«‚Ü‚·B - - ¨ echo - - ŽŸ‚Ì Echo o—͂̃Rƒs[‚́A‰¡Žæ‚è‚Å‚«‚Ü‚¹‚ñB - - ¨ echo_r - - - ¨ WScript::Echo - - - ¨ WScript::StdOut, StdErr - - ƒeƒXƒg - - ¨ T_Verbose.vbs - - - ¨ Test.vbs - - T_EchoCopyStream - - ¨ T_EchoCopyStream.vbs - - - - - - - - Pause - - - Sub Pause() - - - - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ɃƒbƒZ[ƒW‚ð•\Ž¦‚µ‚āAEnter ƒL[‚ð‰Ÿ‚·‚Ü‚Å‘Ò‚¿‚Ü‚·B - ƒƒbƒZ[ƒW‚Ì“à—eF - - vbslib.vbs (src) - - ƒTƒ“ƒvƒ‹F - - - echo "ˆ—‚ðŠJŽn‚µ‚Ü‚·B"If not ArgumentExist( "silent" ) Then Pause - - ƒfƒoƒbƒO‚·‚é‚Æ‚«‚́APause ‚æ‚è MsgBox ‚ðŽg‚Á‚½•û‚ª‚æ‚¢‚Å‚µ‚傤BPause ‚́AŽqƒvƒƒZƒX‚ª‚©‚ç‚ނƁAƒƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚È‚¢‰Â”\«‚ª‚ ‚邽‚ß‚Å‚·B - silent - "ˆ—‚ðŠJŽn‚µ‚Ü‚·B" - Pause - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - Pause - - ƒTƒ“ƒvƒ‹F - - vbslib_mini.vbs (src) - - - - - - - - pause2 - - - Sub pause2() - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðŽg‚¤ .vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚¾‚¯ pause ‚µ‚Ü‚·B - ƒvƒƒOƒ‰ƒ€‚̍Ōã‚Å pause2 ‚·‚é‚ƁAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ɏo—Í‚µ‚½“à—e‚ðŠm”F‚Å‚«‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - PauseForDebug - - - Sub PauseForDebug() - - ŒÄ‚яo‚µŒ³‚ªƒfƒoƒbƒO ƒ‚[ƒh‚Ì‚Æ‚«‚ɁAŽÀs‚ðˆêŽž’âŽ~‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - ŽŸ‚̂悤‚É•\Ž¦‚³‚ê‚Ĉꎞ’âŽ~‚µ‚Ü‚·B - - - a ‚Æ Enter : ¡Œã‚ÍŽ~‚ß‚È‚¢‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - a (Enter) ‚ª“ü—Í‚³‚ê‚é‚ƁA‚»‚êˆÈ~‚Ì PauseForDebug ‚ł͉½‚à‚µ‚Ü‚¹‚ñBƒfƒoƒbƒO ƒ‚[ƒh‚Ì“à—e‚́APauseForDebug ‚ðŒÄ‚яo‚·ƒ‚ƒWƒ…[ƒ‹‚É‚æ‚è‚Ü‚·B - - - - - - - - Input - - - Function Input( Prompt as string ) as String - - ƒvƒƒ“ƒvƒg‚ð•\Ž¦‚µAƒ†[ƒU‚©‚ç‚̃L[ƒ{[ƒh“ü—Í‚ð‘Ò‚¿‚Ü‚·B - yˆø”z - Prompt - •Ô‚è’l - •\Ž¦‚·‚é“à—e - ƒ†[ƒU‚ª“ü—Í‚µ‚½•¶Žš—ñA“ü—Í‚È‚µ="" - - ¨ vbslib.vbs#CUI - - - ¨ /GUI_input ƒIƒvƒVƒ‡ƒ“ - - - ¨ Ž©“®“ü—Í (set_input) - - - - Dim key key = Input( "ƒL[ƒ[ƒh‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ >" ) - echo key - - - ¨ ƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒXE\‘¢‘Ì - - ƒeƒXƒg - - ¨ [T_UI] - - - ¨ [T_ExecStdIn] - - - ¨ [T_ExecStdIn_300] - - ƒTƒ“ƒvƒ‹ - 254•¶ŽšˆÈã‚Í“ü—Í‚Å‚«‚Ü‚¹‚ñBƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç“ü—Í‚µ‚½ê‡A128•¶ŽšˆÈã‚ð“ü—Í‚µ‚½‚Æ‚«‚É“ú–{Œê•¶Žš‚ª“ü‚Á‚Ä - ‚¢‚é‚ƁA128•¶Žš–Ú•t‹ß‚Ì•¶Žš‚ªÁ‚¦‚Ä‚µ‚Ü‚¤‚½‚߁A InputBox ‚ðŽg‚Á‚čēü—Í‚ð—v‹‚µ‚Ü‚·B - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç“ü—Í‚µ‚½ê‡A128•¶Žš–Ú‚ª“ú–{Œê•¶Žš‚̏ꍇ‚́Acscript.exe ‚ªA - —áŠO‚𔭐¶‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B - ’·‚¢•¶Žš‚ð“ü—Í‚·‚é‚Æ‚«‚Ì’ˆÓ - ŠÖ˜A - Ctrl+C ‚ð‰Ÿ‚·‚ƁAƒvƒƒOƒ‰ƒ€‚Í’†’f‚µ‚Ü‚·BƒGƒ‰[‚É‚à‚È‚è‚Ü‚¹‚ñB - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - echo - - Input - - - key = Input( "`‚µ‚Ü‚·B[Y/N]" ) If key <> "y" and key <> "Y" Then Exit Sub ' ... Cancel - - ƒTƒ“ƒvƒ‹ Yes ‚Æ No ‚Ì‘I‘ð“ü—Í - - ¨ InputPath : ƒtƒ@ƒCƒ‹ƒpƒX‚ð“ü—Í‚·‚é - - - ¨ InputCommand : ƒƒjƒ…[‘I‘ð‚âê—pƒRƒ}ƒ“ƒh“ü—Í‚ð‚·‚éƒ‚[ƒh - - ŠÖ˜A - - ¨ vbslib_mini.vbs - - - ¨ vbslib.vbs - - ƒ\[ƒX - - - echo "1. ƒRƒ}ƒ“ƒhA‚ð‹N“®‚·‚é [CommandA]" echo "2. ƒRƒ}ƒ“ƒhB‚ð‹N“®‚·‚é [CommandB]" - echo "9. I—¹ [Exit]" - key = Trim( Input( "”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh–¼>" ) ) - Select Case key - Case "1": key = "CommandA" - Case "2": key = "CommandB" - End Select - If StrComp( key, "CommandA", 1 ) = 0 Then - : - ElseIf StrComp( key, "Exit", 1 ) = 0 Then - Exit Do - End If - - ƒTƒ“ƒvƒ‹ ƒƒjƒ…[ - - - - - - - input ‚â pause ŠÖ”‚ðŽg‚Á‚½ê‡AŽ©“®“I‚ɃL[“ü—Í‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ /set_input ƒIƒvƒVƒ‡ƒ“Ag_CUI.SetAutoKeysFromMainArg - - - ¨ set_input ŠÖ” - - Ž©“®“ü—Í (set_input) - - ¨ ƒVƒ‡[ƒgƒJƒbƒg‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚Æ‚«‚̃pƒ‰ƒ[ƒ^[ - - ŠÖ˜A - - - - - - - ŽŸ‚̂悤‚É‚·‚é‚ƁAinput ‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚ɁAŽ©“®“I‚É [1][Enter][2][Enter] ‚Æ“ü—Í‚µ‚Ü‚·B - set_input - - - Sub set_input( Keys as string ) - - - (src) - - - input - - ‚ц[ƒU[‚ª“ü—Í‚·‚é“à—e‚ðAŽw’肵‚½“à—e‚ÅŽ©“®“I‚É“ü—Í‚·‚é‚悤‚É‚µ‚Ü‚·B - - - g_CUI.m_Auto_KeyEnter = "."set_input "1.2." - - - ¨ g_CUI.SetAutoKeysFromMainArgA/set_input ƒIƒvƒVƒ‡ƒ“ - - ŽqƒvƒƒZƒX‚É set_input ‚Ì“à—e‚ðˆø‚«Œp‚®‚ɂ́A‰º‹L‚̎菇‚ð‚µ‚Ä‚­‚¾‚³‚¢B - ŠÖ˜A - ƒeƒXƒg - - ¨ [T_UI_Auto] Ž©“®“ü—͂̃eƒXƒg - - - - g_CUI.m_Auto_KeyEnter = "/"set_input "1/2/" - - Enter ‚ɑΉž‚·‚镶Žš‚ðƒsƒŠƒIƒh‚©‚ç•ÏX‚µ‚½‚¢‚Æ‚«‚́AŽŸ‚̂悤‚É‚µ‚Ü‚·B - - g_CUI.SetAutoKeysFromMainArg - - ƒIƒvƒVƒ‡ƒ“‚É‚æ‚éŽw’è‚Í–³Ž‹‚³‚ê‚Ü‚·B - ‚ðŒÄ‚яo‚µ‚½Œã‚ŁAset_input ‚ðŒÄ‚яo‚·‚ƁA/set_input - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - /set_input ƒIƒvƒVƒ‡ƒ“ - - ‚Æ SetAutoKeysFromMainArg ‚ŁA‚Ü‚½‚́A - - InputCommand - - ‚ðŽg‚¤ŽqƒvƒƒZƒX‚É g_InputCommand_Argsi‚̈ꕔj‚ð“n‚·‚±‚ƂŁA - ŽqƒvƒƒZƒX‚É“ü—Í“à—e‚ð“n‚µ‚Ü‚·B ƒTƒ“ƒvƒ‹ - - ¨ g_InputCommand_Args - - - - - - - - /set_input ƒIƒvƒVƒ‡ƒ“Ag_CUI.SetAutoKeysFromMainArg - cscript.exe ‚ð‹N“®‚µ‚½‚Æ‚«‚̃pƒ‰ƒ[ƒ^‚ɁA/set_input ƒIƒvƒVƒ‡ƒ“‚ðŽw’è‚·‚é‚ƁAinput ‚Ȃǂц[ƒU[‚ª“ü—Í‚·‚é“à—e‚ðAƒIƒvƒVƒ‡ƒ“‚ÉŽw’肵‚½“à—e‚ÅŽ©“®“I‚É“ü—Í‚µ‚Ü‚·B - - - g_CUI.SetAutoKeysFromMainArg - - - ¨ input - - - - cscript.exe sample.vbs /set_input:1.2. - - VBS ‚̃\[ƒX‚É•K—v‚ȌĂяo‚µ - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - - (src) - - - ¨ set_input - - ‚½‚¾‚µAmain ŠÖ”‚̐擪‚È‚Ç‚Å g_CUI.SetAutoKeysFromMainArg ‚ðŒÄ‚яo‚·•K—v‚ª‚ ‚è‚Ü‚·B - - ¨ [T_UI_Auto] Ž©“®“ü—͂̃eƒXƒg - - ŠÖ˜A - ƒeƒXƒg - - - - - - - /set_input_enter ƒIƒvƒVƒ‡ƒ“ - cscript.exe ‚ð‹N“®‚µ‚½‚Æ‚«‚̃pƒ‰ƒ[ƒ^‚ɁA/set_input_enter ƒIƒvƒVƒ‡ƒ“‚ðŽw’è‚·‚é‚ƁA/set_input ‚ÉŽw’肵‚½•¶Žš‚Ì‚¤‚¿A/set_input_enter ƒIƒvƒVƒ‡ƒ“‚ÅŽw’肵‚½•¶Žš‚́AEnter ‚Ì - “ü—Í‚É‚µ‚Ü‚·B - /set_input_enter ƒIƒvƒVƒ‡ƒ“‚ªŽw’肳‚ê‚È‚©‚Á‚½‚Æ‚«‚́AƒsƒŠƒIƒh‚ª Enter ‚Ì“ü—Í‚É‚È‚è‚Ü‚·B - - - cscript.exe sample.vbs /set_input:1.2. /set_input_enter:. - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - - (src) - - “ú–{Œê•¶Žš‚ðŽw’è‚·‚é‚ƁA‚·‚ׂĂÌAscii •¶Žš‚ªŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚·B - - - - - - - /set_input_debug ƒIƒvƒVƒ‡ƒ“Ag_CUI.m_Auto_DebugCount - - - g_CUI.m_Auto_DebugCount = 1 - - - - cscript.exe sample.vbs /set_input:1.2. /set_input_debug:1 - - VBS ‚̃\[ƒX - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - - ¨ input - - - /set_input ƒIƒvƒVƒ‡ƒ“ - - ‚ðŽw’肵‚½‚Æ‚«‚ɁA‚P‚‚¸‚ Enter ƒL[‚ð“ü—Í‚·‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - - (src) - - ŠÖ˜A - Žw’肵‚½’l‚̉ñ”–Ú‚Ì“ü—Í‚©‚ç‘Ò‚¿‚Ü‚·B - ‚±‚ê‚É‚æ‚èAƒ†[ƒU[‚Ì“ü—Í‚ðŽ©“®“I‚ɍs‚¤‚Æ‚«‚ɁA“ü—Í“à—e‚ðŠm”F‚µ‚È‚ª‚çŽÀs‚Å‚«‚Ü‚·B - - - - - - - - RunProg - - ‚â - - Shell::Exec - - ‚Å cscript.exe ‚ð‹N“®‚µ‚½ƒvƒƒZƒX‚Å input ‚ðŽg‚¤‚ƁA - •W€“ü—Í‘Ò‚¿‚Ńnƒ“ƒOƒAƒbƒv‚·‚é‚̂ŁA‘ã‚í‚è‚É“à•”‚ŁAGUI ‚©‚ç“ü—Í‚·‚é - - InputBox - - ‚ªŒÄ‚΂ê‚Ü‚·B - - ¨ [T_ExecStdIn] Exec ‚Å‹N“®‚µ‚½ƒvƒƒZƒX‚Ì•W€“ü—Í - - - ¨ RunProg - - InputBox ‚ªŒÄ‚΂ê‚é‚©‚Ç‚¤‚©‚́AƒXƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚ÉŽw’è‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“‚É /GUI_input:1 ‚ðŽw’肵‚½‚©‚Ç‚¤‚©‚ÅŒˆ‚Ü‚è‚Ü‚·B RunProg - ‚ŁAcscript ‚ð‹N“®‚·‚é‚ƁA/GUI_input:1 ‚́AŽ©“®“I‚ÉŽw’肳‚ê‚Ü‚·B - ŽqƒvƒƒZƒX‚Å pause ‚µ‚½‚Æ‚«Apause ƒƒbƒZ[ƒW‚ðŽqƒvƒƒZƒX‚©‚çŽó‚¯Žæ‚Á‚½‚çeƒvƒƒZƒX‚ŁAEnter ‚Ì“ü—Í‘Ò‚¿‚ð‚µ‚Ü‚·B Enter ‚ð‰Ÿ‚µ‚½‚çAŽqƒvƒƒZƒX‚Ì - •W€“ü—Í‚É‚à Enter ‚ð“]‘—‚µ‚Ü‚·iEchoStreamŠÖ”jB Ž©“®“ü—Í‚·‚é‚Æ‚«‚́A - pause ƒƒbƒZ[ƒW‚ɏ­‚µŽè‚ð‰Á‚¦‚āAeƒvƒƒZƒX‚Å‘Ò‚½‚È‚¢‚悤‚É‚µ‚Ü‚·B - /GUI_input ƒIƒvƒVƒ‡ƒ“ - input ‚ðŒÄ‚яo‚µ‚½‚Æ‚«AƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒXƒNƒŠƒvƒg‚Å‚àA‹­§“I‚É GUI ‚©‚ç“ü—Í‚·‚éƒIƒvƒVƒ‡ƒ“‚Å‚·B - - - cscript Sample.vbs /GUI_input - - ‹N“®ƒRƒ}ƒ“ƒh‚Ì—áF - ƒeƒXƒg - ŽQl - - ¨ vbslib.vbs - - ƒ\[ƒX - - - - - - - InputPath - - - Function InputPath( Prompt as string, Flags as integer ) as string - - ƒvƒƒ“ƒvƒg‚ð•\Ž¦‚µAƒ†[ƒU‚©‚çƒtƒ@ƒCƒ‹‚̃pƒXiêŠj‚Ì“ü—Í‚ð‘Ò‚¿‚Ü‚·B - yˆø”z - Prompt - Flags - •\Ž¦‚·‚é“à—e - 0 ‚Ü‚½‚Í c.CheckFileExists ‚Ȃǁi‰º‹Lj - ƒ†[ƒU‚ª“ü—Í‚µ‚½ƒpƒXA“ü—Í‚È‚µ="" - •Ô‚è’l - ƒ†[ƒU‚́A " "‚ň͂ñ‚¾ƒpƒX‚ð“ü—Í‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚±‚Ì‚Æ‚«A•Ô‚è’l‚́A" " ‚ðŠÜ‚Ý‚Ü‚¹‚ñB - ƒTƒ“ƒvƒ‹ - - - Set c = g_VBS_Lib echo "[SampleTool]" - path = InputPath( "path>", c.CheckFileExists or c.CheckFolderExists or _ - c.UseArgument1 or c.AllowEnterOnly ) - If path = "" Then path = GetPathOfClipboardText() - - - (src) - - Flags ˆø” - - - [SampltTool]path>aaa - not found - path>C:\ - - - ‰º‹L‚ðÝ’肵‚Ü‚·B •¡”Ý’è‚·‚é‚Æ‚«‚́Aor ‚µ‚Ä‚­‚¾‚³‚¢B c ‚Í g_VBS_Lib ‚Å‚·B ‰½‚àÝ’肵‚È‚¢‚Æ‚«‚́A0 ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - c.CheckFileExists - c.CheckFolderExists - c.AllowEnterOnly - ƒtƒ@ƒCƒ‹‚Æ‚µ‚Ä‘¶Ý‚·‚é‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - ƒtƒHƒ‹ƒ_‚Æ‚µ‚Ä‘¶Ý‚·‚é‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - ‰½‚à“ü—Í‚µ‚È‚©‚Á‚½‚Æ‚«‚ɍēü—Í‚ð—v‹‚µ‚Ü‚¹‚ñB ‚±‚Ì‚Æ‚«A•Ô‚è’l="" - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ŠÖ˜A - - ¨ input - - ƒeƒXƒg - - ¨ Test.vbs # T_InputPath_WorkFolder_File - - - ¨ g_start_in_path - - ƒTƒ“ƒvƒ‹‰æ–Ê - ƒTƒ“ƒvƒ‹ - - - Dim path, param - If ArgumentExist( "Path" ) Then - path = WScript.Arguments.Named.Item( "Path" ) - echo "ƒpƒX>"+ path - Else - path = InputPath( "ƒpƒX>", Empty ) - End If - - param = input( "Param>" ) - - Linux ‚̃pƒX‚à“ü—Í‚Å‚«‚é‚悤‚É‚·‚é‚Æ‚« - Linux ‚̃pƒX‚́AƒIƒvƒVƒ‡ƒ“‚ƉðŽß‚³‚ê‚Ä‚µ‚Ü‚¤‚½‚߁A/Path ƒIƒvƒVƒ‡ƒ“‚ðŽg‚Á‚ÄŽw’肵‚Ä‚­‚¾‚³‚¢B - - - cscript Sample.vbs /Path:/home/user1/file Param2 - - - ¨ Test.vbs # T_InputCommand_WindowsParam - - - ¨ Test.vbs # T_InputCommand_LinuxParam - - - ¨ Test.vbs # T_InputPathArg - - c.UseArgument1 - c.UseArgument2 - ƒXƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚Ì‘æ‚Pƒpƒ‰ƒ[ƒ^[‚ª‚ ‚ê‚΁A‚»‚ê‚ð“ü—Í‚Æ‚·‚é (*1) - ƒXƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚Ì‘æ‚Qƒpƒ‰ƒ[ƒ^[‚ª‚ ‚ê‚΁A‚»‚ê‚ð“ü—Í‚Æ‚·‚é (*1) - - ¨ ƒTƒ“ƒvƒ‹ iƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚©‚çƒeƒLƒXƒgˆ—j - - InputPath - - GetPathOfClipboardText - - - set_input - - (*1) - ‚ÅŽw’肵‚½Ž©“®“ü—Í‚Ì“à—e‚â - UseArgument1 ‚â UseArgument2 ‚ðŽw’肵‚½ê‡A - ‚́AŽŸ‚̔Ԗڂɐi‚Ý‚Ü‚¹‚ñB ŽŸ‚ÌŽ©“®“ü—Í‚â - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚̃pƒ‰ƒ[ƒ^[ - - ƒpƒ‰ƒ[ƒ^[‚̔Ԗڂª‚¢‚­‚‚̂Ƃ«‚Å‚àŽw’肵‚½”Ô–Ú‚Ì‚à‚Ì‚ª“ü—Í‚Å‚«‚é‚©‚ç‚Å‚·B - c.AllowWildcard - ƒƒCƒ‹ƒhƒJ[ƒh‚ª“ü—Í‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - ‘Š‘΃pƒX‚ð“ü—Í‚µ‚½‚çA - - g_start_in_path - - ‚ðŠî€‚Æ‚µ‚½‘Š‘΃pƒX‚Æ‚Ý‚È‚µA•Ô‚è’l‚́Aƒtƒ‹EƒpƒX‚É - ‚È‚è‚Ü‚·B InputPath ‚ðŒÄ‚яo‚·‘O‚ɁAg_start_in_path ‚́A•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - - - - - InputCommand - - - Sub InputCommand( LeadOrOpt as string or InputCommandOpt, Prompt as string, Opt as variant, AppKey as AppKeyClass ) - - ‚É“ü‚è‚Ü‚·B “ü—Í‚·‚éƒRƒ}ƒ“ƒh‚́AŒÄ‚яo‚·ŠÖ”‚Ì–¼‘O‚Å‚·B - yˆø”z - LeadOrOpt - Prompt - ƒŠ[ƒh•¶A‚Ü‚½‚́AƒIƒvƒVƒ‡ƒ“ - ƒvƒƒ“ƒvƒg‚Ì•\Ž¦“à—eB Empty="”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh" - Main ŠÖ”‚Ì AppKey ˆø” - AppKey - Main ŠÖ”‚Ì Opt ˆø” - Opt - - (src) - - - - Sub main2( Opt, AppKey ) InputCommand "Document.svg ‚ðŽQÆ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·)", _ - "ƒRƒ}ƒ“ƒh >", Opt, AppKey - End Sub - - Sub SyncSymbols( Opt, AppKey ) - echo "SyncSymbols ŠÖ”‚ªŒÄ‚΂ê‚Ü‚µ‚½B" - End Sub - - ƒTƒ“ƒvƒ‹ - ŽÀs‰æ–Ê - - - --------------------------------------------------------------------------------Document.svg ‚ðŽQÆ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·) - ƒRƒ}ƒ“ƒh >SyncSymbols - -------------------------------------------------------------------------------- - SyncSymbols ŠÖ”‚ªŒÄ‚΂ê‚Ü‚µ‚½B - -------------------------------------------------------------------------------- - Document.svg ‚ðŽQÆ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·) - ƒRƒ}ƒ“ƒh > - - FuncA ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚½‚Æ‚±‚ë - ƒ†[ƒU[‚ª“ü—Í‚µ‚½ƒRƒ}ƒ“ƒh‚Æ“¯‚¶–¼‘O‚̊֐”‚ªŒÄ‚΂ê‚Ü‚·B ‚½‚Æ‚¦‚΁ASymcSymbols ‚Æ“ü—Í‚µ‚½‚çAImputCommand ŠÖ”‚Ì’†‚©‚çAGetRef ŠÖ”‚ðŽg‚Á‚āASymcSymbols ŠÖ”‚ªŒÄ‚΂ê‚Ü‚·B ŒÄ‚΂ê‚é - ŠÖ”‚̈ø”‚́Amain2 ŠÖ”‚Æ“¯‚¶AOpt ‚Æ AppKey ‚É‚µ‚Ä‚­‚¾‚³‚¢B - InputCommand - SyncSymbols - - - Sub Main( Opt, AppKey ) Set o = new InputCommandOpt - o.Lead = "Document.svg ‚ðŽQÆ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·)" - Set o.CommandReplace = Dict(Array( "1","RunProgram", "2","InvestigateLog" )) - Set o.MenuCaption = Dict(Array( "1","‹N“®ƒRƒ}ƒ“ƒh [%name%]" )) - InputCommand o, Empty, Opt, AppKey - End Sub - - Sub InvestigateLog( Opt, AppKey ) - Set c = g_VBS_Lib - path = InputPath( "ƒƒOEƒtƒ@ƒCƒ‹‚̃pƒX >", c.CheckFileExists ) - key = input( "‚æ‚낵‚¢‚Å‚·‚©B[Y/N]" ) - If key<>"y" and key<>"Y" Then Exit Sub ' ... Cancel - Investivate path - echo "‰ðÍ‚µ‚Ü‚µ‚½B" - End Sub - - ƒTƒ“ƒvƒ‹ - ƒƒjƒ…[‚©‚ç‘I‘ð‚·‚é - - - -------------------------------------------------------------------------------Document.svg ‚ðŽQÆ (Google Chrome ‚â Snap Note ‚ÅŒ©‚¦‚Ü‚·) - 1. ‹N“®ƒRƒ}ƒ“ƒh [RunProgram] - 2. InvestigateLog - ”ԍ†‚Ü‚½‚̓Rƒ}ƒ“ƒh >2 - ------------------------------------------------------------------------------- - ƒƒOEƒtƒ@ƒCƒ‹‚̃pƒX >C:\Log\Test_log.txt - ‚æ‚낵‚¢‚Å‚·‚©B[Y/N]y - ‰ðÍ‚µ‚Ü‚µ‚½B - - ‰º‹L‚̓ƒjƒ…[2‚ð‘I‚ñ‚¾‚Æ‚±‚ëB 2 ‚Ì‘ã‚í‚è‚É InvestigateLog ‚à“ü—Í‚Å‚«‚Ü‚·B - ŽÀs‰æ–Ê - - ¨ T_InputCommand_Manually.vbs # main - - ƒeƒXƒg - InputCommandOpt ƒNƒ‰ƒX - - - Class InputCommandOpt Public Lead '// as string - Public CommandReplace '// as Dictionary of string - Public MenuCaption '// as Dictionary of string - Public AllTestName '// as string - End Class - - - InputCommandOpt - - - ¨ ƒTƒ“ƒvƒ‹ - - InputCommand - - - ƒRƒ}ƒ“ƒh >SyncSymbols - - - - - - - - Sub SyncSymbols( Opt, AppKey ) echo "SyncSymbols ŠÖ”‚ªŒÄ‚΂ê‚Ü‚µ‚½B" - End Sub - - - - ImputCommand Empty, "ƒRƒ}ƒ“ƒh >" - - C:\Log\Test_log.txt - - - vbslib.vbs - - ƒtƒ@ƒCƒ‹F - InputCommand ŠÖ”‚ðŒÄ‚яo‚·ƒXƒNƒŠƒvƒg‚́A‹N“®‚·‚é‚Æ‚«‚ɐê—pƒRƒ}ƒ“ƒh‚ðƒpƒ‰ƒ[ƒ^[‚ÉŽw’è‚·‚é‚ƁAƒ†[ƒU‚Ì“ü—Í‘Ò‚¿‚ɂ͂Ȃ炸AInputCommand ŠÖ”‚Ì’†‚©‚ç‚·‚®‚ɐê—pƒRƒ}ƒ“ƒh‚ɑΉž‚·‚éŠÖ”‚ðŒÄ‚Ñ - o‚·‚悤‚É‚È‚è‚Ü‚·B ŠÖ”‚©‚ç•Ô‚Á‚½‚çiInputCommand ‚©‚ç•Ô‚èjAƒXƒNƒŠƒvƒg‚̃vƒƒZƒX‚͏I—¹‚µ‚Ü‚·B - ê—pƒRƒ}ƒ“ƒh–¼‚ÌŽŸ‚â‚»‚êˆÈ~‚̃pƒ‰ƒ[ƒ^[iã‹L‚Ì C:\folder\file.txt ‚Æ y j‚́A“à•”‚Å - - set_input - - ‚É“n‚³‚ê‚āAŽ©“®“I‚É“ü—Í‚·‚é‚悤‚É‚È‚è‚Ü‚·B ‚½‚¾‚µAEnter ‚Ì“ü—Í‚Í "." ‚Æ‹Lq‚·‚é‚Ì‚Å‚Í‚È‚­Aƒpƒ‰ƒ[ƒ^[‚Ì‹æØ‚肪 Enter ‚Ì“ü—Í‚É‚È‚è‚Ü‚·B Enter ‚Ì‚Ý‚Ì“ü—Í‚ð‚µ‚½‚¢‚Æ‚«‚́A‰º‹L‚̂悤‚É - cmd.exe ‚©‚ç‹N“®‚µ‚āA"" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - ¨ InputCommandOpt - - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - - InputPath - - y - 2 - - input - - ŠÖ˜A - - ¨ ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - - ¨ T_InputCommand_Target2.vbs # [main2] - - - ¨ T_InputCommand_Target.vbs # [main2] - - - ¨ Test.vbs # T_InputCommand_Param - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚̃eƒXƒg - - - Dim r r = RunProg( "cscript.exe //nologo """+ SearchParent( "Prompt.vbs" )+_ - """ CommandA param1 """"", "out.txt" ) - CheckTestErrLevel r - Assert "out.txt", "T_ans.txt" - del "out.txt" - - - - ƒRƒ}ƒ“ƒh >CommandA“ü—Í‚P >param1 - “ü—Í‚Q > - ŽÀs‚µ‚Ü‚µ‚½B - - eƒtƒHƒ‹ƒ_[‚É‚ ‚é Prompt.vbs ‚©‚ç‹N“®‚Å‚«‚éƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ɁACommandA ƒRƒ}ƒ“ƒh‚ð“ü—́A“ü—Í‚P‚É param1 ‚ð“ü—́A“ü—Í‚Q‚É Enter ‚Ì‚Ý - “ü—Í‚·‚é‚Æ‚«‚́AƒeƒXƒgEƒXƒNƒŠƒvƒg‚́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - - SearchParent - - Prompt.vbs - CommandA - param1 - """" - AllTest ƒRƒ}ƒ“ƒh - ƒRƒ}ƒ“ƒh“ü—Í‚·‚é‚Æ‚«‚ɁAuAllTestv ‚Æ“ü—Í‚·‚é‚ƁAInputCommandOpt ƒNƒ‰ƒX‚Ì CommandReplace ‚É“o˜^‚µ‚½ŠÖ”‚ð‚·‚×‚ÄŒÄ‚Ño‚µ‚Ü‚·B ƒRƒ}ƒ“ƒh–¼‚ð uAllTestv ˆÈŠO‚É‚µ‚½‚¢‚Æ‚«‚́AInputCommandOpt ƒNƒ‰ƒX‚Ì - AllTestName ‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - - - Dim r r = RunProg( "cscript //nologo T_Target.vbs AllTest", "" ) - CheckTestErrLevel r - - ŽQl - - ¨ ƒVƒ‡[ƒgƒJƒbƒg‚âƒoƒbƒ`ƒtƒ@ƒCƒ‹‚È‚Ç‚©‚çê—pƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é - - CommandA - param1 - - ¨ AllTest ƒRƒ}ƒ“ƒh - - T_ans - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚̃fƒoƒbƒO - - - Sub CommandA( Opt, AppKey )dbg = Opt("command_debug") - Set c = g_VBS_Lib - - If dbg Then g_CUI.m_Auto_KeyEnter = "/" - If dbg Then set_input "C:\Folder\File1.txt" - path = InputPath( "ƒtƒ@ƒCƒ‹‚̃pƒX >", c.CheckFileExists ) - : - End Sub - - Sub CommandA_debug( Opt, AppKey ) - Opt("command_debug") = True - CommandA Opt, AppKey - End Sub - - dbg = Opt("command_debug") - - If dbg Then g_CUI.m_Auto_KeyEnter = "/" - If dbg Then set_input "C:\Folder\File1.txt" - Sub CommandA_debug( Opt, AppKey ) Opt("command_debug") = True - CommandA Opt, AppKey - End Sub - ‰º‹L‚̂悤‚É‚µ‚āACommandA_debug ƒRƒ}ƒ“ƒh‚ð‹N“®‚·‚é‚ƁA“ü—Í‚·‚é“à—e‚ðŽ©“®“I‚É“ü—Í‚µ‚Ü‚·B - ƒvƒƒ“ƒvƒg‚̂݁iƒƒjƒ…[€–Ú‚È‚µj - ƒL[ƒ[ƒhF - Lead, CommandReplace, MenuCaption - ‚·‚®‚Ɋ֐”‚ðŒÄ‚яo‚µ‚½‚©‚Ç‚¤‚©‚ðƒXƒNƒŠƒvƒg“à‚Å”»’f‚µ‚½‚¢‚Æ‚«‚́A - g_InputCommand_Args - .Count - ‚ª 1 ˆÈã‚©‚Ç‚¤‚©‚Å”»’肵‚Ü‚·B - - InputCommandOpt - - CommandReplace ‚́A—v‘f”ԍ† 0 ‚©‚çŽn‚Ü‚é”z—ñ‚ŁA—v‘f”ԍ†‚ª‹ô”‚Ì—v‘f‚́AƒRƒ}ƒ“ƒh‚̔ԍ†‚Ü‚½‚Í—ªÌA - —v‘f”ԍ†‚ªŠï”‚Ì—v‘f‚́AŽÀs‚·‚éŠÖ”–¼‚Å‚·B - Lead ‚́AƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚̍ŏ‰‚É•\Ž¦‚³‚ê‚éuƒŠ[ƒh•¶v‚Å‚·B - MenuCaption ‚́A—v‘f”ԍ† 0 ‚©‚çŽn‚Ü‚é”z—ñ‚ŁA—v‘f”ԍ†‚ª‹ô”‚Ì—v‘f‚́AƒRƒ}ƒ“ƒh‚̔ԍ†‚Ü‚½‚Í—ªÌA - —v‘f”ԍ†‚ªŠï”‚Ì—v‘f‚́AƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚É•\Ž¦‚³‚ê‚郁ƒjƒ…[€–Ú‚Å‚·B - - - - - - - g_InputCommand_Args - - - Dim g_InputCommand_Args as array of string - - - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg - - ‚̃pƒ‰ƒ[ƒ^[B - g_InputCommand_Args(0) ‚́Aê—pƒRƒ}ƒ“ƒh–¼Ag_InputCommand_Args(1) ˆÈ~‚́Aƒpƒ‰ƒ[ƒ^[‚Å‚·B - - - Set parameters = new_ArrayClass( g_InputCommand_Args ) If parameters.Count >= 1 Then _ - parameters.Remove 0, 1 '// Remove special command name - parameters = CmdLineFromStr( parameters.Items ) - set_input "" '// Œ»Ý‚̃vƒƒZƒX‚ɐݒ肳‚ê‚Ä‚¢‚鎩“®“ü—̓f[ƒ^‚ðƒNƒŠƒA‚·‚é - - RunProg "cscript //nologo Prompt.vbs CommandX_Child "+ _ - parameters +" /g_debug__:1", "" - - ƒTƒ“ƒvƒ‹ - ŽqƒvƒƒZƒX‚Ƀpƒ‰ƒ[ƒ^[‚ð“n‚µ‚Ü‚·B - - /g_debug__ - - g_InputCommand_Args.Count = 0 ‚Ì‚Æ‚«‚́A‘ΘbŽ®‚̃Vƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ªŽg‚í‚ê‚Ä‚Ü‚·Bg_InputCommand_Args.Count >= 1 ‚Ì‚Æ‚«‚́AƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ðƒoƒbƒ`ˆ—‚ÅŽÀs‚µ‚Ä‚¢‚Ü‚·B - - - - - - - ChangeNumToCommandOrNot - - - Function ChangeNumToCommandOrNot( in_Key as string, in_CommandDictionary as dictionary of string, _ in_NumName as string, in_IsInputNumOrCommand as boolean ) as string - - ƒŠƒXƒg‚ƃRƒ}ƒ“ƒh”ԍ†‚ªd‚È‚Á‚½‚Æ‚«‚́A‚Ç‚¿‚ç‚©ƒL[ƒ{[ƒh‚©‚ç‘I‘ð‚·‚é‚悤‚Ƀ†[ƒU[‚É—v‹‚µ‚Š‚Ü‚·B - yˆø”z - in_Key - in_CommandDictionary - “ü—Í‚µ‚½”ԍ†‚Ì•¶Žš—ñ - ƒRƒ}ƒ“ƒh–¼‚ÌŽ«‘B ƒL[”ԍ†‚Ì•¶Žš—ñ - ƒŠƒXƒg‚̍€–Ú‚Ì–¼‘O - in_NumName - - ¨ T_Value.vbs - - ƒeƒXƒg - - ¨ vbslib.vbs - - ƒ\[ƒX - •Ô‚è’l - ”ԍ†iƒŠƒXƒg‚̍€–ڂ̔ԍ†‚Ì•¶Žš—ñjA‚Ü‚½‚́AƒRƒ}ƒ“ƒh–¼ - in_Key ‚̔ԍ†‚ɃŠƒXƒg‚̍€–Ú‚ª‚ ‚é‚©‚Ç‚¤‚© - in_IsInputNumOrCommand - - - - - - - SendKeys - - ¨ ƒL[ƒ{[ƒhEƒR[ƒh‚ð‘—‚é - - - (src) - - ŽQl - - - Sub SendKeys( WindowTitle as string, KeyCords as string, LateTime as integer ) - - ƒL[ƒ{[ƒh“ü—Í‚ðƒGƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚µ‚ÄŽ©“®“I‚ɃL[‘€ì‚ð‚µ‚Ü‚·B - yˆø”z - WindowTitle - KeyCords - "" ‚Ü‚½‚́AƒL[ƒ{[ƒhEƒR[ƒh‚ð‘—‚éƒEƒBƒ“ƒhƒE‚̃^ƒCƒgƒ‹(‰º‹L) - ƒL[ƒ{[ƒhEƒR[ƒh (‰º‹L) - LateTime - 0 ‚Ü‚½‚́AƒL[ƒ{[ƒhEƒR[ƒh‚ð‘—‚é‚Ü‚Å‚ÌŽžŠÔiƒ~ƒŠ•bj - WindowTitle ˆø”‚ÉŽw’肵‚½•¶Žš—ñ‚ªAƒEƒBƒ“ƒhƒE‚̃^ƒCƒgƒ‹‚ɁA‘O•ûˆê’vA‚Ü‚½‚́AŒã•ûˆê’v‚µ‚½ƒEƒBƒ“ƒhƒE‚ɑ΂µ‚āAƒL[‘€ì‚ð‚µ‚Ü‚·B - - - SendKeys "ƒƒ‚’ ", "%FS", 200 - - ƒTƒ“ƒvƒ‹F - WindowTitle ˆø” - KeyCords ˆø” - §ŒäƒL[‚Ì“ü—͂́AŽŸ‚̂悤‚ÉŽw’肵‚Ü‚·B - [Alt]+[F], [S] - "%FS" - [Ctrl]+[C] - "^C" - [Enter] - "{ENTER}" - ƒL[“ü—Í - KeyCords ˆø” - - [Esc] - "{ESC}" - "{TAB}" - [Tab] - Alt ƒL[‚ð‰Ÿ‚µ‚È‚ª‚ç FA—£‚µ‚Ä S - à–¾ - ƒVƒtƒgƒL[‚ð‰Ÿ‚µ‚È‚ª‚ç˜A‘±‚µ‚āAXAP - "+XP" - ƒVƒtƒgƒL[‚ð‰Ÿ‚µ‚È‚ª‚çAXA—£‚µ‚āAP - [Shift]+[X], [P] - [Shift]+[X], [Shift]+[P] - "+(XP)" - [+] - "{+}" - - ¨ SendKeys ƒƒ\ƒbƒh (Web) - - ‚»‚Ì‘¼‚̃L[ - [{] - "{{}" - [[] - "{[}" - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒeƒXƒg - - ¨ T_UI1_Manual.vbs # SendKeys - - LateTime ˆø” - ƒL[ƒR[ƒh‚ð‘—‚é‘O‚É‘Ò‚ÂŽžŠÔ‚ðŽw’肵‚Ü‚·B’¼‘O‚̏ˆ—‚ªƒEƒBƒ“ƒhƒE‚ðŠJ‚­ˆ—‚ȂǁAƒL[ƒR[ƒh‚ð‘—‚é‘Ώۂª€”õ‚Å‚«‚é‚Ü‚Å‚É - ŽžŠÔ‚ª‚©‚©‚é‚Æ‚«‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - - ¨ WshShell::SendKeys - - Alt ƒL[ + [F] + [S] cc •Û‘¶ - - ¨ WindowsŠÇ—ŽÒ‚Ì‚½‚ß‚ÌWindows Script Host“ü–åF‘æ5‰ñ (4-4) - —IT (Web) - - - - - - - - Prompt - - ¨ Prompt ƒRƒ}ƒ“ƒh - - - - Sub Prompt( TCHAR* Desc, HANDLE* out_Obj ); - - VBScript ‚ªŽÀs‚Å‚«‚éƒvƒƒ“ƒvƒg‚ðŠJŽn‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ System.vbs - - ‚±‚ê‚܂łɃOƒ[ƒoƒ‹•Ï”‚ɐݒ肵‚Ä‚¢‚½’l‚ðŽQÆ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·BPrompt ŠÖ”‚ðŒÄ‚яo‚µ‚½ŠÖ”‚̃[ƒJƒ‹•Ï”‚ÍŽQÆ‚Å‚«‚Ü‚¹‚ñB - ŽQl - - - - - - - Play - - - Play "sample.mp3" - - - - Sub Play( Path as string ) - - ‰¹Šyƒtƒ@ƒCƒ‹‚âŒø‰Ê‰¹ƒtƒ@ƒCƒ‹‚ð–‚炵‚Ü‚·B - yˆø”z - Path - .wav, .mp3 ‚Ȃǂ̃tƒ@ƒCƒ‹ƒpƒX - - (src) - - - ¨ ‰¹‚ð–‚炷 (VBScript) - - “®‰æƒtƒ@ƒCƒ‹‚ðŽw’è‚·‚é‚ƁA‰¹º‚¾‚¯‚ª—¬‚ê‚Ü‚·B - - - Play env( "%windir%\Media\tada.wav" ) - - –‚炵Žn‚ß‚é‚ƁA‚·‚®‚É Play ŠÖ”‚©‚ç–ß‚èA‰¹º‚ª—¬‚ê‚È‚ª‚çƒXƒNƒŠƒvƒg‚Ì‘±‚«‚ðŽÀs‚µ‚Ü‚·B - - WaitForSound - - ‚ðŽg‚¦‚΁A‰¹º‚ªI‚í‚é‚܂ő҂‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ƒXƒNƒŠƒvƒg‚ðI—¹‚·‚é‚ƁA‰¹º‚ÍŽ~‚Ü‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒeƒXƒg - ŠÖ˜A - - ¨ T_Sound.vbs # [T_Sound] - - - ¨ WaitForSound - - - ¨ SetVolume - - - - - - - - WaitForSound - - - Play "sample.mp3" WaitForSound Empty - - - - Sub WaitForSound( Timeout_msec as integer ) - - ‚ōж‚µ‚½‰¹º‚ªI‚í‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - yˆø”z - Timeout_msec - ƒ^ƒCƒ€ƒAƒEƒgiƒ~ƒŠ•bjA‚Ü‚½‚Í Empty iƒ^ƒCƒ€ƒAƒEƒg‚È‚µj - - (src) - - - Play - - ƒ^ƒCƒ€ƒAƒEƒg‚É‚È‚Á‚½‚çA‰¹º‚Í’âŽ~‚µ‚Ü‚·B - ‰¹º‚ªI‚í‚é‚Ü‚Å‘Ò‚Â - 5•b‚½‚Á‚Ä‚à‰¹º‚ªI‚í‚ç‚È‚©‚Á‚½‚çŽ~‚ß‚é - - - Play "sample.mp3" WaitForSound 5000 - - - - Play "sample.mp3" WaitForSound 0 - - ‚·‚®‚ɉ¹º‚ðŽ~‚ß‚é - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - Empty - 5000 - 0 - - - vbslib.vbs - - ƒtƒ@ƒCƒ‹F - ƒeƒXƒg - - ¨ T_Sound.vbs # [T_Sound] - - ŠÖ˜A - - ¨ Play - - - - - - - - SetVolume - - - Sub SetVolume( Volume as integer ) - - ‰¹—Ê‚ðÝ’肵‚Ü‚·B 0 ‚ªÅ¬A100 ‚ªÅ‘åB - yˆø”z - Volume - ‰¹—ʁBƒfƒtƒHƒ‹ƒg‚Í 100 - - (src) - - - - SetVolume 100 - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - ¨ Play - - - - vbslib.vbs - - ƒtƒ@ƒCƒ‹F - ƒeƒXƒg - - ¨ T_Sound.vbs # [T_Sound] - - - - - - - - SystemSound - - - SystemSound ".Default" - - - - Sub SystemSound( Sound as string ) - - ƒRƒ“ƒgƒ[ƒ‹ƒpƒlƒ‹‚ɐݒ肳‚ê‚Ä‚¢‚éŒø‰Ê‰¹‚ð–‚炵‚Ü‚·B - yˆø”z - Sound - Œø‰Ê‰¹‚ÌŽí—ށi‰º‹Lj - - (src) - - - ¨ ƒVƒXƒeƒ€‚ÌŒx‰¹‚ð–‚炷 (VBScript) - - "SystemAsterisk" - ƒƒbƒZ[ƒWiî•ñj - ".Default" - ˆê”Ê‚ÌŒx‰¹ - ƒƒbƒZ[ƒWiŒxj - "SystemExclamation" - ƒVƒXƒeƒ€ƒGƒ‰[ - "SystemHand" - ƒƒbƒZ[ƒWi–â‚¢‡‚킹j - "SystemQuestion" - Windows‚Ì‹N“® - "SystemStart" - Windows‚̏I—¹ - "SystemExit" - WindowsƒƒOƒIƒ“ - "WindowsLogon" - "WindowsLogoff" - WindowsƒƒOƒIƒt - "DeviceConnect" - ƒfƒoƒCƒX‚̐ڑ± - "DeviceDisconnect" - ƒfƒoƒCƒX‚̐ؒf - "Navigating" - ƒiƒrƒQ[ƒVƒ‡ƒ“‚ÌŠJŽniƒtƒHƒ‹ƒ_‚âƒnƒCƒp[ƒŠƒ“ƒN‚ðƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̉¹j - - Play - - ‰¹º‚ÌŽ~‚ß•û‚≹—Ê‚Ì’²®‚́A - ‚Æ“¯‚¶‚Å‚·B - - WaitForSound - - ‚µ‚È‚­‚Ä‚àA‚·‚®‚ɉ¹º‚Í’âŽ~‚µ‚Ü‚¹‚ñB - ƒXƒNƒŠƒvƒg‚ðI—¹Žž‚ɖ‚炵‚Ä‚àA”•b‚ÌŒø‰Ê‰¹‚Å‚ ‚ê‚΁A - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Sound.vbs # [T_Sound] - - - - - - - - GetTextFromClipboard - - - Function GetTextFromClipboard() as string - - ƒNƒŠƒbƒvƒ{[ƒh‚É‚ ‚éƒeƒLƒXƒg‚ð•Ô‚µ‚Ü‚·B - - ¨ T_Clipboard_Manually.vbs # [T_GetTextFromClipboard] - - ƒeƒXƒg - - (src) - - ƒNƒŠƒbƒvƒ{[ƒh‚ɃeƒLƒXƒg‚ª–³‚¯‚ê‚΁AE_BadType ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - Žg—p‚·‚é‚ɂ́Avbslib ƒtƒHƒ‹ƒ_[‚ɁA - - vbslib_helper.exe - - ‚ª•K—v‚Å‚·B - - - - - - - GetPathOfClipboardText - - - Function GetPathOfClipboardText() as string - - ƒNƒŠƒbƒvƒ{[ƒh‚É‚ ‚éƒeƒLƒXƒg‚ðƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚āA‚»‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - ¨ T_Clipboard_Manually.vbs # [T_GetTextFromClipboard] - - ƒeƒXƒg - - (src) - - ƒNƒŠƒbƒvƒ{[ƒh‚ɃeƒLƒXƒg‚ª–³‚¯‚ê‚΁AE_BadType ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - Žg—p‚·‚é‚ɂ́Avbslib ƒtƒHƒ‹ƒ_[‚ɁA - - vbslib_helper.exe - - ‚ª•K—v‚Å‚·B - ƒTƒ“ƒvƒ‹ - - - Set g = g_VBS_Lib echo "Enter ‚̂݁FƒNƒŠƒbƒvƒ{[ƒh‚Ì“à—e‚ð“ü—Í‚Æ‚µ‚Ü‚·B" - path = InputPath( "path>", g.CheckFileExists or g.CheckFolderExists or _ - g.UseArgument1 or g.AllowEnterOnly ) - is_clipboard = False - If path = "" Then path = GetPathOfClipboardText() : is_clipboard = True - - If is_clipboard Then del path - - ƒNƒŠƒbƒvƒ{[ƒh‚Ì“à—e‚ª“ü‚Á‚½ƒtƒ@ƒCƒ‹‚ª•s—v‚É‚È‚Á‚½‚çíœ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - SetTextToClipboard - - - Sub SetTextToClipboard( Text as string ) - - ƒNƒŠƒbƒvƒ{[ƒh‚ɃeƒLƒXƒg‚ðƒRƒs[‚µ‚Ü‚·B - - (src) - - - ¨ T_Clipboard_Manually.vbs # [T_GetTextFromClipboard] - - ƒeƒXƒg - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - Žg—p‚·‚é‚ɂ́Avbslib ƒtƒHƒ‹ƒ_[‚ɁA - - vbslib_helper.exe - - ‚ª•K—v‚Å‚·B - - - - - - - ƒf[ƒ^A•Ï”A’萔A•¶Žš—ñA”z—ñA“úŽž - - ¨ ArrayClass ƒNƒ‰ƒX - - - ¨ ArrayDictionary ƒNƒ‰ƒX - - - ¨ QuickSort - - - ¨ QuickSort_fromDic - - - ¨ CInt2 - - - ¨ ShakerSort_fromDic - - - ¨ ShakerSort - - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒNƒCƒbƒNƒ\[ƒg‚µ‚Ü‚·B - ”z—ñ‚ðƒNƒCƒbƒNƒ\[ƒg‚µ‚Ü‚·BˆÀ’èƒ\[ƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·B - ”z—ñ‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·BˆÀ’èƒ\[ƒg‚Å‚·B - •¶Žš—ñ‚𐔒l‚É•ÏŠ·‚µ‚Ü‚·B - ”z—ñ‚ðˆµ‚¢‚â‚·‚­‚·‚éƒNƒ‰ƒX‚Å‚·B - •W€‚Ì Dictionary ‚Ì Item ‚ðA”z—ñ‚É‚µ‚½ƒNƒ‰ƒX‚Å‚·B - - ¨ CreateGuid - - GUID ‚𐶐¬‚µ‚Ü‚·B - - ¨ StringStream ƒNƒ‰ƒX - - ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©”»’肵‚Ü‚·B - - [ ƒeƒXƒg ] - - ‚»‚Ì‘¼ - •À‚בւ¦Aƒ\[ƒg - W‡iƒRƒŒƒNƒVƒ‡ƒ“j - ŠÖ˜A - - ¨ •¶Žš—ñ (VBS) - - - ¨ •Ï”AEmptyAŒ^A”z—ñ (VBS) - - - ¨ StrMatchKey ƒNƒ‰ƒX - - •¶Žš—ñ‚ð TextStream ‚Æ“¯‚¶‚悤‚ɃAƒNƒZƒX‚µ‚Ü‚·B - ƒIƒuƒWƒFƒNƒg - - ¨ get_Object - - - ¨ get_ObjectFromFile - - - ¨ get_ObjectsFromFile - - - ¨ include_objs - - - ¨ new_X - - Ã“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚µ‚Ü‚·B - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚©‚çÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚µ‚Ü‚·B - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚©‚çÃ“IƒIƒuƒWƒFƒNƒg‚ðˆê——‚µ‚Ü‚·B - Ã“IƒIƒuƒWƒFƒNƒgEƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ü‚·B - •¶Žš—ñ‚ÅŽw’肵‚½–¼‘O‚̃Nƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - ¨ ŠÂ‹«•Ï” - - ”z—ñ iArrayj - - ¨ IsSameArray - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ª“™‚µ‚¢‚©”»’肵‚Ü‚·B - - ¨ DicToArr - - Dictionary ‚ð”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - ¨ AddArrElem - - ”z—ñ‚Ì—v‘f‚ð’ljÁƒRƒs[‚µ‚Ü‚·B - - ¨ Dic_addNewObject - - Ž«‘AƒnƒbƒVƒ… iDictionaryj - - ¨ DicItem - - - ¨ GetDicItem - - ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚āAŽ«‘‚ɒljÁ‚µ‚Ü‚·B - “o˜^‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚àAV‹K‚É“o˜^‚µ‚È‚¢Ž«‘ŽQÆB - Empty ‚Å‚àƒIƒuƒWƒFƒNƒg‚Å‚àŽæ“¾‚Å‚«‚鎫‘ŽQÆB - - ¨ Dict - - Ž«‘‚𐶐¬‚µ‚Ü‚·B - - ¨ Dic_addElem - - - ¨ Dic_add - - - ¨ Dic_sub - - Ž«‘‚Ì—v‘f‚ðÝ’肵‚Ü‚·B - Ž«‘‚ð‰ÁŽZ‚µ‚Ü‚·B - Ž«‘‚ðŒ¸ŽZ‚µ‚Ü‚·B - - ¨ MeltCmdLine - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚P€–Ú‚ðŽæ‚èo‚µA’ʏí‚Ì•¶Žš—ñ‚É–ß‚·B - - ¨ ArrayToNameOnlyClassArray - - - ¨ ArrayFromCSV - - - ¨ ArrayFromCSV_Int - - ”z—ñ‚ðANameOnlyClass ‚Ì”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - CSV Œ`Ž®‚Ì‚Ps‚ð‰ðÍ‚µ‚āA”z—ñ‚ÉŠi”[‚·‚éB - CSV Œ`Ž®‚Ì‚Ps‚ð‰ðÍ‚µ‚āA”’l‚Ì”z—ñ‚ÉŠi”[‚·‚éB - - ¨ ’萔Ag_VBS_Lib - - ’萔 - \‘¢‰»‚³‚ꂽ’萔 - ‘¼‚É‚à‚ ‚è‚Ü‚·B¶‚̃cƒŠ[‚©‚ç‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - g_VBS_Lib - vbslib ‚Å’è‹`‚³‚ê‚Ä‚¢‚é’萔‚ƈꕔ‚̕ϐ”‚́Ag_VBS_Lib ƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚É‚È‚Á‚Ä‚¢‚Ü‚·B ‚±‚ê‚́A‚È‚é‚ׂ­ƒOƒ[ƒoƒ‹EƒXƒR[ƒv‚É‚¨‚¢‚ăVƒ“ƒ{ƒ‹‚ªd•¡‚µ‚È‚¢‚悤‚É‚·‚邽‚ß‚Å‚·B - ŽŸ‚̂悤‚ɁAƒ[ƒJƒ‹•Ï” c ‚ðŽg‚Á‚ăAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - Sub FuncA() Set c = g_VBS_Lib - If StrCompLastOf( "ABC", "BC", c.CaseSensitive ) = 0 Then ... - End Sub - - g_VBS_Lib - CaseSensitive - ’萔‚Ì“à—e‚ɂ‚¢‚ẮA¶‚̃cƒŠ[‚©‚çƒTƒuEƒcƒŠ[‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - - (src) - - ŽQl - - ¨ get_ModuleConsts : ƒNƒ‰ƒX‚̒萔 (vbsool) - - - - - - - - CaseSensitive (g_VBS_Lib) - - - Dim g_VBS_Lib:CaseSensitive as integer - - ‚Q‚‚̉p•¶Žš‚Ì•¶Žš—ñ”äŠr‚É‚¨‚¢‚āA‘啶ŽšE¬•¶Žš‚ð‹æ•Ê‚·‚邱‚Æ - CaseSensitive ‚ªŽw’è‚Å‚«‚éˆø”‚ɁACaseSensitive ‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚́A‘啶Žš‚Ə¬•¶Žš‚𓯂¶•¶Žš‚Å‚ ‚é‚Æ‚µ‚āA•¶Žš—ñ”äŠr‚ðs‚¢‚Ü‚·B - ŽQl - - ¨ StrCompOption - - ƒTƒ“ƒvƒ‹F - - - Set c = g_VBS_LibIf StrComp( "ABC", "abc", StrCompOption( c.CaseSensitive ) ) = 0 Then ... - If StrCompLastOf( "ABC", "BC", c.CaseSensitive ) = 0 Then ... - - - - - - - - WholeWord (g_VBS_Lib) - - - Dim g_VBS_Lib:WholeWord as integer - - •¶Žš—ñ‚ÌŒŸõ‚É‚¨‚¢‚āA’PŒê‘S‘Ì‚ªƒ}ƒbƒ`‚·‚é‚à‚Ì‚¾‚¯ƒqƒbƒg‚³‚¹‚Ü‚·Bi’PŒê’PˆÊŒŸõAŠ®‘Sˆê’vj - ŽQl - - ¨ InStrEx - - - - - - - - LastNextPos (g_VBS_Lib) - - - Dim g_VBS_Lib:LastNextPos as integer - - ŒŸõ‚µ‚½Œ‹‰Ê‚ðAƒqƒbƒg‚µ‚½ˆÊ’u‚ÌŽŸ‚̈ʒu‚É‚µ‚Ü‚·B - ŽQl - - ¨ InStrEx - - ABCDE ‚Ì’†‚Å C ‚ðŒŸõ‚µ‚½‚çAD ‚̈ʒu‚ðŒŸõ‚µ‚½Œ‹‰Ê‚É‚µ‚Ü‚·BABCDE ‚Ì’†‚Å BCD ‚ðŒŸõ‚µ‚½‚çAE ‚̈ʒu‚ðŒŸõ‚µ‚½Œ‹‰Ê‚É‚µ‚Ü‚·B - - - - - - - g_VBS_Lib_System - vbslib ‚Ì System.vbs ‚Å’è‹`‚³‚ê‚é - - g_VBS_Lib - - B - - - - - - - NotExistFileMD5 (g_VBS_Lib_System) - - - Dim g_VBS_Lib_System:NotExistFileMD5 as string - - ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢‚±‚Ƃ𖾎¦“I‚ÉŽ¦‚·‚Æ‚«‚̃nƒbƒVƒ…’lB - ’l‚́A0‚ª32Œ…‚Ì•¶Žš—ñ‚Å‚·B - - - NotExistFileMD5 = "00000000000000000000000000000000" - - - ¨ System.vbs - - ƒ\[ƒX - - - - - - - ArrayClass - - - Dim a : Set a = new ArrayClassa.Add 1 - echo a(0) - echo "count = " & a.Count - - VBScript •W€‚Ì”z—ñ iƒvƒƒpƒeƒBj - - .ToEmpty - - —v‘f‚ð‚·‚×‚Äíœ‚·‚é - - .Add - - —v‘f‚ðÅŒã‚ɒljÁ‚·‚é - - .Push - - —v‘f‚ðÅŒã‚ɒljÁ‚·‚é - - .Pop - - ÅŒã‚Ì—v‘f‚ð•Ô‚µA”z—ñ‚©‚ç—v‘f‚ðíœ‚·‚é - - .Count - - —v‘f”‚ð•Ô‚· - - .Echo - - ƒTƒ“ƒvƒ‹ - ƒƒ“ƒo[ - ‚·‚ׂĂ̗v‘f‚ð•\Ž¦‚·‚é - - - Dim itemFor Each item In a.Items - echo item - Next - - Šî–{“I‚ÈŽg‚¢•ûF - For •¶‚ÅŽg‚¤F - ”z—ñ‚ðˆµ‚¢‚â‚·‚­‚·‚éƒNƒ‰ƒX‚Å‚·B—v‘f‚́AƒIƒuƒWƒFƒNƒg‚Å‚à‚»‚êˆÈŠO‚Å‚àŠi”[‚Å‚«‚Ü‚·B - ”z—ñ”ԍ†ˆÈŠO‚Å‚à—v‘f‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B - a ‚ª ArrayClass ƒIƒuƒWƒFƒNƒg - - .Copy - - ‚·‚ׂĂ̗v‘f‚ðƒRƒs[‚·‚é - - .Value - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚𕶎š—ñ‚É‚·‚é - ”z—ñ‚Ì—v‘fB ”z—ñ”ԍ†B iƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒBj - - .Item - - ŠÖ˜A - - ¨ ”z—ñAArrayAReDim Preserve (VBScript) - - - ¨ T_Arr.vbs # [T_ArrClass] - - ƒeƒXƒg - - .Items - - While •¶‚ÅŽg‚¤F - - - Dim a : Set a = new ArrayClassDim iter : Set iter = a.NewIterator() - While iter.HasNext() - echo iter.GetNext() - WEnd - - a ‚ª ArrayClass ƒIƒuƒWƒFƒNƒgiter ‚́AArrayClassIterator ƒIƒuƒWƒFƒNƒg - - ¨ ArrayClassIterator ƒNƒ‰ƒX - - - ¨ ArraySpeed.vbs - - «”\”äŠr - - ¨ ItemFunc (ArrayClass) - - - - Dim arr : Set arr = new ArrayClass : arr.AddElems Array( 1, 2, 3 ) - - ŠÖ˜A - - ¨ BinaryArray ƒNƒ‰ƒX - - - ¨ ”z—ñ—v‘f‚ð’ljÁ‚·‚鑬“x - - - ¨ vbslib.vbs - - ƒ\[ƒX - - - - - - - new_ArrayClass - - - Function new_ArrayClass( InitialValues as array of variant ) as ArrayClass - - ”z—ñ‚©‚ç ArrayClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - InitialValues - ArrayClass ‚̃IƒuƒWƒFƒNƒg‚̏‰Šú’l‚Ì”z—ñ - •Ô‚è’l - ArrayClass ‚̃IƒuƒWƒFƒNƒg - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - (src) - - ƒTƒ“ƒvƒ‹ - - - Assert new_ArrayClass( Array( 1, 2, 3 ) ).CSV = "1,2,3" - - ƒTƒ“ƒvƒ‹ - - - Set arr = new_ArrayClass( Array( 1, 2, 3 ) )Assert arr(0) = 1 - Assert arr(1) = 2 - Assert arr(2) = 3 - - new_ArrayClass - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - ItemA”z—ñ”ԍ† (ArrayClass) - - - Default Property ArrayClass::Item( i as integer ) - - ”z—ñ”ԍ†‚ðŽg‚Á‚āA”z—ñ‚Ì—v‘f‚ðŽQÆ‚µ‚Ü‚·B iƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒBj - yˆø”z - i - ”z—ñ‚Ì—v‘f‚̔ԍ†B æ“ª‚Í 0 - - - Dim a : Set a = new ArrayClassa.Add 1 - echo a(0) '// a.Item(0) ‚Æ“¯‚¶ - - ƒTƒ“ƒvƒ‹F - a(0) - ƒIƒuƒWƒFƒNƒg‚ð Set ‚·‚é‚Æ‚«‚́AŽŸ‚̂悤‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - - - Set a(0) = new ClassA - - - ¨ ItemFunc (ArrayClass) - - ŠÖ˜A - ItemFunc ƒvƒƒpƒeƒB‚Ɋ֐”‚ð“o˜^‚·‚é‚ƁAˆø” i ‚É•¶Žš—ñ‚È‚Ç‚ðŽw’è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - (src) - - i ˆø”‚ª”z—ñ‚Ì—v‘f”ˆÈã‚Ì‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - - - - - - - ItemFunc (ArrayClass) - - - Dim ArrayClass::ItemFunc as Function( Items as Array, Name as variant ) as variant - - ”z—ñ‚Ì—v‘f‚ðŽæ“¾‚·‚éŠÖ”B Item ƒvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚é‚ƌĂ΂ê‚éŠÖ”B - ŠÖ˜A - - ¨ Item (ArrayClass) - - - ¨ Item ƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒB : “®“I’è‹`ƒƒ“ƒo[ (vbsool) - - - - Dim arr : Set arr = new ArrayClass Set arr.ItemFunc = GetRef( "ClassA_getItem" ) - Set obj = arr( "Name" ) - - - - Function ClassA_getItem( Items, Name ) Dim s - If IsNumeric( Name ) Then - Set ClassA_getItem = Items( Name ) - Else - For Each s In Items - If s.Name = Name Then Set ClassA_getItem = s : Exit Function - Next - End If - End Function - - ƒTƒ“ƒvƒ‹F - Item ƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚é‚Æ‚«‚ɁA—v‘f‚ðŒˆ’è‚·‚é•û–@‚ðƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B - - ¨ T_Arr_Target # [T_ArrayCustom] - - ƒeƒXƒg - - ¨ NameOnlyClass - - ”z—ñ”ԍ†ˆÈŠO‚̐”’lŒ^‚Å—v‘f‚ðŽ¯•Ê‚·‚é‚Æ‚« - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Items (ArrayClass) - - - Dim ArrayClass::Items as array of variant - - ArrayClass ƒNƒ‰ƒX‚ªƒ‰ƒbƒv‚µ‚Ä‚¢‚é”z—ñ‚Å‚·B - —v‘f‚́AƒIƒuƒWƒFƒNƒg‚Å‚à‚»‚êˆÈŠO‚Å‚àŠi”[‚Å‚«‚Ü‚·B - - (src) - - - - Dim arr : Set arr = new ArrayClassDim item - For Each item In arr.Items - echo item - Next - - For •¶‚ÅŽg‚¤F - ƒ\[ƒgŠÖ”‚É“n‚·‚Æ‚«‚́AItems ‚Å‚Í‚È‚­AArrayClass ƒIƒuƒWƒFƒNƒg‚ð“n‚µ‚Ä‚­‚¾‚³‚¢B - - - Dim arr : Set arr = new ArrayClass : - ShakerSort - ShakerSort arr, 1, arr.UBound_, GetRef("CmpFunc1"), Empty - - arr - arr - Items - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - m_Array (ArrayClass) - - (src) - - - ¨ Items (ArrayClass) - - Items ‚Æ“¯‚¶‚Å‚·B”pŽ~‚³‚ê‚é—\’è‚Å‚·B - - - - - - - ReDim_ (ArrayClass) - - - Sub ArrayClass::ReDim_( UBound as integer ) - - ”z—ñ‚Ì—v‘f”‚ð•ÏX‚µ‚Ü‚·B ReDim Preserve ‚Æ“¯‚¶‚Å‚·B - yˆø”z - UBound - V‚µ‚¢”z—ñ‚̍őå—v‘f”ԍ† - - (src) - - ReDim ‚Ì––”ö‚ɃAƒ“ƒ_[ƒXƒRƒA‚ª•t‚¢‚Ä‚¢‚Ü‚·BiReDim ‚Í—\–ñŒê‚Å‚ ‚邽‚߁Bj - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Add (ArrayClass) - - - Sub ArrayClass::Add( Elem as variant ) - - ”z—ñ‚̍Ōã‚É—v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - Elem - ”z—ñ‚ɒljÁ‚·‚é—v‘fiƒIƒuƒWƒFƒNƒgA‚Ü‚½‚Í‚»‚êˆÈŠOj - ArrayClass::Push ‚Æ“¯‚¶‚Å‚·B - - (src) - - Elem ‚É”z—ñ‚ðŽw’è‚·‚é‚ƁAArrayClass ‚Ì’†‚Ì‚P‚‚̗v‘f‚Ì’†‚É Elem ”z—ñ‚ð’ljÁ‚µ‚Ü‚·BArrayClass ‚Ì’†‚É•¡”‚Ì—v‘f‚ð’ljÁ‚·‚é‚Æ‚«‚́AAddElem ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ AddElems (ArrayClass) - - ŠÖ˜A - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - AddElems (ArrayClass) - - - Sub ArrayClass::AddElems( SrcArr as variant or array or ArrayClass ) - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ð’ljÁƒRƒs[‚µ‚Ü‚·B - ‚±‚ê‚Ü‚Å“ü‚Á‚Ä‚¢‚½—v‘f‚ÌŒã‚ɒljÁ‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - Dim aSet a = New ArrayClass - a.Add 1 - a.AddElems Array( 2, 3 ) - '// a ‚́A{ 1, 2, 3 } - - AddElems - - ¨ AddArrElem - - - (src) - - - ¨ Add (ArrayClass) - - ŠÖ˜A - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - AddNewObject (ArrayClass) - - - Function ArrayClass::AddNewObject( ClassName as string, ObjectName as string ) as ClassName - - Žw’肵‚½–¼‘O‚ð•t‚¯‚½ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚āA”z—ñ‚̍Ōã‚ɒljÁ‚µ‚Ü‚·B - yˆø”z - ClassName - ƒNƒ‰ƒX–¼ - ObjectName - ƒIƒuƒWƒFƒNƒg‚Ì–¼‘O - •Ô‚è’l - Name ƒvƒƒpƒeƒB‚ª ObjectName ‚̃IƒuƒWƒFƒNƒg - ƒTƒ“ƒvƒ‹F - - - Set objects = new ArrayClass Set o = objects.AddNewObject( "ClassA", "ObjectA" ) - - Class ClassA - Public Name - End Class - - Function new_ClassA() - Set new_ClassA = new ClassA - End Function - - ‚·‚Å‚É“¯‚¶–¼‘O‚̃IƒuƒWƒFƒNƒg‚ª”z—ñ‚É‚ ‚Á‚Ä‚àAƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - (src) - - ŠÖ˜A - - ¨ Dic_addNewObject - - ƒeƒXƒg - - ¨ [T_AddNewObj] - - - new_X - - “à•”‚Å - ‚ðŽg‚Á‚Ä‚¢‚é‚̂ŁA‚½‚Æ‚¦‚΁AClassA ‚ɑ΂µ‚Ä new_ClassA ŠÖ”‚Ì’è‹`‚ª•K—v‚Å‚·B - ClassName ‚ÉŽw’肵‚½ƒNƒ‰ƒX‚ɁAName ƒvƒƒpƒeƒBA‚Ü‚½‚̓ƒ“ƒo[•Ï”‚ª•K—v‚Å‚·B - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - AddCSV (ArrayClass) - - - Sub ArrayClass::AddCSV( CSV as string, Type_ as integer ) - - ”z—ñ‚̍Ōã‚É•¡”‚Ì—v‘f‚ð’ljÁ‚µ‚Ü‚·B - - (src) - - yˆø”z - CSV - ’ljÁ‚·‚é—v‘f‚ð CSVi•¶Žš—ñj‚É‚µ‚½‚à‚Ì - Type_ - ’ljÁ‚·‚é—v‘f‚ÌŒ^A—áFvbInteger, vbString - ƒTƒ“ƒvƒ‹F - ŠÖ˜A - - ¨ CSV (ArrayClass) - - - - Dim a : Set a = new ArrayClassa.AddCSV "12, 34", vbInteger - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - ¨ (CSV) ArrayFromCSV, ArrayFromCSV_Int - - - - - - - - Insert (ArrayClass) - - - Sub ArrayClass::Insert( in_BeforeIndex0 as integer, in_AddingElement as variant ) - - ”z—ñ‚Ì“r’†‚É—v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_BeforeIndex0 - ’ljÁ‚·‚éˆÊ’u‚Ì’¼‘O‚Ì”z—ñ”ԍ† - in_AddingElement - ’ljÁ‚·‚é—v‘f - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Push (ArrayClass) - - - Sub ArrayClass::Push( Elem as variant ) - - ”z—ñ‚̍Ōã‚É—v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - Elem - ”z—ñ‚ɒljÁ‚·‚é—v‘fiƒIƒuƒWƒFƒNƒgA‚Ü‚½‚Í‚»‚êˆÈŠOj - ArrayClass::Add ‚Æ“¯‚¶‚Å‚·B - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - ƒXƒ^ƒbƒN‚̂悤‚É—v‘f‚ðŽæ‚èo‚·‚Æ‚«‚́A - - ¨ Pop (ArrayClass) - - - ¨ Remove (ArrayClass) - - ƒLƒ…[‚̂悤‚É—v‘f‚ðŽæ‚èo‚·‚Æ‚«‚́A - - - - - - - Pop (ArrayClass) - - - Function ArrayClass::Pop() as variant - - ”z—ñ‚̍Ōã‚Ì—v‘f‚ð•Ô‚µA‚»‚Ì—v‘f‚ð”z—ñ‚©‚珜ŠO‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ”z—ñ‚̍Ōã‚Ì—v‘fiƒIƒuƒWƒFƒNƒgA‚Ü‚½‚Í‚»‚êˆÈŠOj - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - Set i_stack = new ArrayClass For i=0 To modules.UBound_ - If modules(i) = "delete" Then - i_stack.Push i - End If - Next - Do - If i_stack.Count = 0 Then Exit Do - modules.Remove i_stack.Pop(), 1 - Loop - - ƒTƒ“ƒvƒ‹ - íœ‚·‚é”z—ñ”ԍ†‚ðƒXƒ^ƒbƒN‚ɃvƒbƒVƒ…‚µ‚āAƒ|ƒbƒv‚µ‚È‚ª‚ç modules ”z—ñ‚Ì—v‘f‚ðíœ‚·‚é - Pop - - - - - - - Search (ArrayClass) - - - Function ArrayClass::Search( in_KeyItem as variant, in_CompareFunction as Function, in_ParameterOfCompareFunction as variant, - in_StartIndexOrEmpty ); - - ”äŠrŠÖ”‚Ä’è‹`‚³‚ꂽðŒ‚ð–ž‚½‚·—v‘f‚ð—ñ‹“‚µ‚Ü‚·B - yˆø”z - in_KeyItem - in_CompareFunction ‚Ì‘æ2ˆø” - in_CompareFunction - in_ParameterOfCompareFunction - - ”äŠrŠÖ” - - in_CompareFunction ‚Ì‘æ3ˆø” - in_StartIndexOrEmpty - ”äŠr‚ðŠJŽn‚·‚é—v‘f”ԍ† 0ˆÈãA‚Ü‚½‚Í Empty - - ¨ vbslib.vbs - - ƒ\[ƒX - •Ô‚è’l - ”z—ñ”ԍ†A‚Ü‚½‚́A”z—ñ”ԍ†‚Ì”z—ñ - in_StartIndexOrEmpty ˆø”‚ª”’l‚È‚çA•Ô‚è’l‚Í”z—ñ”ԍ†‚Å‚·B Œ©‚‚©‚ç‚È‚©‚Á‚½‚çAEmpty ‚ð•Ô‚µ‚Ü‚·B - in_StartIndexOrEmpty ˆø”‚ª Empty ‚È‚çA•Ô‚è’l‚Í”z—ñ”ԍ†‚Ì”z—ñ‚Å‚·B Œ©‚‚©‚ç‚È‚©‚Á‚½‚ç - —v‘f” 0 ‚Ì”z—ñ‚ð•Ô‚µ‚Ü‚·B - - ¨ T_Arr.vbs - - ƒeƒXƒg - T_ArrayClass_Search - - - - - - - Remove (ArrayClass) - - (src) - - - - Sub ArrayClass::Remove( i as integer, n as string ) as variant - - —v‘f‚ð”z—ñ‚©‚çíœ‚µ‚āAŒã‚Ì—v‘f‚ð‹l‚ß‚Ü‚·B - yˆø”z - i - n - ”z—ñ‚Ì—v‘f‚̔ԍ†B æ“ª‚Í 0 - íœ‚·‚é—v‘f‚̐” - - [ e: ArrayClass ƒNƒ‰ƒX ] - - ƒTƒ“ƒvƒ‹ - - - Set arr = new_ArrayClass( Array( 0, 1, 2, 3, 4, 5 ) )arr.Remove 1, 2 - Assert IsSameArray( arr.Items, Array( 0, 3, 4, 5 ) ) - - Remove - - ¨ T_Arr.vbs # T_ArrClass_Remove - - ƒeƒXƒg - - - - - - - RemoveObject (ArrayClass) - - - Function ArrayClass::RemoveObject( a_Object as object ) as object - - Žw’肵‚½ƒIƒuƒWƒFƒNƒg‚ðŽw‚µ‚Ä‚¢‚é”z—ñ‚Ì—v‘f‚P‚‚ðA”z—ñ‚©‚珜ŠO‚µ‚Ü‚·B - yˆø”z - a_Object - ”z—ñ‚©‚珜ŠO‚·‚éƒIƒuƒWƒFƒNƒg - •Ô‚è’l - œŠO‚µ‚½‚Æ‚« = a_ObjectA –³‚©‚Á‚½‚Æ‚« = Nothing ƒIƒuƒWƒFƒNƒg - ”z—ñ—v‘f‚ª‚·‚ׂăIƒuƒWƒFƒNƒg‚Å‚È‚¢‚ƃGƒ‰[‚É‚È‚è‚Ü‚·BœŠO‚µ‚½”z—ñ”ԍ†‚ɂ́A{‚P‚Ì”z—ñ”ԍ†‚¾‚Á‚½ƒIƒuƒWƒFƒNƒg‚ª“ü‚èA‹l‚ß‚ç‚ê‚Ü‚·B - ŽÀs‘OF objs.UBound_=3, objs(0)= a, (1)= b, (2)= c, (3)= d ‚È‚ç‚ÎŽÀsŒãF objs.UBound_=2, objs(0)= a, (1)= c, (2)= d - - - objs.RemoveObject b - - ƒTƒ“ƒvƒ‹F - - (src) - - ƒeƒXƒg - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - ¨ T_Arr.vbs - - T_AddNewObj - - - - - - - RemoveEmpty (ArrayClass) - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - Sub ArrayClass::RemoveEmpty() - - Empty ‚É‚È‚Á‚Ä‚¢‚é”z—ñ‚Ì—v‘f‚ð‹l‚ß‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set arr = new_ArrayClass( Array( 0, Empty, 2, Empty, Empty, 5 ) )arr.RemoveEmpty - Assert IsSameArray( arr.Items, Array( 0, 2, 5 ) ) - - ƒeƒXƒg - - ¨ T_Arr.vbs # T_ArrClass_RemoveEmpty - - - - - - - - RemoveByIndexes (ArrayClass) - - - Sub ArrayClass::RemoveByIndexes( in_Indexes as array of integer ) - - Žw’肵‚½”z—ñ”ԍ†‚Ì—v‘f‚ð”z—ñ‚©‚珜ŠO‚µ‚Ü‚·B - yˆø”z - in_Indexes - œŠO‚·‚é—v‘f‚Ì”z—ñ”ԍ†‚Ì”z—ñ - - - Set an_array = new_ArrayClass( Array( "A", "B". "C", "D" ) ) an_array.RemoveByIndexes Array( 1, 3 ) - Aseert IsSameArray( an_array, Array( "A", "C" ) ) ) - - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Arr.vbs - - ƒeƒXƒg - T_ArrayClass_RemoveByIndexes - - - - - - - ToEmpty (ArrayClass) - - - Sub ArrayClass::ToEmpty() - - ”z—ñ‚ð‹ó‚É‚µ‚Ü‚·B ”z—ñ—v‘f”‚Í 0 ‚É‚È‚è‚Ü‚·B - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - LookUpDic (ArrayClass) - - - Function ArrayClass::LookUpDic( Key as string, Value as variant ) as Dictionary - - ”z—ñ‚Ì—v‘f‚Ì’†‚©‚çAŽw’肵‚½’l‚ðŽ‚ÂŽ«‘‚ð•Ô‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set dic1 = CreateObject( "Scripting.Dictionary" )dic1.Item( "name" ) = "Item1" - - Set dic2 = CreateObject( "Scripting.Dictionary" ) - dic2.Item( "name" ) = "Item2" - - Set arr = new_ArrayClass( Array( dic1, dic2 ) ) - - Assert arr.LookUpDic( "name", "Item1" ) Is dic1 - - "name", "Item1" - ”z—ñ‚Ì—v‘f‚ªŽ«‘‚Ì‚Æ‚«‚ÉŽg‚¦‚Ü‚·BŠY“–‚·‚é—v‘f‚ª–³‚©‚Á‚½‚Æ‚«‚́ANothing ‚ð•Ô‚µ‚Ü‚·B - - ¨ T_Dic.vbs # T_LookUpDicInArray - - ƒeƒXƒg - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - ŠÖ˜A - - ¨ SearchInSimpleArray - - - - - - - - NewIterator (ArrayClass) - - - Dim ArrayClass::NewIterator as ArrayClassIterator - - - ArrayClassIterator - - ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - (src) - - ‰‚ß‚Ä ArrayClassIterator::GetNext ‚ðŒÄ‚ñ‚¾‚Æ‚«‚́Aæ“ª‚Ì—v‘f‚ð•Ô‚µ‚Ü‚·B - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Count (ArrayClass) - - - Property Get ArrayClass::Count() as integer - - ”z—ñ‚Ì—v‘f”‚ð•Ô‚µ‚Ü‚·B - - (src) - - Count = 2 ‚È‚çALBound( Items ) = 0, UBound( Items ) = 1 ‚Å‚·B - Visual Basic ŒnŒ¾Œê‚ł́A—v‘f”‚̃Vƒ“ƒ{ƒ‹‚Í Count ‚Å‚·BJava ŒnŒ¾Œê‚ł́A—v‘f”‚̃Vƒ“ƒ{ƒ‹‚Í Length ‚Å‚·B - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Length (ArrayClass) - - - Property Get ArrayClass::Length() as integer - - ”z—ñ‚Ì—v‘f”‚ð•Ô‚µ‚Ü‚·B - - (src) - - Length = 2 ‚È‚çALBound( Items ) = 0, UBound( Items ) = 1 ‚Å‚·B - Visual Basic ŒnŒ¾Œê‚ł́A—v‘f”‚̃Vƒ“ƒ{ƒ‹‚Í Count ‚Å‚·BJava ŒnŒ¾Œê‚ł́A—v‘f”‚̃Vƒ“ƒ{ƒ‹‚Í Length ‚Å‚·B - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - UBound_ (ArrayClass) - - - Property Get ArrayClass::UBound_() as integer - - ”z—ñ‚̍őå—v‘f”ԍ†‚ð•Ô‚µ‚Ü‚·B - - (src) - - UBound ‚Ì––”ö‚ɃAƒ“ƒ_[ƒXƒRƒA‚ª•t‚¢‚Ä‚¢‚Ü‚·BiUBound ‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é‚ƁAArrayClass ‚ªŽÀ‘•‚Å‚«‚È‚­‚Ȃ邽‚߁Bj - - - For i=0 To Arr.UBound_ Next - - ƒTƒ“ƒvƒ‹F - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - CSV (ArrayClass) - - - Property Get ArrayClass::CSV() as string - - CSV Œ`Ž®‚É‚µ‚½”z—ñ‚Ì‚·‚ׂĂ̗v‘fB - - (src) - - - - Dim a : Set a = new ArrayClassa.Add "abc" - a.Add "def" - - echo a.CSV '// "abc,def" - - CSV - - ¨ AddCSV (ArrayClass) - - ŠÖ˜A - - [ e: ArrayClass ƒNƒ‰ƒX ] - - ƒTƒ“ƒvƒ‹ - - - Assert new_ArrayClass( Array( 1, 2, 3 ) ).CSV = "1,2,3" - - ƒTƒ“ƒvƒ‹ - - - - - - - Code (ArrayClass) - - - Property Get ArrayClass::Code() as string - - VBScript ‚̃R[ƒh‚É•ÏŠ·‚µ‚½A”z—ñ‚Ì‚·‚ׂĂ̗v‘fB - - - Dim a : Set a = new ArrayClassa.Add "abc" - a.Add "def" - - echo a.Code '// [ "abc","def" ]‚Æ•\Ž¦ - - ƒTƒ“ƒvƒ‹ - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - ¨ vbslib.vbs - - - ¨ T_Arr.vbs - - ƒeƒXƒg - ƒ\[ƒX - T_ArrClass_Code - - - - - - - Copy (ArrayClass) - - - Sub ArrayClass::Copy( SrcArr as array or ArrayClass ) - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ðƒRƒs[‚µ‚Ü‚·B - ‚±‚ê‚Ü‚Å“ü‚Á‚Ä‚¢‚½—v‘f‚Í–³‚­‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - Dim aSet a = New ArrayClass - a.Add 1 - a.Copy Array( 2, 3 ) - '// a ‚́A{ 2, 3 } - - Copy - - (src) - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Value (ArrayClass) - - - Property Get ArrayClass::Value() as string - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚𕶎š—ñ‚É‚µ‚Ü‚·B - ŒÃ‚¢Žd—l‚Å‚·B”pŽ~—\’è‚Å‚·B - - - Set arr = new ArrayClasss = GetEchoStr( arr ) - - ŽŸ‚̂悤‚É‘ã—p‚Å‚«‚Ü‚·B - - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - Echo (ArrayClass) - - - Sub ArrayClass::Echo() - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ð•\Ž¦‚µ‚Ü‚·B”pŽ~—\’è‚Å‚·B - Value ƒvƒƒpƒeƒB‚ð echo •\Ž¦‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ echo - - - (src) - - - ¨ Value (ArrayClass) - - ŒÃ‚¢Žd—l‚Å‚·B”pŽ~—\’è‚Å‚·B - - - Set arr = new ArrayClassecho arr - - - ŽŸ‚̂悤‚É‘ã—p‚Å‚«‚Ü‚·B - - [ e: ArrayClass ƒNƒ‰ƒX ] - - - - - - - - ArrayClassIterator ƒNƒ‰ƒX - ‚Ì—v‘f‚ð‡”Ô‚É‚½‚Ç‚Á‚Ä‚¢‚­ƒNƒ‰ƒX‚Å‚·B - - - Dim a : Set a = new ArrayClassDim iter : Set iter = a.NewIterator() - While iter.HasNext() - echo iter.GetNext() - WEnd - - ƒTƒ“ƒvƒ‹ - - ArrayClass - - ƒƒ“ƒo[ - - .GetNext - - - .HasNext - - ŽQl - - ¨ ƒCƒeƒŒ[ƒ^[ (JavaScript 1.7) - - ŽŸ‚Ì—v‘f‚ð•Ô‚·B ŽŸ‰ñ‚̌Ăяo‚µ‚ł́A‚»‚ÌŽŸ‚Ì—v‘f‚ð•Ô‚·B - ŽŸ‚Ì—v‘f‚ª‚ ‚é‚©‚Ç‚¤‚© - - ¨ NewIterator (ArrayClass) - - Žæ“¾ - - (src) - - - .GetNextOrSentinel - - ŽŸ‚Ì—v‘f‚ð•Ô‚·B ŽŸ‚Ì—v‘f‚ª–³‚¢‚Æ‚«‚́A”Ô•º‚ð•Ô‚·B - ƒeƒXƒg - - ¨ T_Arr_Target # [T_ArrIter] - - - - - - - - GetNext (ArrayClassIterator) - - - Function ArrayClassIterator::GetNext() as variant - - ŽŸ‚Ì—v‘f‚ð•Ô‚·B ŽŸ‰ñ‚̌Ăяo‚µ‚ł́A‚»‚ÌŽŸ‚Ì—v‘f‚ð•Ô‚·B - Java2 ‚Ì Iterator ƒpƒ^[ƒ“AJavaScript 1.7 ‚̃CƒeƒŒ[ƒ^[‚ł́Anext ‚É‘Š“–‚µ‚Ü‚·BNext ‚́AVBŒ¾Œê‚Ì—\–ñŒê‚Å‚ ‚邱‚ƂƁAMe ‚É•›ì—p‚ª‚ ‚邽‚߁AƒvƒƒpƒeƒB‚Å‚Í‚È‚­ƒƒ\ƒbƒh - ‚Å‚ ‚èAƒƒ\ƒbƒh‚Í“®ŽŒ‚ÅŽn‚Ü‚é•û‚ª“Ç‚Ý‚â‚·‚¢‚½‚߁AGetNext ‚ɕύX‚µ‚Ä‚¢‚Ü‚·B - - ¨ ArrayClassIterator ƒNƒ‰ƒX - - •â‘« - ŽŸ‚Ì—v‘f‚ª–³‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B ƒGƒ‰[‚É‚µ‚½‚­‚È‚¢‚Æ‚«‚́A - - GetNextOrSentinel - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - - - - - HasNext (ArrayClassIterator) - - - Function ArrayClassIterator::HasNext() as boolean - - ŽŸ‚Ì—v‘f‚ª‚ ‚é‚©‚Ç‚¤‚©‚ð•Ô‚·B - - ¨ ArrayClassIterator ƒNƒ‰ƒX - - - - - - - - GetNextOrSentinel (ArrayClassIterator) - - - Dim f, line, a, elem, iter Set a = new ArrayClass : a.Add new Elem - Set iter = a.NewIterator - Set sentinel = new Elem - Set elem = iter.GetNextOrSentinel( sentinel ) - - Set f = OpenForRead( path ) - Do Until f.AtEndOfStream - line = f.ReadLine() - If elem.IsMatch( line ) Then '// ‚±‚±‚Ŕԕº‚ªŽg‚í‚ê‚邱‚Æ‚ª‚ ‚é - ... - elem = iter.GetNextOrSentinel( sentinel ) - '// GetNext ‚Å‚Í‚±‚±‚ŃGƒ‰[‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª‚ ‚é - End If - Loop - f = Empty - elem = Empty - iter = Empty - - - - Function ArrayClassIterator::GetNextOrSentinel( Sentinel as variant ) as variant - - ŽŸ‚Ì—v‘f‚ð•Ô‚·B ‚½‚¾‚µAŽŸ‚Ì—v‘f‚ª–³‚¢‚Æ‚«‚́ASentinel ˆø”i”Ô•ºj‚ð•Ô‚·B - ƒTƒ“ƒvƒ‹F - GetNextOrSentinel - GetNextOrSentinel - - ¨ ArrayClassIterator ƒNƒ‰ƒX - - - - - - - - ArrayDictionary ƒNƒ‰ƒX - - Dictionary - - •W€‚Ì - ‚Ì Item ‚ðA”z—ñ‚É‚µ‚½ƒNƒ‰ƒX‚Å‚·B - - - Dim dic - Set dic = new ArrayDictionary - dic.Add "key1", "item11" - dic.Add "key1", "item12" - dic.Add "key1", "item13" - dic.Add "key2", "item21" - dic.Echo - - Dim i,j - For Each j in dic.Dic.Items() : For Each i in j.Items - WScript.Echo i - Next : Next - - - - item11item12 - item13 - item21 - - ã‹LƒXƒNƒŠƒvƒg‚̏o—Í - ƒTƒ“ƒvƒ‹F - - Dic - - VBScript •W€‚Ì Dictionary iƒvƒƒpƒeƒBj - ƒƒ“ƒo - - Add - - ƒL[‚É—v‘f‚ð“o˜^‚·‚éBƒL[‚͏d•¡‰Â”\ - - ToEmpty - - ‚·‚ׂĂ̗v‘f‚ðíœ‚µ‚Ü‚· - - Echo - - ‚·‚ׂĂ̗v‘f‚ð•\Ž¦‚·‚é - - Count - - —v‘f‚̐” - ‚P‚‚̃L[‚ɑ΂µ‚āA•¡”‚̃AƒCƒeƒ€‚ðŠÖ˜A•t‚¯‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_Arr_Target.vbs [T_ArrayDic1] - - - - - Dictionary - - - Key, Item - - - - - - - - - ArrayClass - - - * - - - - - - - - Item - - * - - - - - - - Dic (ArrayDictionary) - - - Dim ArrayDictionary::Dic as Dictionary of variant - - ArrayDictionary ƒNƒ‰ƒX‚ªƒ‰ƒbƒv‚µ‚Ä‚¢‚鎫‘‚Å‚·B - —v‘f(Item)‚́AƒIƒuƒWƒFƒNƒg‚Å‚à‚»‚êˆÈŠO‚Å‚àŠi”[‚µ‚Ü‚·B - - (src) - - - - - - - - ToEmpty (ArrayDictionary) - - - Sub ArrayDictionary::ToEmpty() - - Ž«‘‚É—v‘f‚ð‹ó‚É‚µ‚Ü‚·B —v‘f”‚Í 0 ‚É‚È‚è‚Ü‚·B - - (src) - - - - - - - - Add (ArrayDictionary) - - - Sub ArrayDictionary::Add( Key as string, Item as variant ) - - Ž«‘‚É—v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - Key - —v‘f‚ÉŠÖ˜A•t‚¯‚éƒL[•¶Žš—ñ - Item - Ž«‘‚ɒljÁ‚·‚é—v‘fiƒIƒuƒWƒFƒNƒgA‚Ü‚½‚Í‚»‚êˆÈŠOj - - (src) - - - - - - - - Count (ArrayDictionary) - - - Function ArrayDictionary::Count() as integer - - Ž«‘‚Ì—v‘f”‚ð•Ô‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - Ž«‘‚Ì—v‘f” - ‚P‚‚̃L[‚É•¡”‚Ì—v‘f‚ªŠÖ˜A•t‚¯‚³‚ê‚邱‚Æ‚ª‚ ‚é‚̂ŁA—v‘f”‚̓L[‚̐”‚ƈê’v‚µ‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B - - (src) - - - - - - - - Echo (ArrayDictionary) - - - Sub ArrayDictionary::Echo() - - Ž«‘‚Ì‚·‚ׂĂ̗v‘f‚ð•\Ž¦‚µ‚Ü‚·B - - (src) - - - - - - - - Dic_addInArrayItem - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Dic.vbs - - ƒeƒXƒg - T_DicArrayItem - ŠÖ˜A - - ¨ Dic_removeInArrayItem - - - - Sub Dic_addInArrayItem( ref_Dictionary as dictionary of ArrayClass, _ in_Key as string, in_Item as variant ) - - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘‚ɁA”z—ñ‚Ì—v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - in_Key - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘ - Ž«‘‚̃L[ - in_Item - ”z—ñ‚ɒljÁ‚·‚éƒAƒCƒeƒ€ iƒIƒuƒWƒFƒNƒg ‚Ü‚½‚Í ”ñƒIƒuƒWƒFƒNƒgj - - - - ref_Dictionary - - - Key, Item - - - - - - - - - ArrayClass - - - * - - - - - - - - in_Item - - * - ƒf[ƒ^\‘¢ - “o˜^‚³‚ê‚Ä‚¢‚È‚¢Ž«‘‚̃L[‚ðŽw’肵‚½‚Æ‚«‚́A“à•”‚Å ArrayClass ‚̃IƒuƒWƒFƒNƒg‚ðV‹Kì¬‚µ‚āAŽ«‘‚̃AƒCƒeƒ€‚É‚µ‚Ü‚·B - ‚·‚Å‚É“o˜^‚³‚ê‚Ä‚¢‚鎫‘‚̃L[‚ðŽw’肵‚½‚Æ‚«‚́A‚»‚̃L[‚̃AƒCƒeƒ€‚Å‚ ‚é”z—ñ‚Ì––”ö‚É - ’ljÁ‚µ‚Ü‚·B - “à•”‚Ì“®ì - - - Dic_addInArrayItem dic, "key", item - - ƒTƒ“ƒvƒ‹ - —v‘f‚Ń‹[ƒv‚·‚é - - - For Each key In files.Keys For Each item In files( key ).Items - : - Next - Next - - “¯‚¶—v‘f‚ðd•¡‚µ‚ĒljÁ‚·‚é‰Â”\«‚ª‚ ‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ Dic_addExInArrayItem - - - ¨ ArrayDictionary ƒNƒ‰ƒX - - - - - - - - Dic_addExInArrayItem - - - Sub Dic_addExInArrayItem( ref_Dictionary as dictionary of ArrayClass, _ in_Key as string, in_Item as variant, _ - in_CompareFunction as CompareFunction, in_ParameterOfCompareFunction as variant, _ - in_Option as integer ) - - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘‚ɁAd•¡‚µ‚È‚¢‚悤‚ɁA”z—ñ‚Ì—v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - in_Key - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘ - Ž«‘‚̃L[ - in_Item - ”z—ñ‚ɒljÁ‚·‚éƒAƒCƒeƒ€Ain_CompareFunction ‚Ì‘æ2ˆø” - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Dic.vbs - - ƒeƒXƒg - T_DicArrayItem - in_CompareFunction - in_ParameterOfCompareFunction - - ”äŠrŠÖ” - - in_CompareFunction ‚Ì‘æ3ˆø” - in_Option - c.ReplaceIfExist ‚Ü‚½‚Í c.IgnoreIfExist ‚Ü‚½‚Íc.AddAlways - in_Option ˆø”‚Ì c ‚́Ag_VBS_Lib ‚Å‚·B - c.ReplaceIfExist - c.IgnoreIfExist - ”äŠrŠÖ”‚ª 0 ‚ð•Ô‚·—v‘f‚ª‚·‚Å‚É‚ ‚é‚Æ‚«‚́A’u‚«Š·‚¦‚Ü‚·B - ”äŠrŠÖ”‚ª 0 ‚ð•Ô‚·—v‘f‚ª‚·‚Å‚É‚ ‚é‚Æ‚«‚́A’ljÁ‚µ‚Ü‚¹‚ñB - c.AddAlways - ”äŠrŠÖ”‚ÌŒ‹‰Ê‚ÉŠÖ‚í‚炸A’ljÁ‚µ‚Ü‚·B - - - - - - - Dic_removeInArrayItem - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Dic.vbs - - ƒeƒXƒg - T_DicArrayItem - - - Dic_removeInArrayItem dic, "KeyA", "ItemA", GetRef( "StdCompare" ), Empty, True, False - - - - Sub Dic_removeInArrayItem( arg_Dictionary as dictionary of ArrayClass, _ in_Key as string, in_Item as variant, _ - in_CompareFunction as CompareFunction, in_ParameterOfCompareFunction as variant, _ - in_IsErrorIfNotFound as boolean, in_IsMultiRemove as boolean ) - - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘‚©‚çA”z—ñ‚Ì—v‘f‚ðœŠO‚µ‚Ü‚·B - yˆø”z - arg_Dictionary - in_Key - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘ - Ž«‘‚̃L[ - in_Item - ”äŠr‘Ώۂ̃AƒCƒeƒ€Ain_CompareFunction ‚Ì‘æ2ˆø” - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - ¨ Dic_addInArrayItem - - in_CompareFunction - in_ParameterOfCompareFunction - in_IsErrorIfNotFound - in_IsMultiRemove - - ”äŠrŠÖ” - - in_CompareFunction ‚Ì‘æ3ˆø” - ‚P‚‚àˆê’v‚µ‚È‚©‚Á‚½‚çƒGƒ‰[‚É‚·‚é‚©‚Ç‚¤‚© - •¡”‚Ì—v‘f‚ªˆê’v‚µ‚½‚çA‚»‚Ì‚·‚ׂďœŠO‚·‚é‚©‚Ç‚¤‚© - in_IsErrorIfNotFound ‚É True ‚ðŽw’è‚·‚é‚ƁA“o˜^‚³‚ê‚Ä‚¢‚È‚¢Ž«‘‚̃L[‚ðŽw’肵‚½‚Æ‚«‚âA”äŠr‘Ώۂ̃AƒCƒeƒ€‚ƈê’v‚·‚é”z—ñ—v‘f‚ª‚P‚‚̂Ȃ©‚Á‚½‚Æ‚«‚ɁAE_NotFoundSymbol ƒGƒ‰[ - ‚É‚È‚è‚Ü‚·B - ŽQl - - Dic_addInArrayItem - - ‚̃f[ƒ^\‘¢ - Ž«‘‚Ì’†‚É‚ ‚éAŽw’肳‚ꂽƒL[‚ɑΉž‚·‚éƒAƒCƒeƒ€‚ð’T‚µA‚»‚̃AƒCƒeƒ€‚Å‚ ‚é”z—ñ‚Ì’†‚Ì‚·‚ׂĂ̗v‘f‚ɑ΂µ‚Ä”äŠrŠÖ”‚ðƒR[ƒ‹ƒoƒbƒN‚µA - ”äŠrŠÖ”‚ª 0‚ð•Ô‚µ‚½‚çA”äŠrŠÖ”‚É“n‚µ‚½—v‘f‚ð”z—ñ‚©‚珜ŠO‚µ‚Ü‚·B - ”z—ñ‚Ì—v‘f‚ª‚·‚ׂďœŠO‚³‚ꂽ‚çAŠY“–‚·‚鎫‘‚̃L[‚âƒAƒCƒeƒ€‚àœŠO‚µ‚Ü‚·B - - - - - - - Dic_searchInArrayItem - - - Function Dic_searchInArrayItem( ref_Dictionary as dictionary of ArrayClass, _ in_Key as string, in_Item as variant, _ - in_CompareFunction as CompareFunction, in_ParameterOfCompareFunction as variant ) - as array of integer - - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘‚©‚çAðŒ‚ɍ‡‚¤”z—ñ”ԍ†‚ð—ñ‹“‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - in_Key - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘ - Ž«‘‚̃L[ - in_Item - ”äŠr‘Ώۂ̃AƒCƒeƒ€Ain_CompareFunction ‚Ì‘æ2ˆø” - in_CompareFunction - in_ParameterOfCompareFunction - •Ô‚è’l - - ”äŠrŠÖ” - - in_CompareFunction ‚Ì‘æ3ˆø” - ”z—ñ”ԍ†‚Ì”z—ñ - - - indexes = Dic_searchInArrayItem( dic, "KeyA", "ItemA", GetRef( "StdCompare" ), Empty ) - - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Dic.vbs - - ƒeƒXƒg - T_DicArrayItem - - - - - - - Dic_getCountInArrayItem - - - Function Dic_getCountInArrayItem( ref_Dictionary as dictionary of ArrayClass ) as integer - - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘‚É“ü‚Á‚Ä‚¢‚é‚·‚ׂĂ̗v‘f‚̐”‚ð•Ô‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - •Ô‚è’l - ”z—ñ‚ðƒAƒCƒeƒ€‚ÉŽ‚ÂŽ«‘ - —v‘f‚̐” - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Dic.vbs - - ƒeƒXƒg - T_DicArrayItem - - - - - - - GetDicItemAsArrayClass - - - Function GetDicItemAsArrayClass( Dic as dictionary, Key as string ) as ArrayClass - - Ž«‘‚̃AƒCƒeƒ€‚É‚ ‚é ArrayClass ‚ÅŽQÆ‚µ‚Ü‚·B ƒAƒCƒeƒ€‚ª‚È‚¯‚ê‚Î ArrayClass ‚ðì¬‚µ‚Ü‚·B - yˆø”z - Desc - Key - Ž«‘ - Ž«‘‚̃L[ - •Ô‚è’l - Ž«‘‚Ì—v‘f‚Å‚ ‚é ArrayClass ‚̃IƒuƒWƒFƒNƒg - - - Dim dic, arr - Set dic = CreateObject( "Scripting.Dictionary" ) - Set arr = GetDicItemAsArrayClass( dic, "key1" ) - - ƒeƒXƒg - - ¨ T_Dic.vbs # T_GetDicItem - - ƒTƒ“ƒvƒ‹ - dic, "key1" - ƒ\[ƒX - - ¨ vbslib.vbs - - Žw’肵‚½ƒL[‚ɑΉž‚·‚éƒAƒCƒeƒ€‚ª‚È‚¢‚Æ‚«‚́AV‹Kì¬‚µ‚½ ArrayClass ‚̃IƒuƒWƒFƒNƒg‚ðAƒL[‚ɑΉž‚·‚éƒAƒCƒeƒ€‚ɒljÁ‚µ‚Ü‚·B - - - - - - - ObjectSetClass - d•¡‚µ‚È‚¢‚ŃIƒuƒWƒFƒNƒg‚ð‚Ü‚Æ‚ß‚éƒRƒŒƒNƒVƒ‡ƒ“B - - - Set objects = new ObjectSetClassSet a_object = new NameOnlyClass - Set b_object = new NameOnlyClass - - objects.Add a_object - objects.Add b_object - objects.Add b_object - - echo objects.Count '// 2 - - objects.Remove b_object - - echo objects.Count '// 1 - - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Dic.vbs - - T_ObjectSetClass - - ¨ vbslib.vbs - - - ¨ DestroyerClass - - ŠÖ˜A - - ¨ g_ObjectIDs - - - - - - - - Add (ObjectSetClass) - - - Sub ObjectSetClass::Add( Object as variant ) - - ƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΁AƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚µ‚Ü‚·B - yˆø”z - Object - ’ljÁ‚·‚éƒIƒuƒWƒFƒNƒg - - << ObjectSetClass - - - - - - - - Count (ObjectSetClass) - - - Property Get ObjectSetClass::Count() - - ƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚̐”‚ð•Ô‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚̐” - - << ObjectSetClass - - - - - - - - Items (ObjectSetClass) - - - Property Get ObjectSetClass::Items() - - For •¶‚ÉŽw’è‚Å‚«‚éƒIƒuƒWƒFƒNƒg‚̏W‡‚ð•Ô‚µ‚Ü‚·B - - << ObjectSetClass - - - - - - - - Exists (ObjectSetClass) - - - Function ObjectSetClass::Exists( Object as variant ) as boolean - - ƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - << ObjectSetClass - - - - - - - - Remove (ObjectSetClass) - - - Sub ObjectSetClass::Remove( Object as variant ) - - ƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚¢‚ê‚΁AƒRƒŒƒNƒVƒ‡ƒ“‚©‚珜ŠO‚µ‚Ü‚·B - yˆø”z - Object - œŠO‚·‚éƒIƒuƒWƒFƒNƒg - - << ObjectSetClass - - - - - - - - RemoveAll (ObjectSetClass) - - - Sub ObjectSetClass::RemoveAll() - - ƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç‚·‚ׂẴIƒuƒWƒFƒNƒg‚ðœŠO‚µ‚Ü‚·B - - << ObjectSetClass - - - - - - - - - - g("${RootPath}") = "${${Target}/RootPath}"g("${TargetA/RootPath}") = "C:\FolderA" - g("${TargetB/RootPath}") = "C:\FolderB" - - g("${Target}") = "TargetA" - Assert g("${RootPath}") = "C:\FolderA" - g("${Target}") = "TargetB" - Assert g("${RootPath}") = "C:\FolderB" - - - - g("${RootPath}") = "C:\FolderA"Assert g("${RootPath}") = "C:\FolderA" - - Šù‘¶‚̕ϐ”‚Ì’l‚ðA•Ê‚̕ϐ”‚É‚æ‚Á‚ĊԐڎQÆ‚³‚¹‚é - ${ } •Ï”, LazyDictionaryClass - Œ³XA‰º‹L‚̂悤‚ÉŽg‚í‚ê‚Ä‚¢‚½•Ï” ${RootPath} ‚ª‚ ‚é‚Æ‚µ‚Ü‚·B - •Ï”‚Ì’l‚ðA•Ê‚̕ϐ”‚Ì’l‚É‚æ‚Á‚Ä“®“I‚É•Ï‚¦‚½‚¢ê‡‚́A‰º‹L‚Ì‚Ç‚¿‚ç‚Ì‹Lq‚à‚Å‚«‚Ü‚·B - - - g("${RootPath}") = "C:\Folder${Target}" - g("${Target}") = "A" - Assert g("${RootPath}") = "C:\FolderA" - g("${Target}") = "B" - Assert g("${RootPath}") = "C:\FolderB" - - ŽQÆ‹L† ${ } ‚̃GƒXƒP[ƒv - - - g("$\{") = "${" '// $\ ‚Í $ ‚É’u‚«Š·‚í‚è‚Ü‚·g("$\\") = "$\" - g("$\}") = "$}" - g("$A") = "$A" '// $ ‚ÌŒã‚É { ‚ª‚È‚¢‚ƁA‚»‚Ì‚Ü‚Ü - - iƒƒ‚j ‚±‚̃GƒXƒP[ƒv‚É‚æ‚èA’Pƒ‚É "${" ‚ðŒŸõ‚·‚ê‚΁A‚»‚ꂪ“WŠJ‚·‚ׂ«•Ï”‚©‚Ç‚¤‚©‚ª•ª‚©‚è‚Ü‚·B - Ž«‘‚Ì’l‚ɁAŽ«‘‚̃L[‚Ö‚ÌŽQÆ‚ð“ü‚ê‚āA’x‰„•]‰¿‚·‚鎫‘‚Å‚·BLazyDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚Í–¼‘O‹óŠÔ‚É‘Š“–‚µAƒL[‚͕ϐ”–¼‚É‘Š“–‚µ‚Ü‚·B - - - Set g = new LazyDictionaryClassg("${RootPath}") = "C:\Folder${Target}" - g("${Target}") = "A" - - Assert g("${RootPath}") = "C:\FolderA" - - ƒL[‚́A${ ` } Œ`Ž®i—áF ${A}j‚É‚µ‚Ä‚­‚¾‚³‚¢B $` Œ`Ž®i—áF $Aj‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·BƒL[‚Ì ${ ` } ‚Ì’†‚É "$", "{", "}" ‚ÍŽg‚¦‚Ü‚¹‚ñ‚ªA‘¼‚Ì‹L†AUnicode•¶Žši“ú–{Œê‚Ȃǁj - ‚ÍŽg‚¦‚Ü‚·B - - - g("${RootPath( TargetA )}") = "C:\FolderA"g("${RootPath( TargetB )}") = "C:\FolderB" - - target = "TargetA" - Assert g("${RootPath( "+ target +" )}") = "C:\FolderA" - - ’Pƒ‚È•ÏŠ·ŠÖ”‚Å‚ ‚ê‚΁AŠÖ”‚ðƒf[ƒ^‚É’u‚«Š·‚¦‚邱‚Æ‚à‚Å‚«‚Ü‚·B‰º‹L‚Ì RootPath ‚ªAŠÖ”‚Ì‘ã‚í‚è‚Å‚·B - ƒL[‚ª‘¶Ý‚µ‚È‚¯‚ê‚΁AƒGƒ‰[‚É‚È‚è‚Ü‚·B - ƒeƒXƒg - - ¨ vbslib.vbs - - ƒ\[ƒX - ”z—ñ‚ð’l‚É‚·‚é - - - Set g = new LazyDictionaryClass - g("${Array1}") = Array( "${Var}/1", "${Var}/2" ) - g("${Array2}") = Array( "${Array1}", "${Var}/3", "${Var}/4", "${Var}/5" ) - g("${Var}") = "x" - array1 = g("${Array1}") - array2 = g("${Array2}") - - Assert IsSameArray( array1, Array( "x/1", "x/2" ) ) - Assert IsSameArray( array2, Array( "x/1", "x/2", "x/3", "x/4", "x/5" ) ) - - For Each value In g("${Array2}") - echo value - Next - - ŠÖ˜A - - ¨ DictionaryClass - - •¶Žš—ñˆÈŠO‚Ì’l‚ÌŽQÆ - - - g("${Var}") = TrueAssert g("${Var}") = True - Assert g("Var=${Var}") = "Var=True" - - Ž®‚ðŽQÆ‚·‚é‚ƁA•¶Žš—ñ‚É‚È‚è‚Ü‚·B Ž®‚Ƃ́A${ } ‚ň͂܂ꂽ•Ï”ˆÈŠO‚Ì•¶Žš‚ª‚ ‚镶Žš—ñ‚Å‚·B - ƒL[‚Ì“WŠJ‚ÍŽQÆŽži g("${Var}") ‚ð Get ‚·‚é‚Æ‚«j‚ɍs‚í‚ê‚éi’x‰„•]‰¿‚Å‚ ‚éj‚½‚߁AƒL[‚ðŠÜ‚ÞƒAƒCƒeƒ€i’lj‚ðÝ’è‚·‚é‚Æ‚«‚ɁA‚»‚̃L[‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - —áFã‹L ${Target}B ‚‚܂èA˜A‘±‚µ‚Đݒ肷‚é‚Æ‚«‚́AÝ’è‚·‚鏇”Ô‚ð–â‚¢‚Ü‚¹‚ñB - ŽQÆŽž‚ɃL[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B ŠÈ’P‚È•¶Žš—ñ•ÏŠ·ŠÖ”‚È‚çA - Ž«‘‚̃f[ƒ^‚É’u‚«Š·‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ ŠÖ”Œ^ƒvƒƒOƒ‰ƒ~ƒ“ƒO - - - ¨ Šù‘¶‚̕ϐ”‚Ì’l‚ðA•Ê‚̕ϐ”‚É‚æ‚Á‚ĊԐڎQÆ‚³‚¹‚é - - - ¨ •¶Žš—ñˆÈŠO‚Ì’l‚ÌŽQÆ - - - ¨ ”z—ñ‚ð’l‚É‚·‚é - - - ¨ ŽQÆ‹L† ${ } ‚̃GƒXƒP[ƒv - - - - Set g = new LazyDictionaryClass - g("${Workspace/Lib}") = "FolderA" - g("${Workspace/Sample}") = "FolderB" - - values1 = g.Each_( "${Workspace/${i}}", "${i}", Array( "Lib", "Sample" ) ) - Assert IsSameArray( values1, Array( "FolderA", "FolderB" ) ) - - formulas = g.EachFormula( "${Workspace/${i}}", "${i}", Array( "Lib", "Sample" ) ) - Assert IsSameArray( formulas, Array( "${Workspace/Lib}", "${Workspace/Sample}" ) ) - - values2 = g( formulas ) - Assert IsSameArray( values2, values1 ) - - Each_ ‚â EachFormula ‚ðŽg‚¦‚΁A”z—ñ‚Ì—v‘f‚ðƒ‹[ƒv•Ï”‚̂悤‚Ɉµ‚Á‚Ä•ÏŠ·‚Å‚«‚Ü‚·B‚Ü‚½AŽ«‘‚ðŽQÆ‚·‚é‚Æ‚«‚ɁA”z—ñ‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ’li = ‚̉Ej‚É”z—ñ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‚Ü‚½A”z—ñ‚Ì—v‘f‚ɁA”z—ñ‚ð’l‚ðŽ‚Â•Ï”‚Ö‚ÌŽQÆ‚ðŽw’è‚·‚é‚ƁAƒlƒXƒg‚µ‚È‚¢‚Å“WŠJ‚³‚ê‚Ü‚·B - $\{ ‚Ə‘‚­‚ƁA${ ‚Æ‚¢‚¤•¶Žš—ñƒf[ƒ^‚ª‚Å‚«‚Ü‚·B ‚±‚̏ˆ—‚́A•Ï”‚Ì“WŠJ‚ð‚µ‚È‚¢‚½‚߂ɁAÅŒã‚ɍs‚í‚ê‚Ü‚·B “WŠJ‚µ‚½Œ‹‰Ê‚É $\ ‚ª‚ ‚é‚Æ‚«‚́A$ ‚É’u‚«Š·‚í‚è‚Ü‚·B - - ¨ T_LazyDictionary.vbs - - ƒIƒuƒWƒFƒNƒg‚̐ݒè‚ÆŽQÆ‚ª‚Å‚«‚Ü‚·B - - - Set g("${Var}") = new NameOnlyClassecho g("${Var}").Name - - •¶Žš—ñ‚̃Xƒyƒ‹ƒ~ƒX‘΍ôA${> } - ƒL[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚ÉŽ©“®“I‚ɃL[‚ð’ljÁ‚µ‚È‚¢‚½‚߁A•¶Žš—ñ‚̃Xƒyƒ‹ƒ~ƒX‚ð–h‚®‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚½‚¾‚µAƒL[‚ƃAƒCƒeƒ€‚ªˆÙ‚Ȃ邱‚Æ‚ªˆê”Ê“I‚Å‚ ‚鎫‘Œ^‚ł́AƒAƒCƒeƒ€‚𒲂ׂȂ¯‚ê‚Î - •¶Žš—ñ‚ð’m‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚߁AŠJ”­Œø—¦‚ª—Ž‚¿‚Ü‚·B - ‚»‚±‚ŁAƒL[‚̐擪‚ª ">" ‚©‚çAƒAƒCƒeƒ€‚Æ“¯‚¶‚Å‚ ‚é‚悤‚ȃ‹[ƒ‹‚É‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - ‚È‚¨A> ‚ð‘I‚ñ‚¾——R‚́Aƒ[ƒ‹‚̈ø—piƒRƒs[j‹L†‚âANaturalDocs ‚Ì‹ó”’‚ðˆÛŽ‚·‚é‹L†‚É - ‹ß‚¢ˆÓ–¡‚ðŽ‚Á‚Ä‚¢‚é‚©‚ç‚Å‚·B - - - Set g = new LazyDictionaryClassg("${>Spell}") = "Spell" - - - ¨ •¶Žš—ñ‚̃Xƒyƒ‹ƒ~ƒX‘΍ôA${> } - - ƒAƒCƒeƒ€‚ðˆê——•\Ž¦‚·‚é - - - Set g = new LazyDictionaryClassg("${Var1}") = "Value1" - g("${Var2}") = "${Var1}-2" - - g.EchoToEditor - - EchoToEditor - - - ${Var1} = "Value1"${Var2} = "${Var1}-2" = "Value1-2" - - EchoToEditor ƒƒ\ƒbƒh‚ðŒÄ‚яo‚·‚ƁAƒAƒCƒeƒ€‚̃L[‚Æ“WŠJ‘O‚Ì’l‚Æ“WŠJŒã‚Ì’l‚ª‘‚©‚ꂽƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ªŠJ‚«‚Ü‚·B “à—e‚́AGetSetListString ‚Ì•Ô‚è’l‚Æ“¯‚¶‚Å‚·B - ƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚­“à—eF - - ¨ ƒAƒCƒeƒ€‚ðˆê——•\Ž¦‚·‚é - - à–¾•Ï”‚ÌŠˆ—p - - - patch_path = g("${Repository_workspace}\Sample_Test_patch\patch") - - Ž«‘‚ðŽQÆ‚·‚éƒR[ƒh‚ª’·‚­‚È‚é‚Æ‚«‚́A–ðŠ„‚ðà–¾‚·‚éà–¾•Ï”‚ðƒ[ƒJƒ‹‚ŁiŠÖ”“à‚̃XƒR[ƒv‚ð‚à‚•ϐ”‚ðjŠˆ—p‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤 - - ¨ à–¾•Ï” - - ŽQl - - ¨ à–¾•Ï”‚ÌŠˆ—p - - - ¨ DicItemOfItem - - ƒfƒoƒbƒOEƒ‚[ƒh - - - g.DebugMode = True '// [TODO] ’ljÁg("${Target}") = "B" - echo g("${RootPath}") - - ‰º‹L‚̂悤‚ɁAƒfƒoƒbƒOEƒ‚[ƒh‚ðƒIƒ“‚É‚·‚é‚ƁAÝ’肵‚½“à—e‚ð echo •\Ž¦‚µ‚½‚èAŽQÆŽž‚ɃL[‚ð‚P‚‚¸‚“WŠJ‚·‚é—lŽq‚ð echo •\Ž¦‚µ‚Ü‚·B - - - <DictionaryEx operation="Set" key="${Target}">B</DictionaryEx><DictionaryEx operation="Get" key="${RootPath}"> - <Expand count="1">C:\Folder${Target}</Expand> - <Expand count="2">C:\FolderB</Expand> - </DictionaryEx> - - echo •\Ž¦‚Ì“à—eF - - ¨ ƒfƒoƒbƒOEƒ‚[ƒh - - - - Set g = new LazyDictionaryClassAssert g("${USERPROFILE}\Desktop") = "C:\Users\user1\Desktop" - - OS‚̊‹«•Ï”‚ðŽQÆ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ FF-path ‘®«‘Ήž‚Ì XMLApath ‘®«‚ƁAExcept ƒ^ƒO - - ’x‰„•]‰¿‚·‚é‘O‚Ì’l‚ÌŽQÆ - - ¨ ’x‰„•]‰¿‚·‚é‘O‚Ì’l‚ÌŽQÆ - - - - g("${RootPath}") = "C:\Folder${Target}"g("${Target}") = "A" - - Assert g.Formula("${RootPath}") = "C:\Folder${Target}" - Assert g("${RootPath}") = "C:\FolderA" - - ’x‰„•]‰¿‚·‚é‘O‚Ì’l‚ðŽQÆ‚·‚é‚ɂ́AFormula ƒvƒƒpƒeƒB‚ðŽg‚¢‚Ü‚·B - ‚Q‚‚̎«‘‚ð‰ÁŽZ‚·‚é (AddDictionary) - ŠÖ˜A - - ¨ ‚Q‚‚̎«‘‚ð‰ÁŽZ‚·‚é - - - - Set a = new LazyDictionaryClassSet b = new LazyDictionaryClass - a.AddDictionary b - - - ¨ Dic_add - - ’l‚©‚ç•Ï”‚É–ß‚· (EvaluateReverse, GetStepPath) - - - Set g = new LazyDictionaryClassg("${A}") = "AAA" - g("${B}") = "BB" - Assert g.EvaluateReverse( "1AAA2BB3AAA4" ) = "1${A}2${B}3${A}4" - - - - Set g = new LazyDictionaryClassg("${A3}") = "AAA" - g("${A4}") = "AAAA" - g("${A2}") = "AA" - Assert g.EvaluateReverse( "AAAA" ) = "${A4}" - - ’l‚Ì•¶Žš—ñ‚Ì’·‚³‚ª’·‚¢•Ï”‚É—Dæ“I‚É•ÏŠ·‚³‚ê‚Ü‚·B - ‹t‚ɁA•Ï”‚Å‚È‚¢ ${ ‚ðŠÜ‚Þ•¶Žš—ñ‚ðA${ ` } •Ï”‚ð•ÏŠ·‚µ‚悤‚Æ‚·‚镶Žš—ñ‚É“ü‚ê‚éê‡‚́AŽŸ‚Ì•ÏŠ·‚ð‚µ‚Ü‚·B - - - '// "$\" => "$\\", "${" => "$\{"text = Replace( Replace( text, "$\", "$\\" ), "${", "$\{" ) - Set g = new LazyDictionaryClass - echo g(text) - - ŠÖ˜A - - ¨ GrepKeyword - - - ¨ ’l‚©‚ç•Ï”‚É–ß‚· - - EvaluateReverse - - - Set g = new LazyDictionaryClassg("${XA}") = "X:\FolderA" - g("${Extension}") = ".txt" - Assert g.GetStepPath( "X:\FolderA\File.xml", "X:\" ) = "${XA}\File.xml" - Assert g.GetStepPath( "C:\FolderA\File.xml", "C:\FolderA" ) = "File.xml" - Assert g.GetStepPath( "C:\FolderA\File.txt", "C:\FolderA" ) = "File${Extension}" - - GetStepPath - GetStepPath ƒƒ\ƒbƒh‚ł́Aƒtƒ‹ ƒpƒX‚ªŠi”[‚³‚ꂽ•Ï”‚É–ß‚ç‚È‚©‚Á‚½‚Æ‚«‚¾‚¯AŽw’肵‚½Šî€ƒpƒX‚©‚ç‚Ì‘Š‘΃pƒX‚É•ÏŠ·‚³‚ê‚Ü‚·B - ${> } Œ`Ž®‚Ì‹Lq‚́AŽŸ‚̊֐”‚Å‚àŽg‚í‚ê‚Ä‚¢‚Ü‚·B - - ¨ GetPercentURL - - - ¨ GetTagJumpParams - - “ÁŽê‚È URL —\–ñ•¶Žš‚ðƒGƒXƒP[ƒv‚µ‚È‚¢ - ${>#} ‚ŁA# ‚ðƒtƒ@ƒCƒ‹–¼‚̈ꕔ‚É‚·‚é - ŽQl - - ¨ ŽQÆ‹L† ${ } ‚̃GƒXƒP[ƒv - - - ¨ PHP‚âPerl‚ŕϐ”‚Ì‹L†‚Ɂu$v‚ªŽg‚í‚ê‚闝—R - ¬ˆ‹óŠÔ (Web) - - - ¨ Dollar sign >> Programming languages - Wikipedia (Web) - - ‚¿‚Ȃ݂ɁA–ß‚µ‚½•Ï”‚ðˆê——‚·‚é‚Æ‚«‚́AŽw’è‚·‚é - - ³‹K•\Œ» - - ‚ðA - - - \$\{.*\} - - ‚Å‚Í‚È‚­A - - - \$\{[^\}]*\} - - ‚É‚µ‚Ü‚·B •¡”‚̕ϐ”‚ª‚ ‚é‚Æ‚«‚Å‚à³‚µ‚­ˆ—‚·‚é‚悤‚É‚È‚è‚Ü‚·B - - - - - - - new_LazyDictionaryClass - - - Set root = LoadXML( "Sample.xml", Empty )Set variables = new_LazyDictionaryClass( root ) '// <Variable> ƒ^ƒO‚ðƒŠ[ƒh‚·‚é - data = root.selectSingleNode( "Data" ).getAttribute( "data" ) - Assert data ="${Var1}DEF" - data = variables( data ) - Assert data = "ABCDEF" - - - - Function new_LazyDictionaryClass( RootXML_Element as IXMLDOMElement ) as LazyDictionaryClass - - XML ‚Ì Variable ƒ^ƒO‚Å’è‹`‚³‚ꂽ•Ï”‚ðŽ‚ÂA’x‰„•]‰¿‚·‚鎫‘‚𐶐¬‚µ‚Ü‚·B - yˆø”z - RootXML_Element - XML ‚̃‹[ƒg—v‘fƒIƒuƒWƒFƒNƒg - •Ô‚è’l - ’x‰„•]‰¿‚·‚鎫‘ - ƒTƒ“ƒvƒ‹ - - ¨ LoadXML - - Sample.xml - ƒXƒNƒŠƒvƒgF - - - <Sample><Variable name="${Var1}" value="ABC"/> - <Variable name="${Var2}" value="XYZ"/> - <Data data="${Var1}DEF"/> - </Sample> - - variables - - - <Variable name="${Var1}" value="ABC"/> - - new_LazyDictionaryClass ‚Ő¶¬‚·‚鎫‘‚ÅŽg‚¦‚é•Ï”‚ð’è‹`‚·‚é‚Æ‚«‚́AXML ‚É‹Lq‚·‚éƒ^ƒO–¼‚ð VariableA‘®«–¼‚ð name ‚Æ value ‚É‚µ‚Ä‚­‚¾‚³‚¢B name ‚́A${ ‚©‚çŽn‚Ü‚èA} ‚ŏI‚¦‚Ä‚­‚¾‚³‚¢B - Variable ƒ^ƒO‚́A‚Ç‚±‚É‹Lq‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ƒeƒXƒg - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_LazyDictionary.vbs - - - ¨ LazyDictionaryClass - - variables - - - Set variables = new LazyDictionaryClassvariables( "${Var1}" ) = "ABC" - - —áF - ã‹L‚Ì XML ‚́A‰º‹L‚̃R[ƒh‚ɑΉž‚µ‚Ü‚·B - T_LazyDictionaryXML - Variable ƒ^ƒO - Ž«‘‚̃L[‚́Au${Var1}vAƒAƒCƒeƒ€‚́AuABCv‚É‚È‚è‚Ü‚·B - •Ï”‚ðŽQÆ‚·‚é‚Æ‚«‚́AXML ‚̃eƒLƒXƒg‚© XML ‘®«‚Ì‚Ç‚¿‚ç‚©‚É‹Lq‚Å‚«‚Ü‚·B‚½‚¾‚µAƒXƒNƒŠƒvƒg‚ł́ADOM API ‚Å’l‚ðŽæ“¾‚µ‚½Œã‚ŁA•]‰¿i•Ï”‚Ì“WŠJ‚ðj‚·‚鏈—‚ð‘‚­ - •K—v‚ª‚ ‚è‚Ü‚·BiƒTƒ“ƒvƒ‹ƒR[ƒh‚ðŽQÆj - - LazyDictionaryClass - - type ‘®«‚ð "FullPathType" ‚É‚·‚é‚ƁAvalue ‘®«‚𑊑΃pƒX‚Æ‚µ‚āA•Ï”‚ðŽQÆ‚µ‚½‚Æ‚«‚̓tƒ‹EƒpƒX‚ª•Ô‚è‚Ü‚·B ’ʏíAŠî€ƒtƒHƒ‹ƒ_[‚Í XML ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Å‚·B - type ‘®« "FullPathType" iVariable ƒ^ƒOj - - - <Sample><Variable name="${FullPath1}" value="..\File.txt" type="FullPathType"/> - <Variable name="${FullPath2}" value="${FullPath1}"/> - <Variable name="${ErrorPath}" value="${FullPath1}" type="FullPathType"/> - </Sample> - - ƒXƒNƒŠƒvƒgF - Sample.xml - - - Set xml = new FilePathClass xml.FilePath = "Sample.xml" - Set xml.Text = LoadXML( xml.FilePath, Empty ) - Set variables = new_LazyDictionaryClass( xml ) - - base_path = GetParentFullPath( xml.FilePath ) - Assert variables( "${FullPath1}" ) = GetFullPath( "..\File.txt", base_path ) - Assert variables( "${FullPath2}" ) = GetFullPath( "..\File.txt", base_path ) - - Assert variables( "${ErrorPath}" ) = _ - base_path +"\"+ GetFullPath( "..\File.txt", base_path ) - '// Example: "C:\Folder\Sub\C:\Folder\File.txt" - Assert variables.Formula( "${ErrorPath}" ) = "C:\Folder\Sub\${ErrorPath}" - - ƒTƒ“ƒvƒ‹ - type="FullPathType" - ${FullPath1} - ${FullPath1} - XML ‚É‹Lq‚·‚é value ‘®«‚́A‘Š‘΃pƒX‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B value ‘®«‚ªƒtƒ‹ ƒpƒX‚Ì’l‚ðŽ‚Â•Ï”‚©‚çŽn‚Ü‚é‚Æ‚«‚́Atype ‘®«‚É "FullPathType" ‚ðŽw’肵‚È‚¢‚Å‚­‚¾‚³‚¢B - ƒtƒ‹EƒpƒX‚É•ÏŠ·‚·‚éƒ^ƒCƒ~ƒ“ƒO‚́Anew_LazyDictionaryClass ŠÖ”‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚ŁA’x‰„•]‰¿‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - ${Var1} - - Dic_add - - ‚Q‚‚̎«‘‚ð‡¬‚·‚é‚Æ‚«‚́A - ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - RootXML_Element ˆø” - XML ‚̃‹[ƒg—v‘fƒIƒuƒWƒFƒNƒgA‚Ü‚½‚́AFilePathClass ‚̃IƒuƒWƒFƒNƒg - FilePathClass ‚̃IƒuƒWƒFƒNƒg - ˆÈ‰º‚Ì‚Ç‚¿‚ç‚©‚ðŽw’è‚Å‚«‚Ü‚·B - - ¨ FilePathClass - - new_LazyDictionaryClass ŠÖ”‚̈ø”‚É FilePathClass ‚̃IƒuƒWƒFƒNƒg‚ðŽw’è‚·‚é‚ƁAFilePathClass::FilePath ‚̐eƒtƒHƒ‹ƒ_[‚ðŠî€‚É‚µ‚Ü‚·B ˆø”‚É•¶Žš—ñ‚ðŽw’肵‚½ê‡‚́A - ‘Š‘΃pƒX‚̊‚̓JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B XML ‚̃‹[ƒg—v‘fƒIƒuƒWƒFƒNƒg‚́A - FilePathClass::Text ‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - ${ } •Ï”‚́A - ‚É‚æ‚Á‚ÄŠÇ—‚³‚ê‚邽‚߁A’x‰„•]‰¿‚³‚ê‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ‘Š‘΃pƒX‚̊‚ð XML ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚É‚·‚é - - - Set xml = new FilePathClassxml.FilePath = "Sample.xml" - Set root = LoadXML( xml.FilePath, Empty ) - Set xml.Text = root - - Set variables = new_LazyDictionaryClass( xml ) '// <Variable> ƒ^ƒO‚ðƒŠ[ƒh‚·‚é - - - - - - - - GetPathLazyDictionary - - - Function GetPathLazyDictionary() as LazyDictionaryClass - - ƒpƒX‚ÉŠÖ‚·‚é•Ï”‚©’è‹`‚³‚ꂽŽ«‘‚ð•Ô‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ƒpƒX‚ÉŠÖ‚·‚é•Ï”‚©’è‹`‚³‚ꂽŽ«‘ - - ¨ vbslib.vbs - - ƒ\[ƒX - OS‚̊‹«•Ï”‚¾‚¯‚Å‚È‚­A‰º‹L‚̕ϐ”‚àŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ${vbslib} - ${scriptlib} - vbslib Prompt.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒXBvbslib Prompt.vbs ‚ð‹N“®‚µ‚½‚Æ‚«‚¾‚¯’è‹`‚³‚ê‚Ü‚·B - scriptlib ƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒXB - - g_vbslib_folder - - ‚ƈقȂèA––”ö‚É \ ‚È‚µB - - ¨ ${ } •Ï”, LazyDictionaryClass - - - - - - - - ParseDollarVariableString - - - ParseDollarVariableString "abc ${VAR1}, ${VAR2} def", sub_strings, variablesAssert IsSameArray( sub_strings, Array( "abc ", ", ", " def" ) ) - Assert IsSameArray( variables, Array( "${VAR1}", "${VAR2}" ) ) - - - - Sub ParseDollarVariableString( the_String as string, out_SubStringArray as array of string, out_VariableArray as array of string ) - - •¶Žš—ñ‚Ì’†‚Ì ${ } ‚ðŽg‚Á‚½•Ï”‚Ì•”•ª‚Æ‚»‚êˆÈŠO‚Ì•”•ª‚É•ªŠ„‚µ‚Ü‚·B - yˆø”z - the_String - out_SubStringArray - •ªŠ„‚·‚é‘O‚Ì•¶Žš—ñ - io—́j •Ï”ˆÈŠO‚Ì•”•ª‚Ì”z—ñ - out_VariableArray - io—́j •Ï”‚Ì•”•ª‚Ì”z—ñ - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - ŠÖ˜A - - ¨ ScanFromTemplate - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - ¨ T_Str.vbs - - ƒeƒXƒg - T_ParseDollarVariableString - - ¨ ParsePercentVariableString - - - - - - - - ”z—ñ iArrayj - - - - - - - new_EmptyArray - - - Function new_EmptyArray( in_UBound as integer ) as array - - Žw’肵‚½—v‘f”‚Ì‹ó—v‘f‚ðŽ‚Â”z—ñ‚𐶐¬‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - VBScript (WSH) ‚¾‚¯‚Å‚È‚­AƒGƒNƒZƒ‹ VBA ‚Å‚àŽg‚¦‚Ü‚·B - yˆø”z - in_UBound - Å‘å”z—ñ”ԍ†B —v‘f”|‚P - •Ô‚è’l - ¶¬‚µ‚½”z—ñ - - - - - - - AddArrElem - - - Sub AddArrElem( Dst, Src ) - - ”z—ñ‚Ì—v‘f‚ð’ljÁƒRƒs[‚µ‚Ü‚·B - yˆø”z - Dst - Arr - ƒRƒs[æ”z—ñB ‚±‚Ì”z—ñ‚Ì––”ö‚ɒljÁ - ƒRƒs[Œ³‚Ì—v‘f‚ª“ü‚Á‚½”z—ñA‚Ü‚½‚̓Rƒs[Œ³‚Ì’P‘́B - ‚±‚ê‚Ü‚Å“ü‚Á‚Ä‚¢‚½—v‘f‚ÌŒã‚ɒljÁ‚µ‚Ü‚·B - - ¨ AddElems (ArrayClass) - - Dst ‚ɂ́AMe.Property Œ`Ž®‚Å‚Í‚È‚­AProperty Œ`Ž®‚É‚µ‚Ä‚­‚¾‚³‚¢Bi‰º‹Lj - - - AddArrElem Me.SampleArray, Array( 1,2 ) - - ~F’ljÁ‚³‚ê‚È‚¢ - - - AddArrElem SampleArray, Array( 1,2 ) - - ›F’ljÁ‚³‚ê‚é - - ¨ ’l“n‚µ‚ÆŽQÆ“n‚µ - - Me. - - - AddArrElem arr1, arr2 - - - - AddArrElem arr1, new ClassA - - ŠÖ˜A - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - - ¨ T_Arr.vbs - - T_Arr1 - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ AddArrElemEx - - - - - - - - AddArrElemEx - - - Function AddArrElemEx( Dst, Src, IsReturn ) as Dst or Empty - - ”z—ñ‚Ì—v‘f‚ð’ljÁƒRƒs[‚µ‚Ü‚·Bi‹@”\Šg’£”Łj - yˆø”z - Dst - Src - ƒRƒs[æ”z—ñB ‚±‚Ì”z—ñ‚Ì––”ö‚É Src ˆø”‚ð’ljÁ - ƒRƒs[Œ³‚Ì—v‘f‚ª“ü‚Á‚½”z—ñA‚Ü‚½‚̓Rƒs[Œ³‚Ì’P‘́B - IsReturn - True = •Ô‚è’l‚͒ljÁƒRƒs[‚µ‚½“à—eAFalse = •Ô‚è’l‚Í Empty - ŽQl - - ¨ AddArrElem - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - FlatArray - - - input_array = Array( "a", "b", Array( "ca", "cb" ), "d", Array( "ea", "eb" ) )FlatArray out_array, input_array - Assert IsSameArray( out_array, Array( "a", "b", "ca", "cb", "d", "ea", "eb" ) ) - - - - Sub FlatArray( out_FlatArray as array, NestedArray as array ) - - ”z—ñ‚Ì’†‚É”z—ñ‚ªƒlƒXƒg‚µ‚Ä“ü‚Á‚Ä‚¢‚é‚Æ‚«Aƒtƒ‰ƒbƒg‚É‚µ‚Ü‚·B - yˆø”z - out_FlatArray - NestedArray - io—́j ƒtƒ‰ƒbƒg‚É‚µ‚½”z—ñ - ”z—ñ‚ªƒlƒXƒg‚µ‚Ä“ü‚Á‚Ä‚¢‚é”z—ñ - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_Arr.vbs - - T_FlatArray - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - CopyArr - - - Sub CopyArr( Dst, Src ) - - ”z—ñ‚Ì—v‘f‚ðƒRƒs[‚µ‚Ü‚·B - yˆø”z - Dst - Arr - ƒRƒs[æ - ƒRƒs[Œ³ - - (src) - - Arr ‚ª”z—ñ‚Å‚Í‚È‚¢‚Æ‚«‚́ADst(0) ‚É Src ‚ðƒRƒs[‚µ‚Ü‚·B - Dst ‚É ArrayClass::Items ‚ðŽw’肵‚Ä‚àƒRƒs[‚µ‚½“à—e‚Í ArrayClass ‚ÉŠi”[‚³‚ê‚Ü‚¹‚ñBArrayClass::Copy ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ”pŽ~‚³‚ê‚Ü‚µ‚½B - Dim arr() ‚Æ‚·‚é‚Æ arr = Array ‚Í‚Å‚«‚Ü‚¹‚ñ‚ªA Dim arr ‚Æ‚·‚é‚Æ arr = Array ‚ª‚Å‚«‚Ü‚·B - - - - - - - SearchInSimpleArray - - - Function SearchInSimpleArray( InData as variant, InArray as array of variant, OutBaseNumOrArray as array of variant, DefaultOut as variant ) as variant - - ”z—ñ‚ðŒŸõ‚µ‚āA•Ê‚Ì”z—ñ‚Ì“à—e‚ð•Ô‚µ‚Ü‚·B - yˆø”z - InData - InArray - ”z—ñ‚Ì—v‘f‚Æ”äŠr‚·‚é’lB ”’lA•¶Žš—ñ‚È‚Ç = ‚Å”»’è‚Å‚«‚é‚à‚Ì - InData ‚ð”äŠr‚·‚é’l‚ð—v‘f‚ÉŽ‚”z—ñ - OutBaseNumOrArray ‚ÉŽw’肵‚½”z—ñ‚Ì—v‘f‚Ì‚P‚Â‚È‚Ç - •Ô‚è’l - InData ‚ª InArray ‚ÉŒ©‚‚©‚ç‚È‚©‚Á‚½‚Æ‚«‚ɏo—Í‚·‚é’l - o—Í‚·‚é’l‚ð—v‘f‚ÉŽ‚”z—ñB ‚Ü‚½‚́Ao—͂̍ŏ¬”’l - DefaultOut - OutBaseNumOrArray - - (src) - - - - num = SearchInSimpleArray( "SymbolB", _ Array( "SymbolA", "SymbolB" ), _ - Array( 1, 2 ), _ - Empty ) - '// num = 2 - - - - num = SearchInSimpleArray( "SymbolB", Array( "SymbolA", "SymbolB" ), 5, Empty )'// num = 6 - - - ¨ LookUpDic (ArrayClass) - - ŠÖ˜A - o—͂̍ŏ¬”’l‚ª 5 ‚ŁA2”Ô–Ú‚Ì”z—ñ—v‘f‚Ƀqƒbƒg‚µ‚½‚̂ŁA5 + ( 2 -1 ) = 6 ‚ð•Ô‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - - - - - GetFirst - - - Function GetFirst( in_Collection as variant ) as variant - - - - Assert GetFirst( Array( 1, 2 ) ) = 1 - - ƒRƒŒƒNƒVƒ‡ƒ“‚̍ŏ‰‚Ì—v‘f‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_Collection - ”z—ñ‚⎫‘ƒRƒŒƒNƒVƒ‡ƒ“ - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - ”z—ñ‚âƒRƒŒƒNƒVƒ‡ƒ“‚̍ŏ‰‚Ì—v‘fAŽ«‘‚̏ꍇ‚͍ŏ‰‚̃L[ - - ¨ vbslib.vbs - - - ¨ GetDicItemByIndex - - ŠÖ˜A - - - - - - - IsSameArray - - - Function IsSameArray( Array1, Array2 ) as boolean - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ª“™‚µ‚¢‚©”»’肵‚Ü‚·B - Še—v‘f‚Í = ‚Å”»’肵‚Ü‚·B—v‘f”‚à“™‚µ‚¢‚©’²‚ׂ܂·B - - (src) - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Arr.vbs - - T_IsSameArray - - ¨ vbslib.vbs - - Array1 = Empty, Array2 = Empty ‚Ì‚Æ‚«‚́ATrue ‚ð•Ô‚µ‚Ü‚·B - Array1, Array2 ‚́AEmpty, ”z—ñŒ^AArrayClass Œ^‚Ì‚¢‚¸‚ê‚©‚ðŽw’è‚Å‚«‚Ü‚·B - ŠÖ˜A - - ¨ IsSameArrayOutOfOrder - - - - - - - - IsSameArrayOutOfOrder - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Arr.vbs - - T_IsSameArrayOutOfOrder - - ¨ vbslib.vbs - - - - Function IsSameArrayOutOfOrder( Array1 as array, Array2 as array, Option_ ) as boolean - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ª“™‚µ‚¢‚©”»’肵‚Ü‚·B ‚½‚¾‚µA‡”Ô‚ªˆÙ‚È‚Á‚Ä‚¢‚Ä‚à“™‚µ‚¢‚Æ‚µ‚Ü‚·B - Še—v‘f‚Í = ‚Å”»’肵‚Ü‚·B - Option_ ˆø” - Empty ‚Ü‚½‚́A‰º‹L‚̘_—˜a (or) ‚ªŽw’è‚Å‚«‚Ü‚·B - c.StopIsNotSame - c ‚́Ag_VBS_Lib ‚Å‚·B - ˆá‚Á‚½—v‘f‚ðŒ©‚Â‚¯‚½uŠÔ‚ɁAƒfƒoƒbƒK[‚Å’âŽ~‚µ‚Ü‚· - - ¨ IsSameArray - - ŠÖ˜A - - - - - - - IsSameArrayEx - - - Function IsSameArrayEx( Array1 as array, Array2 as array, Option_ as IsSameArrayExOptionClass ) as boolean - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚ª“™‚µ‚¢‚©”»’肵‚Ü‚·B - IsSameArrayExOptionClass - - ¨ vbslib.vbs - - ƒ\[ƒX - ƒ\[ƒX - - ¨ vbslib.vbs - - .IsOutOfOrder - .IsStopNotSame - .CompareFunction - .ParameterOfCompareFunction - ‡”Ô‚ªˆÙ‚È‚Á‚Ä‚¢‚Ä‚à“™‚µ‚¢‚Æ‚·‚é‚©‚Ç‚¤‚© - - ¨ IsSameArrayOutOfOrder - - ˆá‚Á‚½—v‘f‚ðŒ©‚Â‚¯‚½uŠÔ‚ɁAƒfƒoƒbƒK[‚Å’âŽ~‚µ‚Ü‚· - CompareFunction ‚Ì‘æ3ˆø”‚É“n‚·’l - - ”äŠrŠÖ” - - - - - - - - ReverseObjectArray - - - Sub ReverseObjectArray( in_Array, out_Array ) - - ”z—ñ‚ð“à—eiƒIƒuƒWƒFƒNƒg‚̂݁j‚ð‹t‡‚É‚µ‚Ü‚·B - yˆø”z - in_Array - out_Array - ”z—ñB‹t‡‚É‚·‚é‘O‚Ì“à—e - io—́j ‹t‡‚Ì”z—ñ‚Ì“à—e - ”z—ñ‚Ì—v‘f‚ªAƒIƒuƒWƒFƒNƒgˆÈŠO‚ª“ü‚Á‚Ä‚¢‚½‚èAEmpty ‚É‚È‚Á‚Ä‚¢‚é‚ƃGƒ‰[‚É‚È‚è‚Ü‚·B - out_Array ‚Æ in_Array ‚Í“¯‚¶”z—ñ‚ðŽw’è‚Å‚«‚Ü‚¹‚ñB‚½‚¾‚µAin_Array ˆø”‚ɁAarray_object.Items (array_object ‚Í ArrayClass) ‚ðŽw’肵‚½‚çA - out_Array ˆø”‚ɁAarray_object ‚ðŽw’è‚Å‚«‚Ü‚·B - ƒeƒXƒg - - ¨ T_Arr.vbs - - T_ReverseObjectArray - - ArrayToNameOnlyClassArray - - ‚Å•ÏŠ·‚µ‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - Reverse_COM_ObjectArray - - - Sub Reverse_COM_ObjectArray( in_Array, out_Array ) - - ƒeƒXƒg - - ¨ T_Arr.vbs - - T_ReverseObjectArray - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ ReverseObjectArray - - .Count ƒvƒƒpƒeƒB‚Å—v‘f”‚ðŽQÆ‚·‚é”z—ñ‚ðA‹t‡‚É‚µ‚Ü‚·B - ŽQl - - - - - - - RemoveObjectArray - - - Sub RemoveObjectArray( in_out_Array, ElementObject ) - - ƒIƒuƒWƒFƒNƒg‚ªŠi”[‚³‚ꂽ”z—ñ‚©‚çAŽw’肵‚½ƒIƒuƒWƒFƒNƒg‚ðœŠO‚µ‚Ü‚·B - yˆø”z - in_out_Array - ElementObject - ƒIƒuƒWƒFƒNƒg‚ªŠi”[‚³‚ꂽ”z—ñ - œŠO‚·‚éƒIƒuƒWƒFƒNƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - RemoveObjectsByNames - - - Sub RemoveObjectsByNames( in_out_Array, Names as variant ) - - ƒIƒuƒWƒFƒNƒg‚ªŠi”[‚³‚ꂽ”z—ñ‚©‚çAName ƒvƒƒpƒeƒB‚ªƒ}ƒbƒ`‚·‚éƒIƒuƒWƒFƒNƒg‚ðœŠO‚µ‚Ü‚·B - yˆø”z - in_out_Array - Names - Name ƒvƒƒpƒeƒB‚ª‚ ‚éƒIƒuƒWƒFƒNƒg‚ªŠi”[‚³‚ꂽ”z—ñ - Name ƒvƒƒpƒeƒB‚Æ”äŠr‚·‚é‚à‚Ì - ƒ\[ƒX - Names ‚ª•¶Žš—ñ‚Ì‚Æ‚« - Name ƒvƒƒpƒeƒB‚Æ’Pƒ‚É”äŠr‚µ‚Ü‚·B - Names ‚ª RegExp Œ^‚Ì‚Æ‚« - - ¨ ³‹K•\Œ» (VBScript.RegExp) - - Name ƒvƒƒpƒeƒB‚Ɛ³‹K•\Œ»‚Å”äŠr‚µ‚Ü‚·B - Names ‚ª”z—ñŒ^‚Ì‚Æ‚« - Names ‚ªƒIƒuƒWƒFƒNƒg‚Ì‚Æ‚« - Name ƒvƒƒpƒeƒB‚Æ Name ƒvƒƒpƒeƒB‚ð”äŠr‚µ‚Ü‚·B - ”z—ñ‚Ì—v‘f‚Ì‚»‚ꂼ‚ê‚ɂ‚¢‚āA‚P‚‚ł̃}ƒbƒ`‚µ‚½‚珜ŠO‚µ‚Ü‚·B—v‘f‚́A•¶Žš—ñARegExpAName ƒvƒƒpƒeƒB‚ðŽ‚ÂƒIƒuƒWƒFƒNƒg‚ð¬Ý‚Å‚«‚Ü‚·B - ƒeƒXƒg - - ¨ T_Arr.vbs - - T_RemoveObjectsByNames - - ¨ vbslib.vbs - - - - - - - - ArrayToNameOnlyClassArray - - ¨ NameOnlyClass - - - - Function ArrayToNameOnlyClassArray( aArray as array of not object ) as array of NameOnlyClass - - ƒIƒuƒWƒFƒNƒg‚Å‚Í‚È‚¢—v‘f‚ðŽ‚Â”z—ñ‚ðANameOnlyClass ‚Ì”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - aArray - •Ô‚è’l - ƒIƒuƒWƒFƒNƒg‚Å‚Í‚È‚¢—v‘f‚ðŽ‚Â”z—ñ - NameOnlyClass ‚Ì”z—ñ - - ¨ QuickSort - - - ¨ ShakerSort - - ŠÖ˜A - ƒ\[ƒg‚Å‚«‚é”z—ñ‚É‚µ‚Ü‚·BNameOnlyClass ‚Ì Delegate ƒƒ“ƒo[‚Í Empty ‚É‚È‚è‚Ü‚·B - - - arr = ArrayToNameOnlyClassArray( Array( "a", "b", "c" ) ) - - - (src) - - - ¨ NameOnlyClassArrayToArray - - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_SortByPath - ƒTƒ“ƒvƒ‹ - ‹t‚Ì•ÏŠ· - - ¨ DicItemToNameOnlyClassItem - - Ž«‘”Å - - - - - - - NameOnlyClassArrayToArray - - ¨ NameOnlyClass - - - - Function NameOnlyClassArrayToArray( aArray as array of object ) as array of variant - - Name ƒvƒƒpƒeƒB‚ðŽ‚ÂƒIƒuƒWƒFƒNƒg‚Ì”z—ñ‚ðAName ƒvƒƒpƒeƒB‚Ì’l‚Ì”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - aArray - •Ô‚è’l - Name ƒvƒƒpƒeƒB‚ðŽ‚ÂƒIƒuƒWƒFƒNƒg‚Ì”z—ñ - Name ƒvƒƒpƒeƒB‚Ì’l‚Ì”z—ñ - ŠÖ˜A - ƒ\[ƒg‚Å‚«‚é”z—ñ‚©‚ç–ß‚µ‚Ü‚·B - - (src) - - - ¨ ArrayToNameOnlyClassArray - - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_SortByPath - ‹t‚Ì•ÏŠ· - - ¨ NameOnlyClassItemToDicItem - - Ž«‘”Å - - - - - - - ‚»‚Ì‘¼ - - ¨ (CSV) ArrayFromCSV, ArrayFromCSV_Int - - - ¨ DicToArr - - - ¨ Dic_addFromArray - - - ¨ DicKeyToArr - - - ¨ DicItemToArr - - - ¨ •À‚בւ¦Aƒ\[ƒg - - - - - - - - Ž«‘ iDictionaryj - - ¨ Dictionary ƒNƒ‰ƒX iƒnƒbƒVƒ…AScripting.Dictionaryj - - ŽQl - - - Set dic = CreateObject( "Scripting.Dictionary" ) - - - ¨ Dic_addInArrayItem - - ”z—ñ‚ÌŽ«‘ - - ¨ Dic_addNewObject - - –³‚¯‚ê‚ΒljÁ‚·‚鎫‘ - Ž«‘‚́AŽŸ‚̂悤‚ɐ¶¬‚µ‚Ü‚·B - - ¨ Dictionary ƒNƒ‰ƒX iƒnƒbƒVƒ…AScripting.Dictionaryj - - Ž«‘ - - - - - - - Dict - - - Function Dict( Elems as array ) as Dictionary - - Ž«‘‚𐶐¬‚µ‚Ü‚·B - Elems ‚̊”Ô–Ú‚Ì—v‘f‚́AƒL[A‹ô””Ô–Ú‚Ì—v‘f‚́AƒAƒCƒeƒ€‚É‚È‚è‚Ü‚·BƒL[‚Í•¶Žš—ñ‚Ì‚Ý‚Å‚·‚ªAƒAƒCƒeƒ€‚̓IƒuƒWƒFƒNƒg‚È‚Ç‚àŽw’è‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set dic = Dict(Array( "Key1","Item1", "Key2","Item2" )) - - - - Set dic = CreateObject( "Scripting.Dictionary" )dic.Item( "Key1" ) = "Item1" - dic.Item( "Key2" ) = "Item2" - - ã‹L‚͉º‹L‚Æ“¯‚¶ˆ—“à—e‚Å‚· - - ¨ T_Dic.vbs # T_Dict - - ƒeƒXƒg - ŠÖ˜A - - ¨ JSON (JavaScript Object Notation) - - - - Set obj = Dict(Array( "Attr1", 123, "Attr2", "ABC" ))echo obj("Attr1") & obj("Attr2") - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - ¶¬‚µ‚½Ž«‘‚̃L[‚͑啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB - - ¨ Dic_addFromArray - - - - - - - - DictionaryClass - ƒL[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚ÉŽQÆ‚µ‚Ä‚àAŽ©“®“I‚ɃL[‚ð’ljÁ‚µ‚È‚¢Ž«‘B - - ¨ T_Dic.vbs - - ƒeƒXƒg - T_DictionaryClass - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ Dictionary ƒNƒ‰ƒX (VBScript) - - ŠÖ˜A - •¶Žš—ñ‚̃Xƒyƒ‹ƒ~ƒX‘΍ô - ƒL[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚ÉŽ©“®“I‚ɃL[‚ð’ljÁ‚µ‚È‚¢‚½‚߁A•¶Žš—ñ‚̃Xƒyƒ‹ƒ~ƒX‚ð–h‚®‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚½‚¾‚µAƒL[‚ƃAƒCƒeƒ€‚ªˆÙ‚Ȃ邱‚Æ‚ªˆê”Ê“I‚Å‚ ‚鎫‘Œ^‚ł́AƒAƒCƒeƒ€‚𒲂ׂȂ¯‚ê‚Î - •¶Žš—ñ‚ð’m‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚߁AŠJ”­Œø—¦‚ª—Ž‚¿‚Ü‚·B - ‚»‚±‚ŁAƒL[‚̐擪‚ª ">" ‚©‚çAƒAƒCƒeƒ€‚Æ“¯‚¶‚Å‚ ‚é‚悤‚ȃ‹[ƒ‹‚É‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - - Set g = new DictionaryClassg(">Spell") = "Spell" - - - ¨ LazyDictionaryClass - - - - - - - - DicTable - - - Function DicTable( DataArray as array ) as array of Dictionary - - ƒe[ƒuƒ‹‚̂悤‚ÉŽg‚¤AŽ«‘‚Ì”z—ñ‚𐶐¬‚µ‚Ü‚·B - ŠÖ˜A - - ¨ Dict - - - (src) - - ƒTƒ“ƒvƒ‹ - - - For Each t In DicTable( Array( _ "Item", "Price", "Number", Empty, _ - "Book", 2000, 2, _ - "Pen", 100, 12, _ - "Eraser", 60, 10 ) ) - - echo t("Item") &" : "& t("Price") * t("Number") - Next - - ‚Ps–ڂ́AŽ«‘‚̃L[i‘®«–¼j‚ð•À‚ׁAs––‚Í Empty ‚É‚µ‚Ü‚·B‚Qs–ڈȍ~‚́AŽ«‘‚̃AƒCƒeƒ€i’lj‚ð•À‚ׂ܂·B - ’l‚ɂ́A”z—ñ‚âƒIƒuƒWƒFƒNƒg‚àŽw’è‚Å‚«‚Ü‚·B - ã‹L‚ðŽÀs‚µ‚½Œ‹‰Ê‚̏o—͂́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - - - Book : 4000Pen : 1200 - Eraser : 600 - - - ¨ JSON (JavaScript Object Notation) - - Ž«‘‚Ì“à—e‚ðŒ©‚é‚ɂ́Aecho o ‚ŏo—Í‚·‚é‚©A?GetEchoStr( t )‚ðƒCƒ~ƒfƒBƒGƒCƒgƒEƒBƒ“ƒhƒE‚ÅŽÀs‚µ‚Ü‚·B - - - ?GetEchoStr( t ) - - - - "Item=BookPrice=2000 - Number=2" - - - ¨ ƒeƒXƒgƒP[ƒX‚Ì‘g‚ݍ‡‚킹 - - - ¨ T_Dic.vbs - - ƒeƒXƒg - - ¨ JoinDicTable - - T_DicTable - ƒfƒoƒbƒO‚Ì‚½‚߂Ɉꎞ“I‚É“r’†‚©‚çŽn‚ß‚é‚Æ‚«‚́AƒXƒLƒbƒv‚·‚éƒf[ƒ^‚ð For ‚̏ã‚Ɉړ®‚µAŽŸ‚̂悤‚É Array ‚ðŽg‚Á‚ă_ƒ~[‚Ì”z—ñ‚ðì¬‚·‚ê‚Ζ³Œø‰»‚Å‚«‚Ü‚·B - - - Array _ "Book", 2000, 2, _ - "Pen", 100, 12, _ - 0 : Skipped - - For Each t In DicTable( Array( _ - "Item", "Price", "Number", Empty, _ - "Eraser", 60, 10 ) ) - - echo t("Item") &" : "& t("Price") * t("Number") - Next - - Array _ - 0 : - - Skipped - - - - - - - - JoinDicTable - - - Function JoinDicTable( DicTable1 as array of Dictionary, KeyField as string, DicTable2 as array of Dictionary ) as array of Dictionary - - ‚Q‚‚̃e[ƒuƒ‹iŽ«‘‚Ì”z—ñj‚ðAŽw’è‚̃tƒB[ƒ‹ƒh‚ªˆê’v‚·‚és‚ŁAŒ‹‡‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - table1 = DicTable( Array( _ "Item", "Price", Empty, _ - "Book", 2000, _ - "Pen", 100, _ - "Eraser", 60 ) ) - - For Each t In JoinDicTable( table1, "Item", Array( _ - "Item", "Number", Empty, _ - "Book", 2, _ - "Pen", 12, _ - "Eraser", 10 ) ) - - echo t("Item") &" : "& t("Price") * t("Number") - Next - - yˆø”z - DicTable1 - KeyField - ƒe[ƒuƒ‹iŽ«‘‚Ì”z—ñj - ”äŠr‚·‚éƒtƒB[ƒ‹ƒh–¼iŽ«‘‚̃L[j - DicTable2 - ƒe[ƒuƒ‹iŽ«‘‚Ì”z—ñj - Œ‹‡Œã‚̃e[ƒuƒ‹iŽ«‘‚Ì”z—ñj - •Ô‚è’l - - (src) - - - - For Each t In DicTable( Array( _ "Item", "Price", "Number", Empty, _ - "Book", 2000, 2, _ - "Pen", 100, 12, _ - "Eraser", 60, 10 ) ) - - echo t("Item") &" : "& t("Price") * t("Number") - Next - - ã‹L‚ÌŒ‹‡‚ð‚µ‚½Œ‹‰Ê‚́A‰º‹L‚Æ“¯‚¶‚Å‚·B - Item - Item - Item - JoinDicTable - ŠÖ˜A - - ¨ DicTable - - - ¨ SQL ‚Ì JOIN ‚ÌÚ× - - KeyField ‚ðŽ‚¿AKeyField ‚ª Empty ‚Å‚Í‚È‚¢s‚ɂ‚¢‚āASQL ‚Ì FULL OUTER JOIN‰‰ŽZ‚ðs‚¢‚Ü‚·B - - DicTable - - ƒeƒXƒg - - ¨ T_Dic.vbs # T_DicTable - - - - - - - - GetDicItem - - - Sub GetDicItem( in_Dictionary as dictionary, in_Key as string, out_Item as variant ) - - - - GetDicItem dic, "key1", item '// Set "item" If IsEmpty( item ) Then _ - Set item = new ItemClass : item.Name = "key1" - - “o˜^‚³‚ê‚Ä‚¢‚È‚¢ Key ‚ðŽw’肵‚½‚Æ‚«‚́Aout_Item = Empty ‚É‚È‚è‚Ü‚·B‚±‚Ì‚Æ‚«A’l‚ª Empty ‚Ì—v‘f‚ð in_Dictionary ˆø”‚ÉŽw’肵‚½Ž«‘‚ɒljÁ‚µ‚Ü‚¹‚ñB - ƒL[‚ª“o˜^‚³‚ê‚Ä‚¢‚邱‚ƂƁAƒL[‚̃AƒCƒeƒ€‚ª Empty ‚±‚Æ‚Ì‹æ•Ê‚ð‚·‚é‚Æ‚«‚́ADictionary::Exists - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ƒL[‚ɑΉž‚·‚éƒAƒCƒeƒ€‚ðŽæ“¾‚µ‚Ü‚·B - - ¨ Dictionary::Item - - yˆø”z - Dic - Key - Ž«‘ - Ž«‘‚̃L[ - out_Item - io—́jŽ«‘‚̃AƒCƒeƒ€ iƒIƒuƒWƒFƒNƒg ‚Ü‚½‚Í ”ñƒIƒuƒWƒFƒNƒgj - ƒeƒXƒg - - ¨ T_Dic.vbs - - ƒTƒ“ƒvƒ‹ - Ž«‘‚©‚çƒAƒCƒeƒ€‚ðŽæ“¾‚·‚é‚Æ‚«‚Ì - - LetSet - - ‚Å‚·B - T_GetDicItem - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ GetDicItemOrError - - ƒAƒCƒeƒ€‚ªƒIƒuƒWƒFƒNƒg‚Å‚à”ñƒIƒuƒWƒFƒNƒg‚Å‚àƒGƒ‰[‚ª”­¶‚µ‚È‚¢‚ŁAƒAƒCƒeƒ€‚ðŽæ“¾‚Å‚«‚Ü‚·B - - ¨ LetSetWithBracket - - - ¨ LetSetWithBracket - - ‰º‹L‚Ì‚Ç‚¿‚ç‚©‚̃R[ƒh‚É‘Š“–‚µ‚Ü‚·B - - - out_Item = in_Dictionary( in_Key ) - - - - Set out_Item = in_Dictionary( in_Key ) - - - - - - - - GetDicItemOrError - - - Sub GetDicItemOrError( in_Dictionary as Dictionary, in_Key as string, out_Item as variant, in_DictionaryName as string ) - - Žw’肵‚½ƒL[‚ª“o˜^‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΃Gƒ‰[‚É‚È‚é - ‚Å‚·B - - GetDicItem - - ƒGƒ‰[ƒƒbƒZ[ƒW‚́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - yˆø”z - in_Dictionary - in_Key - Ž«‘ - Ž«‘‚̃L[ - out_Item - io—́jŽ«‘‚̃AƒCƒeƒ€ iƒIƒuƒWƒFƒNƒg ‚Ü‚½‚Í ”ñƒIƒuƒWƒFƒNƒgj - ƒeƒXƒg - - ¨ T_Dic.vbs - - T_GetDicItem - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ GetDicItem - - in_DictionaryName - Ž«‘‚ð“Á’è‚·‚邽‚߂ɃGƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚·‚鎫‘‚Ì–¼‘O - - - <ERROR msg="Œ©‚‚©‚è‚Ü‚¹‚ñ" name="Last" in="ŒŸõŒ‹‰Ê"/> - - - - GetDicItem dic, "Last", item, "ŒŸõŒ‹‰Ê" '// Set "item" - - ƒTƒ“ƒvƒ‹ - - - - - - - DicItem - - - Function DicItem( Dic as Dictionary, Key as string ) as variant - - - Dictionary::Item - - “o˜^‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚àAV‹K‚É“o˜^‚µ‚È‚¢A - ‚Å‚·B - - - dic.Item("key1") - - - - DicItem( dic, "key1" ) - - Dictionary::Item ‚Å‚Í - DicItem ‚Å‚Í - “o˜^‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́AEmpty ‚ð•Ô‚µ‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_Dic.vbs # T_GetDicItem - - - - - - - - GetDicItemByIndex - - - Sub GetDicItemByIndex( in_Dictionary as dictionary, in_IndexNum as string, out_Item as variant ) - - ”ԍ†‚ÅŽ«‘‚̃AƒCƒeƒ€‚ðŽQÆ‚µ‚Ü‚·B - ”ԍ†‚ª‘å‚«‚·‚¬‚é‚©¬‚³‚·‚¬‚é‚Æ‚«‚́Aout_Item = Empty ‚É‚È‚è‚Ü‚·B - yˆø”z - in_Dictionary - in_IndexNum - Ž«‘ - ƒL[‚̔ԍ†B 0 ˆÈãAƒL[‚̐”–¢–ž - out_Item - io—́jŽ«‘‚̃AƒCƒeƒ€ - in_IndexNum ˆø”‚ÉŽw’è‚·‚é’l‚́Ain_Dictionary.Keys ‚Ŏ擾‚Å‚«‚éƒL[‚̏W‡‚̏‡”ԂɑΉž‚µ‚Ü‚·B - - - GetDicItemByIndex dic, 0, item '// Set "item" - - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - ƒ\[ƒX - T_GetDicItem - ƒeƒXƒg - - ¨ T_Dic.vbs - - - ¨ GetFirst - - ŠÖ˜A - - - - - - - DicItemOfItem - - - Function DicItemOfItem( Dic as Dictionary, Key as string ) as variant - - Ž«‘‚Ì Item ‚ª $ ‚© % ‚ň͂ñ‚¾•Ï”‚È‚çA‚»‚ê‚ð Key ‚Æ‚µ‚½ Item ‚ð•Ô‚µ‚Ü‚·B - - - Set dic = CreateObject( "Scripting.Dictionary" ) dic.Item( "Key1" ) = "$Key3" - dic.Item( "Key2" ) = "%Key3%" - dic.Item( "Key3" ) = "Item3" - - Assert DicItemOfItem( dic, "Key1" ) = "Item3" - Assert DicItemOfItem( dic, "Key2" ) = "Item3" - Assert DicItemOfItem( dic, "Key3" ) = "Item3" - - ƒTƒ“ƒvƒ‹ - Ž«‘‚Ì Item ‚ª % ‚© ‚ň͂ñ‚¾•Ï”‚Å‚Í‚È‚¢‚È‚çAŽ«‘‚Ì Item ‚ð‚»‚Ì‚Ü‚Ü•Ô‚µ‚Ü‚·B - - (src) - - - ¨ T_Dic.vbs # T_DicItemOfItem - - ƒeƒXƒg - - ¨ LazyDictionaryClass - - ŠÖ˜A - - - - - - - Dic_addElem - - - Sub Dic_addElem( ref_Dictionary as dictionary, in_Key as string, in_Item as variant ) - - Ž«‘‚É—v‘fiƒL[‚Æ’lj‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - in_Key - i“üo—́j •ÒW‚·‚鎫‘ - Ž«‘‚̃L[ - in_Item - Ž«‘‚ɒljÁ‚·‚é’l iƒIƒuƒWƒFƒNƒg ‚Ü‚½‚Í ”ñƒIƒuƒWƒFƒNƒgj - in_Item ‚ªƒIƒuƒWƒFƒNƒg‚©‚Ç‚¤‚©‚ŁASet ‚ð‹Lq‚·‚é‚©‚Ç‚¤‚©‚ð‹æ•Ê‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñBin_Item ‚ª Empty ‚Ì‚Æ‚«‚́Aref_Dictionary ‚©‚çƒL[‚ðíœ‚µ‚Ü‚·B - ‚·‚Å‚ÉŽw’肵‚½ƒL[‚ª“o˜^‚³‚ê‚Ä‚ ‚Á‚½‚Æ‚«‚́A’l‚ð•ÏX‚µ‚Ü‚·B - ŠÖ˜A - - ¨ Dic_add - - - ¨ LetSetWithBracket - - - - Dic_addElem dic, "key1", item - - ƒTƒ“ƒvƒ‹ - - ¨ T_Dic.vbs # T_DicAdd - - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - Dic_addElemOrError - - - Sub Dic_addElemOrError( ref_Dictionary as dictionary, in_Key as string, in_Item as variant, in_DictionaryName as string ) - - yˆø”z - ref_Dictionary - in_Key - i“üo—́j •ÒW‚·‚鎫‘ - Ž«‘‚̃L[ - in_Item - Ž«‘‚ɒljÁ‚·‚é’l iƒIƒuƒWƒFƒNƒg ‚Ü‚½‚Í ”ñƒIƒuƒWƒFƒNƒgj - Žw’肵‚½ƒL[‚ª‚·‚Å‚É“o˜^‚³‚ê‚Ä‚¢‚½‚çƒGƒ‰[‚É‚È‚é - ‚Å‚·B - - Dic_addElem - - in_DictionaryName - Ž«‘‚ð“Á’è‚·‚邽‚߂ɃGƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚·‚鎫‘‚Ì–¼‘O - ƒGƒ‰[ƒƒbƒZ[ƒW‚́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - - - <ERROR msg="Œ©‚‚©‚è‚Ü‚¹‚ñ" name="Last" in="ŒŸõŒ‹‰Ê"/> - - - - Dic_addElemOrError dic, "key1", item, "ŒŸõŒ‹‰Ê" '// Set "item" - - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - - ¨ T_Dic.vbs # T_DicAdd - - ƒeƒXƒg - ƒ\[ƒX - - ¨ Dic_addElem - - - ¨ Dic_addUniqueKeyItem - - - ¨ vbslib.vbs - - - - - - - - Dic_addUniqueKeyItem - - - Sub Dic_addUniqueKeyItem( ref_Dictionary as Dictionary, in_Key as string, in_Item as variant ) - - Ž«‘‚Ì—v‘f‚ð’ljÁ‚µ‚Ü‚·B ‚·‚Å‚É“¯‚¶ƒL[‚ª‚ ‚é‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - yˆø”z - in_out_Dic - Key - i“üo—́j •ÒW‚·‚鎫‘ - ƒL[ - Item - Ž«‘‚ɒljÁ‚·‚é ƒAƒCƒeƒ€ - ref_Dictionary.Add in_Key, in_Item ‚Æ‚Ù‚Ú“¯‚¶‚Å‚·‚ªAˆá‚¢‚͉º‹L‚Ì‚Æ‚¨‚è‚Å‚·B - Ein_Item ‚ª Empty ‚Ì‚Æ‚«‚́Aref_Dictionary ‚©‚çƒL[‚ðíœ‚µ‚Ü‚·BE‚·‚Å‚É“¯‚¶ƒL[‚ª‚ ‚é‚Æ‚«‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ɁA‚»‚̃L[‚ª•\Ž¦‚³‚ê‚Ü‚·B - - ¨ T_Dic.vbs # T_DicAdd - - ƒeƒXƒg - ŠÖ˜A - - ¨ Dic_add - - ƒ\[ƒX - - ¨ vbslib.vbs - - - Dic_addElemOrError - - ’ˆÓ - ‚ÌŽg—p‚𐄏§‚µ‚Ü‚·B - - - - - - - Dic_addNewObject - - - Function Dic_addNewObject( Dic as Dictionary, ClassName as string, ObjectName as string, IsDuplicate as boolean ) as ClassName - - Žw’肵‚½–¼‘O‚ªƒL[‚É‚È‚¯‚ê‚΁A‚»‚Ì–¼‘O‚ð•t‚¯‚½ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µAŽ«‘‚ɒljÁ‚µ‚Ü‚·B - yˆø”z - Dic - ClassName - Ž«‘B ƒL[‚ª ObjectName ‚Ì—v‘f‚ª’ljÁ‚³‚ê‚é - ƒNƒ‰ƒX–¼ - - (src) - - ObjectName - ƒIƒuƒWƒFƒNƒg‚Ì–¼‘OAŽ«‘‚̃L[‚É‚È‚è‚Ü‚·B - •Ô‚è’l - Name ƒvƒƒpƒeƒB‚ª ObjectName ‚̃IƒuƒWƒFƒNƒg - - - Set objs = CreateObject( "Scripting.Dictionary" ) Set obj = Dic_addNewObject( objs, "ClassA", "ObjectA", True ) - - Class ClassA - Public Name - End Class - - ‚·‚Å‚É“¯‚¶–¼‘O‚̃IƒuƒWƒFƒNƒg‚ªŽ«‘‚É‚ ‚é‚Æ‚«A‚©‚AIsDuplicate = True ‚È‚ç’ljÁ‚µ‚È‚¢‚ŁAŽ«‘‚É“ü‚Á‚Ä‚¢‚½‚à‚Ì‚ð•Ô‚µ‚Ü‚·B IsDuplicate = False ‚È‚ç E_AlreadyExist ƒGƒ‰[‚É‚È‚è‚Ü‚·B - Ž«‘‚É–³‚¢‚Æ‚«‚́AƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - IsDuplicate - False = ‚·‚Å‚ÉŽ«‘‚É‚ ‚é‚Æ‚«‚̓Gƒ‰[‚É‚·‚é - - ¨ T_Dic.vbs [T_DicAddObj] - - ƒeƒXƒg - - ¨ AddNewObject (ArrayClass) - - ŠÖ˜A - ClassName ‚ÉŽw’肵‚½ƒNƒ‰ƒX‚ɁAName ƒvƒƒpƒeƒBA‚Ü‚½‚̓ƒ“ƒo[•Ï”‚ª•K—v‚Å‚·B - - new_X - - “à•”‚Å - ‚ðŽg‚Á‚Ä‚¢‚é‚̂ŁAnew_ClassA ŠÖ”‚Ì’è‹`‚ª•K—v‚Å‚·B - - - g_Vers("CutPropertyM") = False - Class ClassA - Public m_Name - End Class - - g_Vers("CutPropertyM") = False ‚É‚·‚é‚ƁAName ‚Ì‘ã‚í‚è‚É m_Name ‚ðŽg‚¢‚Ü‚·B - ¶¬‚µ‚½ƒIƒuƒWƒFƒNƒg‚Ì Name ƒvƒƒpƒeƒB‚ɁAObjectName ˆø”‚Ì’l‚ªÝ’肳‚ê‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - - - - - Dic_addFromArray - - - Function Dic_addFromArray( in_out_Dic as Dictionary, Keys as array of string, Items as variant ) - - ”z—ñ‚ðŽg‚Á‚āAŽ«‘‚ɒljÁ‚µ‚Ü‚·B - yˆø”z - in_out_Dic - Keys - i“üo—́j ‰ÁŽZ‚³‚ê‚鎫‘A Empty ‰Â”\ - ƒL[‚ƂȂ镶Žš—ñ‚ª“ü‚Á‚Ä‚¢‚é”z—ñ - Items - ƒL[‚ɑΉž‚·‚é’lA‚Ü‚½‚́A‚»‚Ì”z—ñ - ƒTƒ“ƒvƒ‹ - - - Set dic = CreateObject( "Scripting.Dictionary" )Dic_addFromArray dic, Array( "key1", "key2" ), True - - ã‹L‚͉º‹L‚Æ“¯‚¶“à—e‚Å‚·B - - - Set dic = CreateObject( "Scripting.Dictionary" )dic.Item( "key1" ) = True - dic.Item( "key2" ) = True - - - - dic.Item( "key1" ) = 1dic.Item( "key2" ) = 2 - - ã‹L‚͉º‹L‚Æ“¯‚¶“à—e‚Å‚·B - - - Dic_addFromArray dic, Array( "key1", "key2" ), Array( 1, 2 ) - - ƒTƒ“ƒvƒ‹ - - ¨ T_Dic.vbs # [T_DicArray] - - ƒeƒXƒg - •Ô‚è’l - in_out_Dic ‚Æ“¯‚¶ - - - Set dic = Dic_addFromArray( Empty, Array( "key1", "key2" ), True ) - - ƒTƒ“ƒvƒ‹ - in_out_Dic ˆø”‚É Empty ‚ðŽw’肵‚½ê‡AV‹K‚ɍ쐬‚µ‚½Ž«‘‚ð•Ô‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - - - - - - - Dic_addPaths - - - Sub Dic_addPaths( in_out_Dic as Dictionary, BasePath as string, StepPaths as array of string, Item as variant ) - - •¡”‚Ì‘Š‘΃pƒX‚ð‚»‚ê‚¼‚ê‚̃L[‚Æ‚µ‚āAŽ«‘‚Ì—v‘f‚ðÝ’肵‚Ü‚·B - yˆø”z - in_out_Dic - BasePath - i“üo—́j •ÒW‚·‚鎫‘A‚Ü‚½‚́A - ‘Š‘΃pƒX‚̊ƒpƒX - StepPaths - ƒL[‚Æ‚·‚é‘Š‘΃pƒX‚Ì”z—ñ - Ž«‘‚ɒljÁ‚·‚é ƒAƒCƒeƒ€ - Item - ƒTƒ“ƒvƒ‹ - - - Set files = CreateObject( "Scripting.Dictionary" )Dic_addPaths files, "C:\Folder", Array( "a.txt", "b.txt" ), 12 - - - PathDictionaryClass - - ã‹L‚̃R[ƒh‚́A‰º‹L‚̃R[ƒh‚Æ“¯‚¶ˆ—‚ð‚µ‚Ü‚·B - - - Set files = CreateObject( "Scripting.Dictionary" )files( "C:\Folder\a.txt" ) = 12 - files( "C:\Folder\b.txt" ) = 12 - - - ¨ T_Dic.vbs # T_DicAdd - - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - DicKeyToArr - - - Sub DicKeyToArr( Dic as Dictionary, out_Array as array of string ) - - Dictionary ‚̃L[‚ð”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - (src) - - - - - - - - DicItemToArr - - - Sub DicItemToArr( Dic as Dictionary, out_Array as array of variant ) - - Dictionary ‚̃AƒCƒeƒ€‚ð”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - (src) - - - - - - - - DicKeyToCSV - - - Function DicKeyToCSV( Dic as Dictionary ) as string - - Dictionary ‚̃L[‚ð CSV ‚É•ÏŠ·‚µ‚Ü‚·B - - (src) - - ƒTƒ“ƒvƒ‹ - - - Set dic = CreateObject( "Scripting.Dictionary" )dic.Item( "Key1" ) = "Item1" - dic.Item( "Key2" ) = "Item2" - Assert DicKeyToCSV( dic ) = "Key1,Key2" - - DicKeyToCSV - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒeƒXƒg - - ¨ T_Dic.vbs # [T_DicKeyToCSV] - - Dic ‚É—v‘f‚ª‚P‚Â‚à–³‚¢‚Æ‚«‚́A"" ‚ð•Ô‚µ‚Ü‚·B - - - - - - - DicToArr - - - Sub DicToArr( Dic as Dictionary, out_Arr as array of DicElem ) - - Dictionary ‚ð”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B ”z—ñ‚Ì—v‘f‚Í DicElem Œ^‚É‚È‚è‚Ü‚·B - yˆø”z - Dic - out_Arr - Dictionary - io—́j DicElem Œ^‚Ì”z—ñB - Dic ‚Ì“à—e‚ð Arr ‚É•ÏŠ·‚·‚é‚ƁAƒfƒoƒbƒK‚Å“à—e‚ðŒ©‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·BiVisual Studio 2005j - - (src) - - - - Class DicElem Public Key - Public Item - Public Property Get/Let Name '// Key ‚Æ“¯‚¶ - Public Sub Init( a_Key, a_Item ) - End Class - - DicElem ƒNƒ‰ƒX - ƒTƒ“ƒvƒ‹F - - - DicToArr dic, arr '//[out] arr - - ŠÖ˜A - - ¨ ShakerSort_fromDicKey - - - (src) - - - ¨ DicKeyToArr - - - ¨ DicItemToArr - - - ¨ Dic_addFromArray - - - - - - - - DicElemArrayKeyToArr - - - Sub DicElemArrayKeyToArr( a_DicElemArray as array of DicElem, out_Array as array of variant ) - - ‚Ì”z—ñ‚©‚çADicElem::Key ‚Ì”z—ñ‚𒊏o‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - DicElem ƒNƒ‰ƒX - - - - - - - - IsSameDictionary - - - Function IsSameDictionary( DicA as dictionary, DicB as dictionary, Option_ as integer ) as boolean - - Ž«‘‚Ì‚·‚ׂĂ̗v‘f‚ª“™‚µ‚¢‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - Še—v‘f‚Í = ‚Å”»’肵‚Ü‚·B - Option_ ˆø” - c ‚Í g_VBS_Lib ‚Ì•Ô‚è’l‚Å‚·B - c.CompareOnlyExistB - DicB ‚É‘¶Ý‚·‚é—v‘f‚Ì‚Ý”äŠr‚µ‚Ü‚· - c.StopIsNotSame - ƒfƒoƒbƒO—pB ˆÙ‚È‚é—v‘f‚ªŒ©‚‚©‚Á‚½‚çA–{ŠÖ”‚Ì’†‚©‚ç Stop –½—ß‚ðŒÄ‚яo‚· - ƒ\[ƒX - - ¨ T_Dic.vbs - - ƒeƒXƒg - - ¨ vbslib.vbs - - T_IsSameDictionary - yˆø”z - DicA - DicB - DicB ‚Æ”äŠr‚·‚鎫‘ - DicA ‚Æ”äŠr‚·‚鎫‘ - Option_ - ƒIƒvƒVƒ‡ƒ“i‰º‹Lj - Ž«‘‚Ì‚·‚ׂĂ̗v‘f‚ª“™‚µ‚¢‚©‚Ç‚¤‚© - •Ô‚è’l - - - - - - - Dic_add - - - Sub Dic_add( in_out_Dic as Dictionary, PlusDic as Dictionary ) - - Ž«‘‚ð‰ÁŽZ‚µ‚Ü‚·B - yˆø”z - in_out_Dic - PlusDic - i“üo—́j ‰ÁŽZ‚³‚ê‚鎫‘ - ‰ÁŽZ‚·‚é“à—e‚ª“ü‚Á‚Ä‚¢‚鎫‘ - PlusDic ‚̃AƒCƒeƒ€‚ª Empty ‚̃L[‚́Ain_out_Dic ‚©‚çíœ‚³‚ê‚Ü‚·B’l‚ª Empty ‚̕ϐ”‚ð in_out_Dic ‚ÉŽw’è‚·‚é‚ƁA“à•”‚ÅŽ«‘‚𐶐¬‚µ‚Ü‚·B - - ¨ T_Dic.vbs # T_DicAdd - - ƒeƒXƒg - ŠÖ˜A - - ¨ Dic_sub - - - ¨ Dic_addElem - - - - Set dic = Dict(Array( "Key1","Item1", "Key2","Item2" )) Dic_add dic, Dict(Array( "Key2","ITEMS", "Key3","Item3" )) '//[out] dic - Assert dic.Count = 3 - Assert dic.Item( "Key1" ) = "Item1" - Assert dic.Item( "Key2" ) = "ITEMS" - Assert dic.Item( "Key3" ) = "Item3" - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ ‚Q‚‚̎«‘‚ð‰ÁŽZ‚·‚é (LazyDictionaryClass) - - - - - - - - Dic_sub - - - Sub Dic_sub( out_Dic as Dictionary, WholeDic as Dictionary, BaseDic as Dictionary, CompareFunc as function, CompareFuncParam as variant ) - - Ž«‘‚ðŒ¸ŽZ‚µ‚Ü‚·B - yˆø”z - out_Dic - WholeDic - io—́j WholeDic ‚©‚ç BaseDic ‚ðŒ¸ŽZ‚µ‚½Œ‹‰Ê‚ÌŽ«‘ - BaseDic ‚É out_Dic ‚ð‰ÁŽZ‚µ‚½Œ‹‰Ê‚Æ“¯ˆê‚Ì“à—e‚ª“ü‚Á‚½Ž«‘ - - (src) - - WholeDic - BaseDic = out_Dic ‚̉‰ŽZ‚ð‚µ‚Ü‚·BBaseDic ‚É out_Dic ‚ð‰ÁŽZiDic_addj‚µ‚½Œ‹‰Ê‚ªAWholeDic ‚É‚È‚é‚悤‚È out_Dic ‚ðŽæ“¾‚µ‚Ü‚·B - out_Dic ‚ɁA’l‚ª Empty ‚̕ϐ”‚ðŽw’è‚·‚é‚ƁADic_sub ‚Ì“à•”‚Ő¶¬‚µ‚½Ž«‘‚ªŽæ“¾‚Å‚«‚Ü‚·B - - “¯‚¶ƒL[‚̃AƒCƒeƒ€‚ð CompareFunc ‚µ‚½Œ‹‰ÊA“™‰¿‚Å‚È‚¯‚ê‚΁Aout_Dic ‚ɃRƒs[‚³‚ê‚Ü‚·B - Ž«‘‚̃AƒCƒeƒ€‚ªƒIƒuƒWƒFƒNƒg‚Ì‚Æ‚«‚́AWholeDic ‚̃AƒCƒeƒ€‚Æ“¯ˆê‚̃IƒuƒWƒFƒNƒg‚ðŽw‚µ‚Ü‚·B - - BaseDic ‚É‚ ‚Á‚Ä WholeDic ‚É‚È‚¢ƒL[‚́Aout_Dic ‚É‚à‚Å‚«‚Ü‚·‚ªAƒAƒCƒeƒ€‚Í Empty ‚Æ - ‚È‚è‚Ü‚·B - - out_Dic ‚É Empty ‚ª“ü‚Á‚½•Ï”‚ðŽw’肵‚½‚çA“à•”‚ŐV‚µ‚­Ž«‘‚𐶐¬‚µ‚Ü‚·B - out_Dic ‚É Ž«‘‚ª“ü‚Á‚½•Ï”‚ðŽw’肵‚½‚Æ‚«‚́A‚»‚ÌŽ«‘‚ð‹ó‚É‚µ‚Ä‚©‚çA‚»‚ÌŽ«‘‚ɏo—Í‚µ‚Ü‚·B - BaseDic - Dic_add ‚ʼnÁŽZ‚·‚é‘O‚Æ“¯ˆê‚Ì“à—e‚ª“ü‚Á‚½Ž«‘ - - - Dic_sub dic, _ Dict(Array( "Key1","Item1", "Key2","ITEMS", "Key3","Item3" )), _ - Dict(Array( "Key1","Item1", "Key2","Item2", "Key4","Item4" )), _ - Empty, Empty - '//[out] dic - - '// dic = Dict(Array( "Key2","ITEMS", "Key3","Item3", "Key4",Empty )) - - ƒTƒ“ƒvƒ‹F - CompareFunc - CompareFuncParam - - ”äŠrŠÖ” - - ’ʏí EmptyACompareFunc ‚Ì‘æ3ˆø” - AEmpty = - - StdCompare - - ’ʏí EmptyA - - ¨ T_Dic.vbs # T_DicAdd - - ƒeƒXƒg - ƒTƒ“ƒvƒ‹F - - - Dic_sub dic, whole_dic, base_dic, Empty, Empty '//[out] dic - - - - - - - - Dic_searchParent - - - Function Dic_searchParent( Dictionay as dictionary, BasePath as string, Path as string ) as string - - ƒpƒX‚ªƒL[‚É“ü‚Á‚Ä‚¢‚鎫‘‚Ì’†‚©‚çAŽw’肵‚½ƒpƒX‚̐eƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŒŸõ‚µ‚Ü‚·B - yˆø”z - Dictionay - BasePath - ŒŸõ‘Ώۂ̎«‘ - Dictionay ˆø”‚̃L[‚ªƒtƒ‹ ƒpƒX‚Ì‚Æ‚«‚̊iƒtƒ‹ ƒpƒXjAEmpty ‰Â - Path - ŒŸõƒL[‚Æ‚È‚éƒtƒ@ƒCƒ‹A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚́AEmpty - ƒTƒ“ƒvƒ‹ - •Ô‚è’l - eƒtƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚́AEmpty = Œ©‚‚©‚ç‚È‚¢ - T_PathDictionary_SearchParent - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Wildcard.vbs - - ƒeƒXƒg - - - Set dic = CreateObject( "Scripting.Dictionary" ) dic( "123" ) = 0 - dic( "123\456" ) = 0 - Assert Dic_searchParent( dic, "C:\Folder", "123\456\a.txt" ) = "123\456" - Assert Dic_searchParent( dic, "C:\Folder", "123\4567\a.txt" ) = "123" - Assert IsEmpty( Dic_searchParent( dic, "C:\Folder", "123" ) ) - - ƒTƒ“ƒvƒ‹ - - - Function GetOrAddIfNot( Path ) If dic.Exists( Path ) Then - Set GetOrAddIfNot = dic( Path ) - Else - Set parent_item = Dic_searchParent( dic, "C:\Folder", Path ) - If IsEmpty( parent_item ) Then Error - Set sub_item = NewSubFromParent( parent_item, Path ) - Set dic( Path ) = sub_item - Set GetOrAddIfNot = sub_item - End Sub - - ƒTƒu ƒtƒHƒ‹ƒ_[‚Ì Item ‚ðAeƒtƒHƒ‹ƒ_[‚Ì Item ‚ðŽQl‚ɍ쐬‚µ‚Ü‚· - - ¨ PathDictionaryClass - - ŠÖ˜A - ‚Ì SearchParent - - ¨ SearchParent - - BasePath ˆø”‚́ADictionay ˆø”‚̃L[‚ªƒtƒ‹ ƒpƒX‚Ì‚Æ‚«A‚©‚APath ‚ª‘Š‘΃pƒX‚Ì‚Æ‚«‚É•K—v‚Å‚·B‚»‚êˆÈŠO‚Ì‚Æ‚«‚́AEmpty ‚ðŽw’è‚Å‚«‚Ü‚·B - - FileSystemObject::GetParentFolderName - - ‚É‹ß‚¢ˆ—‚ð‚µ‚Ü‚·B - - - - - - - Dic_searchChildren - - - Sub Dic_searchChildren( Dictionay as dictionary, BasePath as string, Path as string, out_PathArray as array of string, Option_ as Empty ) - - ƒpƒX‚ªƒL[‚É“ü‚Á‚Ä‚¢‚鎫‘‚Ì’†‚©‚çAŽw’肵‚½ƒpƒX‚ÌŽqƒm[ƒh‚̃pƒX‚ðŒŸõ‚µ‚Ü‚·B - yˆø”z - Dictionay - BasePath - ŒŸõ‘Ώۂ̎«‘ - Dictionay ˆø”‚̃L[‚ªƒtƒ‹ ƒpƒX‚Ì‚Æ‚«‚̊iƒtƒ‹ ƒpƒXjAEmpty ‰Â - Path - ŒŸõƒL[‚Æ‚È‚éƒtƒ@ƒCƒ‹EƒtƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚́AEmpty - out_PathArray - io—́j Žq‚̃tƒHƒ‹ƒ_[‚Ü‚½‚̓tƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ - Option_ - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - - - Set dic = CreateObject( "Scripting.Dictionary" ) dic( "123\456" ) = 0 - dic( "123\456\File.txt" ) = 0 - Dic_searchChildren dic, "C:\Folder", "123", an_array, Empty '//(out)an_array - Assert IsSameArray( an_array, Array( "123\456", "123\456\File.txt" ) ) - Dic_searchChildren dic, "C:\Folder", "123\456", an_array, Empty '//(out)an_array - Assert IsSameArray( an_array, Array( "123\456\File.txt" ) ) - Dic_searchChildren dic, "C:\Folder", "12", an_array, Empty '//(out)an_array - Assert IsSameArray( an_array, Array( ) ) - - BasePath ˆø”‚́ADictionay ˆø”‚̃L[‚ªƒtƒ‹ ƒpƒX‚Ì‚Æ‚«A‚©‚APath ‚ª‘Š‘΃pƒX‚Ì‚Æ‚«‚É•K—v‚Å‚·B‚»‚êˆÈŠO‚Ì‚Æ‚«‚́AEmpty ‚ðŽw’è‚Å‚«‚Ü‚·B - T_PathDictionary_SearchChildren - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Wildcard.vbs - - ƒeƒXƒg - out_PathArray ˆø”‚Ì”z—ñ—v‘f‚ªƒtƒ‹ ƒpƒX‚©‘Š‘΃pƒX‚©‚́ADictionay ˆø”‚̃L[‚ªƒtƒ‹ ƒpƒX‚©‘Š‘΃pƒX‚©‚É‚æ‚è‚Ü‚·B - ƒtƒHƒ‹ƒ_[‚ƃTƒu ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ðˆê——‚·‚邱‚Æ‚É‹ß‚¢ˆ—‚ð‚µ‚Ü‚·B - - - - - - - QuickSortDicByKey - ƒ\[ƒX - - ¨ vbslib.vbs - - - - Sub QuickSortDicByKey( in_out_Dictionary as dictionary ) - - yˆø”z - in_out_Dictionary - ƒ\[ƒg‚·‚鎫‘ - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒNƒCƒbƒN ƒ\[ƒg‚µ‚Ü‚·B Ž«‘‚̃L[‚Ń\[ƒg‚µ‚Ü‚·B - Ž«‘‚Ì Item ‚̓IƒuƒWƒFƒNƒgiSet ‚Å‘ã“ü‚·‚é‚à‚́j‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - Ž«‘‚Ì Keys ‚̏‡”Ô‚ª•Ï‚í‚è‚Ü‚·B - - ”äŠrŠÖ” PathCompare - - ‚ðŽg‚Á‚ă\[ƒg‚µ‚Ü‚·B - ŠÖ˜A - - ¨ QuickSortDicByKeyForNotObject - - - - - - - - QuickSortDicByKeyForNotObject - - - Sub QuickSortDicByKeyForNotObject( in_out_Dictionary as dictionary ) - - yˆø”z - in_out_Dictionary - ƒ\[ƒg‚·‚鎫‘ - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒNƒCƒbƒN ƒ\[ƒg‚µ‚Ü‚·B Ž«‘‚̃L[‚Ń\[ƒg‚µ‚Ü‚·B - Ž«‘‚Ì Keys ‚̏‡”Ô‚ª•Ï‚í‚è‚Ü‚·B - Ž«‘‚Ì Item ‚̓IƒuƒWƒFƒNƒgˆÈŠOiSet ‚Å‘ã“ü‚µ‚È‚¢‚à‚́j‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ vbslib.vbs - - - ”äŠrŠÖ” PathCompare - - ‚ðŽg‚Á‚ă\[ƒg‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ GetIdentifiableFileNames ‚̃eƒXƒg - - - - - - - - DicItemToNameOnlyClassItem - - - Sub DicItemToNameOnlyClassItem( ref_Dictionary ) - - ƒIƒuƒWƒFƒNƒg‚Å‚Í‚È‚¢Ž«‘‚̃AƒCƒeƒ€‚ðANameOnlyClass ‚̃IƒuƒWƒFƒNƒg‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - ƒAƒCƒeƒ€‚ð•ÏŠ·‚·‚鎫‘ - ƒ\[ƒg‚Å‚«‚鎫‘‚É‚µ‚Ü‚·BNameOnlyClass ‚Ì Delegate ƒƒ“ƒo[‚Í Empty ‚É‚È‚è‚Ü‚·B - - - Set dic = CreateObject( "Scripting.Dictionary" )DicItemToNameOnlyClassItem dic - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ ArrayToNameOnlyClassArray - - ”z—ñ”Å - ƒeƒXƒg - - ¨ GetIdentifiableFileNames ‚̃eƒXƒg - - - - - - - - NameOnlyClassItemToDicItem - - - Sub NameOnlyClassItemToDicItem( ref_Dictionary ) - - NameOnlyClass ‚̃IƒuƒWƒFƒNƒg‚ª“ü‚Á‚Ä‚¢‚鎫‘‚ðAName ƒvƒƒpƒeƒB‚Ì’l‚ÌŽ«‘‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ref_Dictionary - ƒAƒCƒeƒ€‚ð•ÏŠ·‚·‚鎫‘ - ƒ\[ƒg‚Å‚«‚é”z—ñ‚©‚ç–ß‚µ‚Ü‚·B - - - Set dic = CreateObject( "Scripting.Dictionary" )NameOnlyClassItemToDicItem dic - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - ”z—ñ”Å - - ¨ NameOnlyClassArrayToArray - - ƒeƒXƒg - - ¨ GetIdentifiableFileNames ‚̃eƒXƒg - - - - - - - - QuickSort_fromDic - - - Sub QuickSort_fromDic( Dic as dictionary, out_Arr as array of object, CompareFunc as function, Param as variant ) - - yˆø”z - Dic - ƒ\[ƒg‚·‚éƒf[ƒ^‚ª“ü‚Á‚½Ž«‘BiŽ«‘‚̓\[ƒg‚³‚ê‚Ü‚¹‚ñj - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^iDictionary::Itemj‚ðƒNƒCƒbƒNƒ\[ƒg‚µ‚Ü‚·B ”äŠrŠÖ”‚ðŽw’肵‚Ü‚·B - io—́j ƒ\[ƒg‚µ‚½Œ‹‰Ê‚Ì”z—ñB”z—ñ‚Ì—v‘f‚̓IƒuƒWƒFƒNƒg - out_Arr - CompareFunc - - ”äŠrŠÖ” - - Param - compare_func ‚Ì‘æ3ˆø” - - ¨ QuickSort - - - (src) - - ƒTƒ“ƒvƒ‹ - - - QuickSort_fromDic dic, arr, GetRef("StdCompare"), Empty '//[out]arr - - ŠÖ˜A - - ¨ DicToArr - - - - - - - - QuickSort_fromDicKey - ƒ\[ƒX - - ¨ vbslib.vbs - - - - Set dic = CreateObject( "Scripting.Dictionary" ) - QuickSort_fromDicKey dic, sorted_items, Empty '//[out] sorted_items - - For Each item In sorted_items - echo item.Key +" : "+ item.Item - Next - - - - Sub QuickSort_fromDicKey( in_out_Dictionary as dictionary, out_SortedKeysArray as array of string, in_Empty as Empty ) - - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒNƒCƒbƒN ƒ\[ƒg‚µ‚Ü‚·B Ž«‘‚̃L[‚Ń\[ƒg‚µ‚Ü‚·B - yˆø”z - in_out_Dictionary - out_SortedKeysArray - ƒ\[ƒg‚·‚é‘O‚̃L[‚ª“ü‚Á‚½Ž«‘ - io—́j ƒ\[ƒg‚µ‚½Œã‚̃L[‚ª“ü‚Á‚½”z—ñB”z—ñ‚Ì—v‘f‚Í - in_Empty - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - - DicElem ƒIƒuƒWƒFƒNƒg - - ƒ\[ƒg‚µ‚½Œ‹‰Ê‚́Aout_SortedKeysArray ˆø”‚ɏo—Í‚³‚ê‚Ü‚·B - - ¨ DicElemArrayKeyToArr - - ŠÖ˜A - - ”äŠrŠÖ” PathCompare - - ‚ðŽg‚Á‚ă\[ƒg‚µ‚Ü‚·B - - - - - - - ShakerSortDicByKey - - - Sub ShakerSortDicByKey( Dic as Dictionary ) - - yˆø”z - Dic - ƒ\[ƒg‚·‚鎫‘ - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·B Ž«‘‚̃L[‚Ń\[ƒg‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_ShakerSortDicByKey - ƒ\[ƒX - - ¨ vbslib.vbs - - Ž«‘‚Ì Item ‚̓IƒuƒWƒFƒNƒgiSet ‚Å‘ã“ü‚·‚é‚à‚́j‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - - - - - - ShakerSortDicByKeyCompare - - - Sub ShakerSortDicByKeyCompare( Dic as Dictionary, CompareFunc as function, CompareFuncParam as variant ) - - yˆø”z - Dic - ƒ\[ƒg‚·‚鎫‘ - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·B Ž«‘‚̃L[‚Ń\[ƒg‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_ShakerSortDicByKeyCompare - ƒ\[ƒX - - ¨ vbslib.vbs - - Ž«‘‚Ì Item ‚̓IƒuƒWƒFƒNƒgiSet ‚Å‘ã“ü‚·‚é‚à‚́j‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - CompareFunc - - ”äŠrŠÖ” - - CompareFuncParam - CompareFunc ‚Ì‘æ3ˆø” - - - ShakerSortDicByKeyCompare dic, GetRef( "NumStringCompare" ), Empty - - ƒTƒ“ƒvƒ‹ - - - - - - - ShakerSort_fromDic - - - Sub ShakerSort_fromDic( dic as Dictionary, out_arr as object array, sign as integer, compare_func as function, param as variant ) - - yˆø”z - dic - ƒ\[ƒg‚·‚éƒf[ƒ^‚ª“ü‚Á‚½Ž«‘BiŽ«‘‚̓\[ƒg‚³‚ê‚Ü‚¹‚ñj - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^iDictionary::Itemj‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·B - ƒ\[ƒg‚µ‚½Œ‹‰Ê‚Ì”z—ñB”z—ñ‚Ì—v‘f‚̓IƒuƒWƒFƒNƒgB - out_arr - compare_func - - ”äŠrŠÖ” - - param - compare_func ‚Ì‘æ3ˆø” - ŽQl - sign - - ¨ ShakerSort - - ³‚̐”dic ‚̏‡‚ªƒx[ƒXA•‰‚̐”dic‚Ì‹t‡‚ªƒx[ƒX(*1) - (*1) sign ˆø”‚Ìà–¾ - dic.Item ‚Ì For ƒ‹[ƒv‚̏‡”Ô‚Ç‚¨‚è‚Ì”z—ñ‚ðì¬‚µ‚Ä‚©‚çƒVƒF[ƒJ[ƒ\[ƒg‚ðŠJŽn‚·‚é‚©A‹t‡‚Ì”z—ñ‚ðì¬‚µ‚Ä‚©‚çƒVƒF[ƒJ[ƒ\[ƒg‚ðŠJŽn‚·‚é‚©‚ðŽw’肵‚Ü‚·B - sign < 0 ‚Ì‚Æ‚«‚Å‚àAcompare_func ‚́Asign > 0 ‚Ì‚Æ‚«‚Ì compare_func ‚Ì•Ô‚è’l‚Ì - ƒ}ƒCƒiƒX‚ð•Ô‚·‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - (src) - - - - - - - - ShakerSort_fromDicKey - - - Sub ShakerSort_fromDicKey( Dic as Dictionary, out_Array as array of DicElem, Option_ as Empty ) - - yˆø”z - Dic - ƒ\[ƒg‚·‚éƒf[ƒ^‚ª“ü‚Á‚½Ž«‘BiŽ«‘‚̓\[ƒg‚³‚ê‚Ü‚¹‚ñj - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·B Ž«‘‚̃L[‚Ń\[ƒg‚µ‚Ü‚·B - ƒ\[ƒg‚µ‚½Œ‹‰Ê‚Ì”z—ñB”z—ñ‚Ì—v‘f‚Í - out_Array - - DicElem ƒIƒuƒWƒFƒNƒg - - - (src) - - Option_ - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - - - Set dic = CreateObject( "Scripting.Dictionary" ) - ShakerSort_fromDicKey dic, sorted_items, Empty '//[out] sorted_items - - For Each item In sorted_items - echo item.Key +" : "+ item.Item - Next - - dic, sorted_items - - ”äŠrŠÖ” PathCompare - - ‚ðŽg‚Á‚ă\[ƒg‚µ‚Ü‚·B - - - - - - - ReverseDictionary - - - Sub ReverseDictionary( ref_Dictionary as Dictionary ) - - yˆø”z - ref_Dictionary - •À‚Ñ‚ð‹t‚É‚·‚鎫‘ - Ž«‘‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚Ì•À‚Ñ‚ð‹t‚É‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_ReverseDictionary - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - ŠÖ˜A - - ¨ ArrayDictionary ƒNƒ‰ƒX - - - - - - - - ƒcƒŠ[\‘¢i–؍\‘¢jAƒOƒ‰ƒt—˜_ - - - - - - - - - - - - - - - - - GraphVertexClass - - - GraphVertexClass ‚Ì”z—ñ  ƒOƒ‰ƒt - - - - GraphVertexClass - - - - Item - - - - Item - - - - Item - - - - Item - - - - GraphVertexClass - - - - GraphVertexClass - - - - GraphVertexClass - - GraphVertexClass ‚Ì”z—ñ‚́A“à•”\‘¢‚ª—אڃŠƒXƒg‚Å‚ ‚éAƒOƒ‰ƒt—˜_‚̃Oƒ‰ƒt‚Å‚·BƒcƒŠ[\‘¢‚ÉŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B iƒcƒŠ[\‘¢‚̓Oƒ‰ƒt‚Ì“ÁŽêŒ`‚Å‚·j - - ƒOƒ‰ƒt‚́A”CˆÓ‚̐”‚Ì’¸“_iƒm[ƒhAVertexj‚ƁA”CˆÓ‚̐”‚̕ӁiEdgej‚©‚ç\¬‚³‚ê‚Ü‚·B - ‚P‚Â‚Ì GraphVertexClass ‚́A’¸“_‚É‘Š“–‚µAAdjacentIndexes ƒƒ“ƒo[•Ï”‚́A•Ó‚É‘Š“–‚µ‚Ü‚·B - •Ó‚́AGraphVertexClass ‚Ì”z—ñ‚̔ԍ†‚Å•\‚µA–³ŒüƒOƒ‰ƒt‚Å‚Í•K‚¸‘o•ûŒü‚ɐݒ肳‚ê‚Ü‚·B - .Item - .AdjacentIndexes - ƒ†[ƒU[‚¾‚¯‚ªÝ’聕ŽQÆ‚·‚éA’¸“_‚̃IƒuƒWƒFƒNƒg - ŠÖ”‚Ì“à•”‚Őݒ肳‚êAŽQÆ‰Â”\‚ȁA—אڒ¸“_‚̃Oƒ‰ƒt‘S‘Ì‚Ì”z—ñ”ԍ†‚Ì”z—ñ - .ParentIndex - ƒ†[ƒU[‚àÝ’聕ŽQÆ‚Å‚«‚éAe’¸“_i’TõŒ³j‚Ì”z—ñ”ԍ† - ƒeƒXƒg - - ¨ T_Tree.vbs - - T_BreadthFirstSearch - ƒ\[ƒX - - ¨ vbslib.vbs - - .Edges - ŠÖ”‚Ì“à•”‚Őݒ肳‚êAŽQÆ‚à‰Â”\‚ȁA•Ó‚̃IƒuƒWƒFƒNƒg‚Ì”z—ñ - .Index - ’¸“_¶¬Žž‚ÉŽ©“®“I‚ɐݒ肳‚ê‚éA’¸“_”ԍ†B ƒOƒ‰ƒt‘S‘Ì‚Ì”z—ñ”ԍ†‚Æ“¯‚¶’l - T_GraphVertexClass - ŠÖ” - - CreateGraphVertex - - - BreadthFirstSearch - - - SetEdgeInGraph - - - SetNDEdgeInGraph - - - GetEdgeInGraph - - - GetNDEdgeInGraph - - - GetDirectionIndex - - - ResetSearchDataOfGraphVertex - - ƒOƒ‰ƒt‚Ì’¸“_‚𐶐¬‚µ‚āAƒOƒ‰ƒt‚ɒljÁ‚µ‚Ü‚·B - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚É’l‚ðÝ’肵‚Ü‚·Bi—LŒüƒOƒ‰ƒtj - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚É’l‚ðÝ’肵‚Ü‚·Bi–³ŒüƒOƒ‰ƒtj - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚Ì’l‚ð•Ô‚µ‚Ü‚·Bi—LŒüƒOƒ‰ƒtj - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚Ì’l‚ð•Ô‚µ‚Ü‚·Bi–³ŒüƒOƒ‰ƒtj - •Ó‚̕ϐ”‚Ì’†‚É‚ ‚é’¸“_‚ɑΉž‚·‚é”z—ñ”ԍ†‚ð•Ô‚µ‚Ü‚·B - •—Dæ’Tõ‚ðs‚¢‚Ü‚·B - ‘O‰ñ’Tõ‚µ‚½Œ‹‰Ê‚ðŠi”[‚·‚é“à•”•Ï”‚ðƒŠƒZƒbƒg‚µ‚Ü‚·B - - - - - - - - - - - - - - - - - - - - - 1 - 0 - 2 - 3 - 4 - ã‚̐}‚̔ԍ†‚́AƒOƒ‰ƒt‘S‘Ì‚Ì’¸“_”z—ñiGraphVertexClass ‚Ì”z—ñj‚Ì”z—ñ”ԍ†‚Å‚·B”z—ñ”ԍ† 2 ‚Ì GraphVertexClass ‚Ì AdjacentIndexes ƒƒ“ƒo[•Ï”‚́A( 0, 1, 4 ) ‚Å‚·B - ”z—ñ”ԍ† 4 ‚Ì GraphVertexClass ‚Ì AdjacentIndexes ƒƒ“ƒo[•Ï”‚́A( 2, 3 ) ‚Å‚·B - ƒƒ“ƒo[•Ï” - - - GraphVertexClass - - - - Item - - ƒTƒ“ƒvƒ‹ - - - - Edge - - - - - Edge - - - - - Edge - - - - - Edge - - - - - - c ƒ‰ƒCƒuƒ‰ƒŠ‚ª’è‹`‚·‚éƒNƒ‰ƒX - - - - - c ƒ†[ƒU[‚ª’è‹`•¶¬‚·‚éƒNƒ‰ƒX - - ¨ ƒOƒ‰ƒt iƒOƒ‰ƒt—˜_j - - ŽQl - - - - - - - CreateGraphVertex - - - Function CreateGraphVertex( in_out_Graph as array of GraphVertexClass ) as GraphVertexClass - - ƒOƒ‰ƒt‚Ì’¸“_‚𐶐¬‚µ‚āAƒOƒ‰ƒt‚ɒljÁ‚µ‚Ü‚·B - yˆø”z - in_out_Graph - ¶¬‚µ‚½’¸“_‚ð’ljÁ‚·‚éƒOƒ‰ƒt - •Ô‚è’l - ¶¬‚µ‚½’¸“_ - - ¨ GraphVertexClass - - ƒ\[ƒX - - ¨ vbslib.vbs - - ¶¬‚³‚ꂽ’¸“_‚̃IƒuƒWƒFƒNƒg‚́Ain_out_Graph ”z—ñ‚̍Ōã‚ɒljÁ‚³‚ê‚Ü‚·B•Ô‚è’l‚Ì GraphVertexClass::Index •Ï”‚ɂ́A‚»‚Ì”z—ñ”ԍ†‚ª‘ã“ü‚³‚ê‚Ü‚·B - •Ô‚è’l‚Ì GraphVertexClass::Item •Ï”‚ɂ́AEmpty ‚ª‘ã“ü‚³‚ê‚Ü‚·B - - ¨ T_Tree.vbs - - ƒeƒXƒg - T_GraphVertexClass - ƒTƒ“ƒvƒ‹ - - - graph = Array( ) - Set vertex1 = CreateGraphVertex( graph ) - Set vertex = new UserDefinedVertexClass - Set vertex1.Item = vertex - - Assert graph( vertex1.Index ) is vertex1 - - CreateGraphVertex - - - - - - - SetNDEdgeInGraph - - - Sub SetNDEdgeInGraph( in_out_Graph as array of GraphVertexClass, in_BaseIndex as integer, in_TargetIndex as integer, in_EdgeObject as variant ) - - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚É’l‚ðÝ’肵‚Ü‚·Bi–³ŒüƒOƒ‰ƒtj - yˆø”z - in_out_Graph - Ý’è‘Ώۂ̃Oƒ‰ƒt - in_BaseIndex - •Ó‚Ì’¸“_”ԍ†B - ƒ\[ƒX - - ¨ vbslib.vbs - - in_TargetIndex - •Ó‚Ì‚à‚¤•Ð•û‚Ì’¸“_”ԍ† - in_EdgeObject - •Ó‚É‚ ‚½‚é•Ï”‚ÉŠi”[‚·‚é’l‚âƒIƒuƒWƒFƒNƒg - ND ‚́A–³ŒüƒOƒ‰ƒt‚Ì—ªŒê‚Å‚·B‘o•ûŒü‚É’¸“_‚ÌŽQÆ‚ðÝ’肵‚Ü‚·B - in_BaseIndex ‚Æ in_TargetIndex ‚ɂ́ACreateGraphVertex ‚Å“o˜^‚³‚ꂽ’¸“_”ԍ†‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - in_EdgeObject ‚ɂ́A”’lA•¶Žš—ñAEmpty ‚È‚Ç‚àŽw’è‰Â”\‚Å‚·B - ‚P‚‚̕ӂɁA—LŒüƒOƒ‰ƒt‚Æ–³ŒüƒOƒ‰ƒt‚ð‹¤‘¶‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ˆÙ‚È‚é•Ó‚È‚ç‚Å‚«‚Ü‚·B - - ¨ T_Tree.vbs - - ƒeƒXƒg - T_GraphVertexClass - ŠÖ˜A - —LŒüƒOƒ‰ƒt”Å - - ¨ SetEdgeInGraph - - ƒTƒ“ƒvƒ‹ - - - graph = Array( ) - Set vertex1 = CreateGraphVertex( graph ) - Set vertex1.Item = new UserDefinedVertexClass - - Set vertex2 = CreateGraphVertex( graph ) - Set vertex2.Item = new UserDefinedVertexClass - - Set new_edge = new UserDefinedEdgeClass - SetNDEdgeInGraph graph, vertex1.Index, vertex2.Index, new_edge - - Set edge = GetNDEdgeInGraph( graph, vertex1.Index, vertex2.Index, Empty ) - Assert edge is new_edge - - SetNDEdgeInGraph - - GetNDEdgeInGraph - - - - - - - - SetEdgeInGraph - - - Sub SetEdgeInGraph( in_out_Graph as array of GraphVertexClass, in_BaseIndex as integer, in_TargetIndex as integer, in_EdgeObject as variant ) - - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚É’l‚ðÝ’肵‚Ü‚·Bi—LŒüƒOƒ‰ƒtj - yˆø”z - in_out_Graph - Ý’è‘Ώۂ̃Oƒ‰ƒt - in_BaseIndex - •Ó‚ÌŒ³‚Ì’¸“_”ԍ† - ƒ\[ƒX - - ¨ vbslib.vbs - - in_TargetIndex - •Ó‚̐æ‚Ì’¸“_”ԍ† - in_EdgeObject - •Ó‚É‚ ‚½‚é•Ï”‚ÉŠi”[‚·‚é’l‚âƒIƒuƒWƒFƒNƒg - - ¨ T_Tree.vbs - - ƒeƒXƒg - T_GraphVertexClass - ŠÖ˜A - - ¨ SetNDEdgeInGraph - - –³ŒüƒOƒ‰ƒt”Å - •Ð•ûŒü‚Ì’¸“_‚ÌŽQÆ‚ðÝ’肵‚Ü‚·B ‹t•ûŒü‚É‚Í•Ó‚ª‘¶Ý‚µ‚È‚¢‚悤‚É‚Å‚«‚Ü‚·Bin_BaseIndex ‚Æ in_TargetIndex ‚ɂ́ACreateGraphVertex ‚Å“o˜^‚³‚ꂽ’¸“_”ԍ†‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - in_EdgeObject ‚ɂ́A”’lA•¶Žš—ñAEmpty ‚È‚Ç‚àŽw’è‰Â”\‚Å‚·B - ‚P‚‚̕ӂɁA—LŒüƒOƒ‰ƒt‚Æ–³ŒüƒOƒ‰ƒt‚ð‹¤‘¶‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ˆÙ‚È‚é•Ó‚È‚ç‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - graph = Array( ) - Set vertex1 = CreateGraphVertex( graph ) - Set vertex1.Item = new UserDefinedVertexClass - - Set vertex2 = CreateGraphVertex( graph ) - Set vertex2.Item = new UserDefinedVertexClass - - Set new_edge = new UserDefinedEdgeClass - SetEdgeInGraph graph, vertex1.Index, vertex2.Index, new_edge - - Set edge = GetEdgeInGraph( graph, vertex1.Index, vertex2.Index, Empty ) - Assert edge is new_edge - - SetEdgeInGraph - - GetEdgeInGraph - - - - - - - - GetNDEdgeInGraph - - - Function GetNDEdgeInGraph( in_out_Graph as array of GraphVertexClass, in_BaseIndex as integer, in_TargetIndex as integer, in_EdgeIfNotFound as variant ) as variant - - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚ÉŠi”[‚³‚ê‚Ä‚¢‚é’l‚ð•Ô‚µ‚Ü‚·Bi–³ŒüƒOƒ‰ƒtj - yˆø”z - in_out_Graph - ‘Ώۂ̃Oƒ‰ƒt - in_BaseIndex - •Ó‚Ì’¸“_”ԍ† - ƒ\[ƒX - - ¨ vbslib.vbs - - in_TargetIndex - •Ó‚Ì‚à‚¤•Ð•û‚Ì’¸“_”ԍ† - •Ô‚è’l - •Ó‚É‚ ‚½‚é•Ï”‚ÉŠi”[‚³‚ê‚Ä‚¢‚é’l‚âƒIƒuƒWƒFƒNƒg - - ¨ T_Tree.vbs - - ƒeƒXƒg - T_GraphVertexClass - ND ‚́A–³ŒüƒOƒ‰ƒt‚Ì—ªŒê‚Å‚·Bin_BaseIndex ‚Æ in_TargetIndex ‚ð“ü‚ê‘Ö‚¦‚Ä‚à“¯‚¶•Ï”‚ðŽQÆ‚µ‚Ü‚·B - ‚P‚‚̕ӂɁA—LŒüƒOƒ‰ƒt‚Æ–³ŒüƒOƒ‰ƒt‚ð‹¤‘¶‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ˆÙ‚È‚é•Ó‚È‚ç‚Å‚«‚Ü‚·B - in_BaseIndex ‚Æ in_TargetIndex ‚ª in_out_Graph ‚Ì”z—ñ”ԍ†‚͈̔͊O‚Å‚ ‚Á‚½‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - in_EdgeIfNotFound ‚ÉŽw’è‚·‚é’l‚ðA•Ó‚ªƒIƒuƒWƒFƒNƒg‚È‚ç EmptyAƒIƒuƒWƒFƒNƒg‚Å‚È‚¢‚È‚ç Nothing ‚É - ‚·‚é‚ƁA•Ô‚è’l‚ðŠi”[‚·‚é‚Æ‚«‚É Set ‚© Let iSet‚È‚µj ‚̈Ⴂ‚É‚æ‚Á‚āAƒGƒ‰[‚𔭐¶‚³‚¹‚邱‚Æ‚ª - ‚Å‚«‚Ü‚·B - ŠÖ˜A - —LŒüƒOƒ‰ƒt”Å - - ¨ GetEdgeInGraph - - ƒTƒ“ƒvƒ‹ - - - Set edge = GetNDEdgeInGraph( graph, vertex1.Index, vertex2.Index, Empty ) - - in_EdgeIfNotFound - •Ó‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½‚Æ‚«‚Ì•Ô‚è’l - - - - - - - GetEdgeInGraph - - - Function GetEdgeInGraph( in_out_Graph as array of GraphVertexClass, in_BaseIndex as integer, in_TargetIndex as integer, in_EdgeIfNotFound as variant ) as variant - - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚ÉŠi”[‚³‚ê‚Ä‚¢‚é’l‚ð•Ô‚µ‚Ü‚·Bi—LŒüƒOƒ‰ƒtj - yˆø”z - in_out_Graph - ‘Ώۂ̃Oƒ‰ƒt - in_BaseIndex - •Ó‚ÌŒ³‚Ì’¸“_”ԍ† - ƒ\[ƒX - - ¨ vbslib.vbs - - in_TargetIndex - •Ó‚̐æ‚Ì’¸“_”ԍ† - •Ô‚è’l - •Ó‚É‚ ‚½‚é•Ï”‚ÉŠi”[‚³‚ê‚Ä‚¢‚é’l‚âƒIƒuƒWƒFƒNƒg - - ¨ T_Tree.vbs - - ƒeƒXƒg - T_GraphVertexClass - ŠÖ˜A - –³ŒüƒOƒ‰ƒt”Å - - ¨ GetNDEdgeInGraph - - ‚P‚‚̕ӂɁA—LŒüƒOƒ‰ƒt‚Æ–³ŒüƒOƒ‰ƒt‚ð‹¤‘¶‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ˆÙ‚È‚é•Ó‚È‚ç‚Å‚«‚Ü‚·B•Ó‚ª‘¶Ý‚µ‚È‚¯‚ê‚΁AƒGƒ‰[‚É‚È‚è‚Ü‚·B ‹t•ûŒü‚É‚Í•Ó‚ª‘¶Ý‚µ‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B - in_BaseIndex ‚Æ in_TargetIndex ‚ª in_out_Graph ‚Ì”z—ñ”ԍ†‚͈̔͊O‚Å‚ ‚Á‚½‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - in_EdgeIfNotFound ‚ÉŽw’è‚·‚é’l‚ðA•Ó‚ªƒIƒuƒWƒFƒNƒg‚È‚ç EmptyAƒIƒuƒWƒFƒNƒg‚Å‚È‚¢‚È‚ç Nothing ‚É - ‚·‚é‚ƁA•Ô‚è’l‚ðŠi”[‚·‚é‚Æ‚«‚É Set ‚© Let iSet‚È‚µj ‚̈Ⴂ‚É‚æ‚Á‚āAƒGƒ‰[‚𔭐¶‚³‚¹‚邱‚Æ‚ª - ‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set edge = GetEdgeInGraph( graph, vertex1.Index, vertex2.Index, Empty ) - - in_EdgeIfNotFound - •Ó‚ªŒ©‚‚©‚ç‚È‚©‚Á‚½‚Æ‚«‚Ì•Ô‚è’l - - - - - - - GetDirectionIndex - - - Function GetDirectionIndex( in_TargetVertexIndex as intege, in_OppositeVertexIndex as intege ) - - •Ó‚̕ϐ”‚Ì’†‚É‚ ‚é’¸“_‚ɑΉž‚·‚é”z—ñ‚Ì”z—ñ”ԍ† 0 ‚© 1 ‚Ì‚Ç‚¿‚ç‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_TargetVertexIndex - ‘Ώۂ̒¸“_‚ɑΉž‚·‚éƒOƒ‰ƒt‘S‘Ì‚Ì’¸“_”z—ñ”ԍ† - in_OppositeVertexIndex - ”½‘Α¤‚Ì’¸“_‚ɑΉž‚·‚éƒOƒ‰ƒt‘S‘Ì‚Ì”z—ñ”ԍ† - ƒ\[ƒX - - ¨ vbslib.vbs - - •Ô‚è’l - •Ó‚̕ϐ”‚Ì’†‚É‚ ‚é’¸“_‚ɑΉž‚·‚é”z—ñ‚Ì”z—ñ”ԍ† 0 ‚© 1 - •Ó‚²‚ƂɈقȂ钸“_‚̃f[ƒ^‚́A•Ó‚Ì’†‚É‚ ‚é—v‘f”‚Q‚Ì”z—ñ‚ÉŠi”[‚µ‚Ü‚·‚ªA‚Ç‚¿‚ç‚Ì’¸“_‚ª‚Ç‚¿‚ç‚Ì”z—ñ—v‘f‚ɑΉž‚·‚é‚©‚ðA–{ŠÖ”‚Å’²‚ׂ܂·B - ƒOƒ‰ƒt‚Ì”z—ñ”ԍ†‚ª¬‚³‚¢‚Ù‚¤‚ð”z—ñ”ԍ†‚OA‘å‚«‚¢‚Ù‚¤‚ð”z—ñ”ԍ†‚P‚Æ‚µ‚Ä‚¢‚Ü‚·B ‚±‚ê‚́A—LŒü - ƒOƒ‰ƒt‚Å‚à–³ŒüƒOƒ‰ƒt‚Å‚à“¯‚¶‚Å‚·B - •Ó‚²‚ƂɈقȂ邱‚Æ‚ª‚È‚¢’¸“_‚̃f[ƒ^‚́A’¸“_‚̃Nƒ‰ƒX‚̃ƒ“ƒo[‚É‚µ‚Ü‚·B - - - - - - - - - - - - - - - - - - - - - 1 - 0 - 2 - 3 - 4 - - - Class TrainLineClass Public TrainTime '// ”­ŽÔŽž as array(0..1) of Date - - Private Sub Class_Initialize() - Me.TrainTime = Array( Empty, Empty ) - End Sub - End Class - - Set edge = new TranLineClass - edge.TrainTime( GetDirectionIndex( 2, 4 ) ) = CDate( "12:00" ) - SetNDEdgeInGraph graph, 2, 4, edge - - Set edge = GetNDEdgeInGraph( graph, 4, 2, Empty ) - Assert edge.TrainTime( GetDirectionIndex( 2, 4 ) ) = CDate( "12:00" ) - - ƒTƒ“ƒvƒ‹ - ”ԍ†‚́AƒOƒ‰ƒt‘S‘Ì‚Ì’¸“_”z—ñ”ԍ† - - - - - - 12:00”­ - - ¨ T_Tree.vbs - - ƒeƒXƒg - T_GraphVertexClass - GetDirectionIndex - GetDirectionIndex - - SetNDEdgeInGraph - - - GetNDEdgeInGraph - - - - - - - - BreadthFirstSearch - - - Sub BreadthFirstSearch( in_Array as array of GraphVertexClass, in_FirstIndex as integer, out_QueuedNodes as array of integer, - in_CompareFunction as function, ref_ParameterOfCompareFunction as variant, - in_Option as Empty or boolean ) - - •—Dæ’TõiÅ’ZŒo˜H’Tõj‚ðs‚¢‚Ü‚·B ’¸“_‚²‚ƂɃR[ƒ‹ƒoƒbƒNŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B - yˆø”z - in_Array - ’¸“_‚Ì”z—ñ - in_FirstIndex - ŠJŽn’¸“_‚́iin_Array ‚́j”z—ñ”ԍ† - ’¸“_‚ð’Tõ‚·‚é‚Æ‚«‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚é - in_CompareFunction - io—́j ’Tõ‚µ‚½/’Tõ—\’è‚Ì’¸“_‚Ì”z—ñ”ԍ†‚Ì”z—ñ - out_QueuedNodes - in_CompareFunction ‚Ì‘æ3ˆø” - in_Option - Empty ‚Ü‚½‚Í g_VBS_Lib.NotResetFoundFlag - ref_ParameterOfCompareFunction - ƒeƒXƒg - - ¨ T_Tree.vbs - - T_BreadthFirstSearch - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - - - an_array(0).Item - - - - an_array(4).Item - - - - an_array(5).Item - - - - an_array(3).Item - - - - an_array(1).Item - - - - - an_array(2).Item - - - - ReDim an_array( 5 )For Each t In DicTable( Array( _ - "Index", "AdjacentIndexes", "ParentIndex", Empty, _ - 0, Array( 1, 3, 2 ), Null, _ - 1, Array( 5, 4 ), 0, _ - 2, Array( ), 0, _ - 3, Array( ), 0, _ - 4, Array( ), 1, _ - 5, Array( ), 1 ) ) - - i = t("Index") - Set an_array(i) = new GraphVertexClass - Set an_array(i).Item = Nothing - an_array(i).AdjacentIndexes = t("AdjacentIndexes") - Next - - BreadthFirstSearch an_array, 0, queued, Empty, Empty, Empty - '//(out) queued - - Assert IsSameArray( queued, Array( 0, 1, 3, 2, 5, 4 ) ) - - ƒTƒ“ƒvƒ‹ - - << GraphVertexClass - - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ‚«A‚·‚Å‚É’TõÏ‚Ý‚Ì’¸“_‚́A’Tõ‚µ‚Ü‚¹‚ñB ƒGƒ‰[‚É‚à‚È‚è‚Ü‚¹‚ñB - - ”äŠrŠÖ” - - ƒR[ƒ‹ƒoƒbƒNŠÖ” in_CompareFunction ‚Ì‘æ1ˆø”‚Æ‘æ2ˆø”‚ɂ́Ain_Array ”z—ñ‚Ì—v‘f‚Å‚ ‚é GraphVertexClass Œ^‚̃IƒuƒWƒFƒNƒg‚ª“n‚è‚Ü‚·B ‘æ2ˆø”‚æ‚è‘æ1ˆø”‚Ì‚Ù‚¤‚ªA’TõŠJŽn’¸“_‚É - ‹ß‚¢‚Å‚·B ‚½‚¾‚µAÅ‰‚̃R[ƒ‹ƒoƒbƒN‚ł́A‘æ1ˆø”‚Í EmptyA‘æ2ˆø”‚Í’TõŠJŽn’¸“_‚Å‚·B - ƒR[ƒ‹ƒoƒbƒNŠÖ”‚Å 0 ‚ð•Ô‚·‚ƁA’Tõ‚ð“r’†‚ŏI—¹‚µ‚Ü‚·B - Œ©‚‚©‚Á‚½’¸“_‚ðo—Í‚·‚é‚Æ‚«‚́AƒR[ƒ‹ƒoƒbƒNŠÖ”‚Ì‘æ3ˆø”Œo—R‚ŏo—Í‚µ‚Ä‚­‚¾‚³‚¢B ‘æ3ˆø”‚́A - ref_ParameterOfCompareFunction ˆø”‚ÌŽQÆ‚Ȃ̂ŁAo—Í‚Å‚«‚Ü‚·B - ŽQl - - ¨ •—Dæ’Tõ iƒOƒ‰ƒtj - - - ¨ GraphVertexClass - - in_Array ˆø”‚ɁAGraphVertexClass ‚Ì Item, AdjacentIndexes ƒƒ“ƒo[•Ï”‚ªÝ’èÏ‚݂̃IƒuƒWƒFƒNƒg‚Ì”z—ñ‚ðŽw’肵‚Ü‚·B - ‚© Empty - ƒR[ƒ‹ƒoƒbƒNŠÖ”‚ªŒÄ‚яo‚³‚ê‚é‚ƁAƒR[ƒ‹ƒoƒbƒNŠÖ”‚ªŒÄ‚яo‚³‚ꂽ‚Æ‚«‚̑Ώے¸“_‚Ì - out_QueuedNodes ˆø”‚ÉŽw’肵‚½•Ï”‚ɂ́AƒR[ƒ‹ƒoƒbƒNŠÖ”‚ªŒÄ‚яo‚³‚ꂽ‚Æ‚«‚̑Ώے¸“_‚ƁA‚»‚ê‚ɗאڂ·‚é’¸“_‚ªŠi”[‚³‚ê‚Ü‚·B d•¡‚·‚é’¸“_‚ÍŠi”[‚³‚ê‚Ü‚¹‚ñB ‘Ώے¸“_‚Ɨאڂ·‚é - ’¸“_‚Ƃ́A‚½‚Æ‚¦‚΁A‰º‹L‚Ì’¸“_ 2 ‚ɂ‚¢‚ăR[ƒ‹ƒoƒbƒN‚³‚ꂽ‚Æ‚«A0, 1, 4 ‚ª—אڂ·‚é’¸“_‚Å‚·B - 0, 2, 1 ‚Æ’Tõ‚µ‚ďI—¹‚µ‚½ê‡Aout_QueuedNodes ˆø”‚ÉŽw’肵‚½•Ï”‚ɂ́A0, 2, 1, 4 ‚ªŠi”[ - ‚³‚ê‚Ü‚·‚ªA’TõÏ‚Ý‚Ì’¸“_‚́A0, 2, 1 ‚Ì‚Ý‚Å‚·i”»•Ê•û–@‚ÍŒãqjB - - GraphVertexClass - - ‚Ç‚¤‚©‚ð”»’è‚Å‚«‚Ü‚·B ŠJŽn’¸“_‚Ì ParentIndex ‚Í Null ‚ªÝ’肳‚ê‚Ü‚·B ã‹L‚̃Oƒ‰ƒt‚ŁA0, 2, 1 ‚Æ’Tõ‚µ‚ďI—¹‚µ‚½ê‡AŠe’¸“_‚Ì ParentIndex ‚́AŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - ::ParentIndex ‚ªÝ’肳‚ê‚Ü‚·B ‚±‚̕ϐ”‚ª Empty ‚Å‚È‚¢‚©‚Ç‚¤‚©‚ŁA’TõÏ‚Ý‚© - BreadthFirstSearch - in_Option ˆø”‚É g_VBS_Lib.NotResetFoundFlag ‚ðŽw’è‚·‚é‚ƁA“à•”‚̐擪‚Å - - ResetSearchDataOfGraphVertex - - ‚ðŒÄ‚яo‚³‚È‚­‚È‚è‚Ü‚·B - - - - - - - - - - - - - - - - 1 - 0 - 2 - 3 - 4 - - - - - - out_QueuedNodes = Array( 0, 2, 1, 4 ) - Vertex(0).ParentIndex = NullVertex(1).ParentIndex = 2 - Vertex(2).ParentIndex = 0 - Vertex(3).ParentIndex = Empty - Vertex(4).ParentIndex = Empty - ŠÖ˜A - - ¨ •—Dæ’Tõ iƒOƒ‰ƒtj - - ƒR[ƒ‹ƒoƒbƒNŠÖ” in_CompareFunction ‚Å 0 ‚ð•Ô‚·‚ƁA’Tõ‚ðI—¹‚µ‚Ü‚·B - 0 - 1 - 2 - 3 - 4 - 5 - ÔF‚̐”Žš‚́AƒR[ƒ‹ƒoƒbƒN‚³‚ê‚鏇”Ô‚ð•\‚µ‚Ü‚·B - - - - - - - DepthFirstSearch - - - Sub DepthFirstSearch( in_Array as array of GraphVertexClass, in_FirstIndex as integer, in_CompareFunction as function, ref_ParameterOfCompareFunction as variant, - in_Option as Empty or boolean ) - - [‚³—Dæ’Tõ‚ðs‚¢‚Ü‚·B ’¸“_‚²‚ƂɃR[ƒ‹ƒoƒbƒNŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B - yˆø”z - in_Array - ’¸“_‚Ì”z—ñ - in_FirstIndex - ŠJŽn’¸“_‚́iin_Array ‚́j”z—ñ”ԍ† - ’¸“_‚ð’Tõ‚·‚é‚Æ‚«‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚é - in_CompareFunction - in_CompareFunction ‚Ì‘æ3ˆø” - in_Option - Empty ‚Ü‚½‚Í g_VBS_Lib.NotResetFoundFlag - ref_ParameterOfCompareFunction - - ”äŠrŠÖ” - - - ¨ GraphVertexClass - - in_Array ˆø”‚ɁAGraphVertexClass ‚Ì Item, AdjacentIndexes ƒƒ“ƒo[•Ï”‚ªÝ’èÏ‚݂̃IƒuƒWƒFƒNƒg‚Ì”z—ñ‚ðŽw’肵‚Ü‚·B - ‚© Empty - - << GraphVertexClass - - ŽQl - - ¨ [‚³—Dæ’Tõ iƒOƒ‰ƒtj - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Tree.vbs - - T_DepthFirstSearch - - ¨ vbslib.vbs - - ƒR[ƒ‹ƒoƒbƒNŠÖ” in_CompareFunction ‚Ì‘æ1ˆø”‚Æ‘æ2ˆø”‚ɂ́Ain_Array ”z—ñ‚Ì—v‘f‚Å‚ ‚é GraphVertexClass Œ^‚̃IƒuƒWƒFƒNƒg‚ª“n‚è‚Ü‚·B ‘æ2ˆø”‚æ‚è‘æ1ˆø”‚Ì‚Ù‚¤‚ªA’TõŠJŽn’¸“_‚É - ‹ß‚¢‚Å‚·B ‚½‚¾‚µAÅ‰‚̃R[ƒ‹ƒoƒbƒN‚ł́A‘æ1ˆø”‚Í EmptyA‘æ2ˆø”‚Í’TõŠJŽn’¸“_‚Å‚·B - ƒR[ƒ‹ƒoƒbƒNŠÖ”‚Å 0 ‚ð•Ô‚·‚ƁA’Tõ‚ð“r’†‚ŏI—¹‚µ‚Ü‚·B - Œ©‚‚©‚Á‚½’¸“_‚ðo—Í‚·‚é‚Æ‚«‚́AƒR[ƒ‹ƒoƒbƒNŠÖ”‚Ì‘æ3ˆø”Œo—R‚ŏo—Í‚µ‚Ä‚­‚¾‚³‚¢B ‘æ3ˆø”‚́A - ref_ParameterOfCompareFunction ˆø”‚ÌŽQÆ‚Ȃ̂ŁAo—Í‚Å‚«‚Ü‚·B - ƒR[ƒ‹ƒoƒbƒNŠÖ” in_CompareFunction ‚Å 0 ‚ð•Ô‚·‚ƁA’Tõ‚ðI—¹‚µ‚Ü‚·B - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ‚«A‚·‚Å‚É’TõÏ‚Ý‚Ì’¸“_‚́A’Tõ‚µ‚Ü‚¹‚ñB ƒGƒ‰[‚É‚à‚È‚è‚Ü‚¹‚ñB - in_Option ˆø”‚É g_VBS_Lib.NotResetFoundFlag ‚ðŽw’è‚·‚é‚ƁA“à•”‚̐擪‚Å - - ResetSearchDataOfGraphVertex - - ‚ðŒÄ‚яo‚³‚È‚­‚È‚è‚Ü‚·B - - - - - - - - - an_array(0).Item - - - - an_array(5).Item - - - - an_array(4).Item - - - - an_array(2).Item - - - - an_array(1).Item - - - - - an_array(3).Item - - - - ReDim an_array( 5 )For Each t In DicTable( Array( _ - "Index", "AdjacentIndexes", "ParentIndex", Empty, _ - 0, Array( 1, 3, 2 ), Null, _ - 1, Array( 5, 4 ), 0, _ - 2, Array( ), 0, _ - 3, Array( ), 0, _ - 4, Array( ), 1, _ - 5, Array( ), 1 ) ) - - i = t("Index") - Set an_array(i) = new GraphVertexClass - Set an_array(i).Item = Nothing - an_array(i).AdjacentIndexes = t("AdjacentIndexes") - Next - - DepthFirstSearch an_array, 0, Empty, Empty, Empty - - Assert IsSameArray( queued, Array( 0, 1, 5, 4, 3, 2 ) ) - - ƒTƒ“ƒvƒ‹ - DepthFirstSearch - 0 - 1 - 4 - 5 - 2 - 3 - ƒR[ƒ‹ƒoƒbƒNŠÖ”‚ªŒÄ‚яo‚³‚ê‚é‚ƁAƒR[ƒ‹ƒoƒbƒNŠÖ”‚ªŒÄ‚яo‚³‚ꂽ‚Æ‚«‚̑Ώے¸“_‚Ì - - GraphVertexClass - - ‚Ç‚¤‚©‚ð”»’è‚Å‚«‚Ü‚·B ŠJŽn’¸“_‚Ì ParentIndex ‚Í Null ‚ªÝ’肳‚ê‚Ü‚·B - ::ParentIndex ‚ªÝ’肳‚ê‚Ü‚·B ‚±‚̕ϐ”‚ª Empty ‚Å‚È‚¢‚©‚Ç‚¤‚©‚ŁA’TõÏ‚Ý‚© - ÔF‚̐”Žš‚́AƒR[ƒ‹ƒoƒbƒN‚³‚ê‚鏇”Ô‚ð•\‚µ‚Ü‚·B - - - - - - - SearchSubGraphs - - - Function SearchSubGraphs( in_Array as array of GraphVertexClass, in_Empty as Empty ) as array of array of integer - - ‚·‚ׂĂ̕”•ªƒOƒ‰ƒt‚ƁA•Ó‚ª‚È‚¢’¸“_‚ð—ñ‹“‚µ‚Ü‚·B - yˆø”z - in_Array - ’¸“_‚Ì”z—ñ - in_Empty - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - - ¨ GraphVertexClass - - - << GraphVertexClass - - •Ô‚è’l - ‚·‚ׂĂ̕”•ªƒOƒ‰ƒt‚Æ•Ó‚ª‚È‚¢’¸“_‚ð\¬‚·‚é’¸“_”ԍ†‚Ì”z—ñ‚Ì”z—ñ - - - sub_graphs = SearchSubGraphs( a_graph, Empty ) - sub_graphs(0), Array( 0, 2, 4, 6 ) - sub_graphs(1), Array( 1, 3, 5, 9 ) - sub_graphs(2), Array( 7 ) - sub_graphs(3), Array( 8 ) - - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Tree.vbs - - T_SearchSubGraphs - - - - - - - - - - - - - - - - - - - - - 2 - 0 - 4 - 3 - 6 - 1 - - - - - - 5 - 9 - - - - - - - - - - - - GetDistanceInGraph - - - Function GetDistanceInGraph( in_Array as array of GraphVertexClass, in_Index as integer ) as integer - - ŒŸõ‚ðŠJŽn‚µ‚½’¸“_‚©‚çAŽw’肵‚½’¸“_‚Ü‚Å‚ÌŠÔ‚É‚ ‚é•Ó‚̐”‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_Array - ’¸“_‚Ì”z—ñ - in_Index - ’¸“_ - - ¨ GraphVertexClass - - •Ô‚è’l - •Ó‚̐” - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Tree.vbs - - T_DepthFirstSearch - - ¨ vbslib.vbs - - - - - - - - ResetSearchDataOfGraphVertex - - - Sub ResetSearchDataOfGraphVertex( in_out_Graph as array of GraphVertexClass ) - - ‘O‰ñ’Tõ‚µ‚½Œ‹‰Ê‚ðŠi”[‚·‚é“à•”•Ï”‚ðƒŠƒZƒbƒg‚µ‚Ü‚·B - yˆø”z - in_out_Graph - ‘€ì‘Ώۂ̃Oƒ‰ƒt - ƒ\[ƒX - - ¨ vbslib.vbs - - ’Tõ‚ðs‚¤ŠÖ”‚Ì“à•”‚©‚çŒÄ‚΂ê‚Ü‚·B - - GraphVertexClass - - ::ParentIndex ‚ð Empty ‚ɐݒ肵‚Ü‚·B - ƒeƒXƒg - - ¨ T_Tree.vbs - - T_BreadthFirstSearch - - - - - - - –¢‘Ήž - - - - - - - RemoveNDEdgeInGraph - - - Sub RemoveNDEdgeInGraph( in_out_Graph as array of GraphVertexClass, in_BaseIndex as integer, in_TargetIndex as integer ) - - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚ðíœ‚µ‚Ü‚·Bi–³ŒüƒOƒ‰ƒtj - yˆø”z - in_out_Graph - ‘Ώۂ̃Oƒ‰ƒt - in_BaseIndex - •Ó‚Ì’¸“_”ԍ† - ƒ\[ƒX - - ¨ vbslib.vbs - - in_TargetIndex - •Ó‚Ì‚à‚¤•Ð•û‚Ì’¸“_”ԍ† - –¢‘ΉžB AdjacentIndexes ‚Ì’²®‚ª‚Å‚«‚Ä‚¢‚Ü‚¹‚ñB - ND ‚́A–³ŒüƒOƒ‰ƒt‚Ì—ªŒê‚Å‚·B‚P‚‚̕ӂɁA—LŒüƒOƒ‰ƒt‚Æ–³ŒüƒOƒ‰ƒt‚ð‹¤‘¶‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ˆÙ‚È‚é•Ó‚È‚ç‚Å‚«‚Ü‚·B - ŠÖ˜A - —LŒüƒOƒ‰ƒt”Å - - ¨ RemoveEdgeInGraph - - - - - - - - RemoveEdgeInGraph - - - Sub RemoveEdgeInGraph( in_out_Graph as array of GraphVertexClass, in_BaseIndex as integer, in_TargetIndex as integer ) - - ƒOƒ‰ƒt‚Ì•Ó‚É‚ ‚½‚é•Ï”‚ðíœ‚µ‚Ü‚·Bi—LŒüƒOƒ‰ƒtj - yˆø”z - in_out_Graph - ‘Ώۂ̃Oƒ‰ƒt - in_BaseIndex - •Ó‚ÌŒ³‚Ì’¸“_”ԍ† - ƒ\[ƒX - - ¨ vbslib.vbs - - in_TargetIndex - •Ó‚̐æ‚Ì’¸“_”ԍ† - –¢‘ΉžB AdjacentIndexes ‚Ì’²®‚ª‚Å‚«‚Ä‚¢‚Ü‚¹‚ñB - ŠÖ˜A - –³ŒüƒOƒ‰ƒt”Å - - ¨ RemoveNDEdgeInGraph - - ‚P‚‚̕ӂɁA—LŒüƒOƒ‰ƒt‚Æ–³ŒüƒOƒ‰ƒt‚ð‹¤‘¶‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ˆÙ‚È‚é•Ó‚È‚ç‚Å‚«‚Ü‚·B - - - - - - - - - - - - - - - - - - - TreeA_Class - ƒcƒŠ[\‘¢‚ðŽ‚Á‚½ƒRƒŒƒNƒVƒ‡ƒ“‚Å‚·BTreeA_NodeClass ‚Ì Item ƒƒ“ƒo[‚ɁAƒ†[ƒU[‚ªŽg‚¤ƒIƒuƒWƒFƒNƒg‚ðÝ’肵‚Ü‚·B - - - - TreeA_Class - - - - - - TreeA_NodeClass - - - - - TreeA_NodeClass - - - - TreeA_NodeClass - - - - TreeA_NodeClass - - - - TreeA_NodeClass - - - - Item - - - - Item - - - - Item - - - - Item - - - - Item - - TreeA_Class ‚̃IƒuƒWƒFƒNƒgiƒ‹[ƒgj‚Ì‚Ý - - LifeGroupClass - - ‚̃nƒ“ƒhƒ‹‚ðŽ‚Á‚Ä‚¢‚邽‚߁ATreeA_Class ‚Ì - ƒIƒuƒWƒFƒNƒg‚ªŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚Æ‚«‚ɁA‚·‚ׂẴm[ƒh‚ªíœ‚³‚ê‚Ü‚·B - - - Class SampleClass Public TreeNode - End Class - - Sub Main() - Set tree = new_TreeA_Class( new SampleClass ) - Set tree.Item.TreeNode = tree.TreeNode '// Don't set "tree" - - Set child_item = new SampleClass - Set child_item.TreeNode = Me.TreeNode.AddNewNode( child_item ) - End Sub - - ƒTƒ“ƒvƒ‹ - - ¨ –؍\‘¢ (ƒf[ƒ^\‘¢) - Wikipedia (Web) - - ŽQl - ƒeƒXƒg - - ¨ T_Tree.vbs - - T_TreeA_1 - ƒ\[ƒX - - ¨ vbslib.vbs - - - Ž«‘ - - ‚̃L[‚â”z—ñ”ԍ†‚ÅŽQÆ‚·‚邱‚ƂŁAƒIƒuƒWƒFƒNƒg“¯Žm‚Ì’¼Ú‚Ì‘ŠŒÝŽQÆ‚ð‚µ‚È‚¯‚ê‚΁A - TreeA_Class ‚ðŽg—p‚µ‚È‚­‚Ä‚à‚æ‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB - ’ˆÓ - - - - - - - new_TreeA_Class - - - Function new_TreeA_Class( Item ) as TreeA_Class - - ƒcƒŠ[‚̃‹[ƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - Item - ƒ‹[ƒg‚̃m[ƒh‚ÆŠÖ˜A•t‚¯‚éƒIƒuƒWƒFƒNƒgA‚Ü‚½‚́ANothing - •Ô‚è’l - ƒcƒŠ[‚̃‹[ƒg - - ¨ TreeA_Class - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - TreeA_Class - .TreeNode - ƒcƒŠ[\‘¢‚̃‹[ƒgB - ‘ŠŒÝŽQÆ‚·‚é‚Æ‚«‚̃‹[ƒg ƒm[ƒh - .Item - ƒm[ƒh‚ÆŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg - .ParentNode - Nothing - .ChildNodes - ’¼‰º‚ÌŽqƒm[ƒh‚Ì”z—ñ - .ParentItems - eƒm[ƒh‚Ì Item ‚Ì”z—ñB Me ‚̃m[ƒh‚ÍŠÜ‚Ü‚È‚¢B ÅŒã‚̓‹[ƒgB - .ChildItems - ––’[‚Ü‚ÅŠÜ‚ß‚½Žqƒm[ƒh‚Ì”z—ñ - TreeA_Class ‚̃IƒuƒWƒFƒNƒgiƒ‹[ƒgj‚Ì‚Ý - - LifeGroupClass - - ‚̃nƒ“ƒhƒ‹‚ðŽ‚Á‚Ä‚¢‚邽‚߁ATreeA_Class ‚Ì - ƒIƒuƒWƒFƒNƒg‚ªŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚Æ‚«‚ɁA‚·‚ׂẴm[ƒh‚ªíœ‚³‚ê‚Ü‚·B iŽQÆ‚³‚ê‚Ä‚¢‚È‚¢ƒm[ƒh‚̂݁j - - ¨ TreeA_NodeClass - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - TreeA_NodeClass - ƒcƒŠ[\‘¢‚̃m[ƒhB ƒ‹[ƒgiªƒm[ƒhjAƒuƒ‰ƒ“ƒ`i“à•”ƒm[ƒhjAƒŠ[ƒti—tƒm[ƒhjB - .TreeNode - ‘ŠŒÝŽQÆ‚·‚é‚Æ‚«‚̃‹[ƒg ƒm[ƒhB Me ‚Æ“¯‚¶ - .Item - ƒm[ƒh‚ÆŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg - .ParentNode - eƒm[ƒh - .ChildNodes - ’¼‰º‚ÌŽqƒm[ƒh‚Ì”z—ñ - .ParentItems - eƒm[ƒh‚Ì Item ‚Ì”z—ñB Me ‚̃m[ƒh‚ÍŠÜ‚Ü‚È‚¢B ÅŒã‚̓‹[ƒgB - .ChildItems - ––’[‚Ü‚ÅŠÜ‚ß‚½Žqƒm[ƒh‚Ì”z—ñ - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - CrossFindClass - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_CrossFind.vbs - - - ¨ ToolsLib.vbs - - ƒf[ƒ^\‘¢ - - CrossFind_ProjectClass - - CrossFindClass - - CrossFind_OutElementClass - - - CrossFind_OutModuleTypeClass - - .Projects - .OutElements - .OutModuleTypes - ArrayClass of - dictionary of - ƒTƒ“ƒvƒ‹ - - - <Root> <Project name="p1"> - <Module name="t11">a1, a2</Module> <Module name="t12">b1, b2</Module> - </Project> - <Project name="p2"> - <Module name="t21">a1, a2</Module> <Module name="t22">b1, b2</Module> - </Project> - <Project name="p3"> - <Module name="t31">a1, b1</Module> <Module name="t32">a2</Module> - <Module name="t33">b2</Module> - </Project> - - <Answer> - <Element name="a1"> - <ModuleType names="t11, t21">a1, a2</ModuleType> - <ModuleType names="t31">a1, b1</ModuleType> - </Element> - <Element name="a2"> - <ModuleType names="t11, t21, t32">a1, a2</ModuleType> - </Element> - <Element name="b1"> - <ModuleType names="t12, t22">b1, b2</ModuleType> - <ModuleType names="t31">a1, b1</ModuleType> - </Element> - <Element name="b2"> - <ModuleType names="t12, t22, t33">b1, b2</ModuleType> - </Element> - </Answer> - </Root> - - ƒ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚é—v‘f‚ª“¯‚¶‚©‚Ç‚¤‚©‚Å•ª—Þ‚µ‚Ü‚·B•ª—Þ‚µ‚½‚à‚Ì‚ðƒ‚ƒWƒ…[ƒ‹ ƒ^ƒCƒv‚ƌĂт܂·B - ƒ‚ƒWƒ…[ƒ‹–¼‚Æ—v‘f–¼iƒ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚é—v‘f‚Ì–¼‘Oj‚ªAƒvƒƒWƒFƒNƒg‚Å‚P‚‚ł ‚éó‹µ‚ÅŽg‚¦‚Ü‚·B - ‰º‹LƒTƒ“ƒvƒ‹‚Ì <Project> ‚Í•ª—Þ‚·‚é‘O‚̃‚ƒWƒ…[ƒ‹‚̍\¬‚ð•\‚µ‚Ü‚·B<Answer> ‚́ACrossFindClass ‚ʼnðÍ‚µ‚½Œ‹‰Ê‚ð•\‚µ‚Ä‚¢‚Ü‚·B - <Answer> ‚ÌŽq—v‘f‚Å‚ ‚é <Element> ‚́A—v‘f‚²‚ƂɁAŠ‘®‚µ‚Ä‚¢‚郂ƒWƒ…[ƒ‹ ƒ^ƒCƒv‚ð - Žq—v‘f‚ÉŽ‚Á‚Ä‚¢‚Ü‚·B - ‚½‚Æ‚¦‚΁Aa1 ‚Æ‚¢‚¤—v‘f‚́A - @@EƒvƒƒWƒFƒNƒg p1 ‚ÉŠÜ‚Ü‚ê‚é t11 ƒ‚ƒWƒ…[ƒ‹ - @@EƒvƒƒWƒFƒNƒg p2 ‚ÉŠÜ‚Ü‚ê‚é t21 ƒ‚ƒWƒ…[ƒ‹ - @@EƒvƒƒWƒFƒNƒg p3 ‚ÉŠÜ‚Ü‚ê‚é t31 ƒ‚ƒWƒ…[ƒ‹ - ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·‚ªA‚±‚ê‚ç‚̃‚ƒWƒ…[ƒ‹‚́A\¬—v‘f‚²‚ƂɁA - @@E{ a1, a2 } ‚©‚ç\¬‚³‚ê‚郂ƒWƒ…[ƒ‹ ƒ^ƒCƒv - @@E{ a1, b1 } ‚©‚ç\¬‚³‚ê‚郂ƒWƒ…[ƒ‹ ƒ^ƒCƒv - ‚É•ª—Þ‚³‚ê‚Ü‚·B - <Module name="t11">a1, a2</Module> - <ModuleType names="t11, t21">a1, a2</ModuleType> - - ¨ T_CrossFind.vbs - Variable: A1.xml - - ŽQl - - - Set find_ = new CrossFindClass - Set project = find_.AddProject( "p1" ) - project.AddModule "t11", Array( "a1", "a2" ) - project.AddModule "t12", Array( "b1", "b2" ) - - Set project = find_.AddProject( "p2" ) - project.AddModule "t21", Array( "a1", "a2" ) - project.AddModule "t22", Array( "b1", "b2" ) - - Set project = find_.AddProject( "p3" ) - project.AddModule "t31", Array( "a1", "b1" ) - project.AddModule "t32", Array( "a2" ) - project.AddModule "t33", Array( "b2" ) - - For Each element_name In find_.OutElements.Keys - echo "element_name = "+ element_name - Set element = find_.OutElements.Item( element_name ) - For k=0 To element.OutModuleTypes.Count - 1 - Set module_type = element.OutModuleTypes.Item(k) - echo vbTab +"module_type.Names = "+ module_type.Name - echo vbTab +"Elements = "+ new_ArrayClass( module_type.Delegate.Elements ).CSV - echo "" - Next - Next - - ƒf[ƒ^‚̃Tƒ“ƒvƒ‹F - ƒR[ƒh‚̃Tƒ“ƒvƒ‹F - Žå‚ȏˆ—‚́A - - ¨ OutElements (CrossFindClass) - - .ModuleTypesByElement - dictionary array NameOnlyClass - CrossFind_ModuleClass - - (.vbs) - - - (.vbs) - - - (.vbs) - - - (.vbs) - - - - - - - - AddProject (CrossFindClass) - - - Function CrossFindClass::AddProject( in_ProjectName as string ) as CrossFind_ProjectClass - - CrossFindClass ‚̃vƒƒWƒFƒNƒg‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_ProjectName - ƒvƒƒWƒFƒNƒg–¼ - •Ô‚è’l - ’ljÁ‚µ‚½ƒvƒƒWƒFƒNƒg - - << CrossFindClass - - - ¨ CrossFind_ProjectClass - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - - - - - OutElements (CrossFindClass) - - << CrossFindClass - - - - Property CrossFindClass::OutElements() as dictionary of CrossFind_OutElementClass Key=ElementName - - CrossFindClass ‚̉ðÍŒ‹‰ÊB - ƒL[‚́A - - AddModule (CrossFind_ProjectClass) - - ‚ŒljÁ‚µ‚½ƒ‚ƒWƒ…[ƒ‹–¼B - ƒAƒCƒeƒ€‚́A - - ¨ CrossFind_OutElementClass - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - - - - - CrossFind_ProjectClass - - << CrossFindClass - - - ¨ AddModule - - CrossFindClass ‚̃vƒƒWƒFƒNƒgB - ƒ\[ƒX - - ¨ ToolsLib.vbs - - .Name - string - —v‘f‚Ì–¼‘O - ArrayClass of - CrossFind_ModuleClass - .Modules - ƒ‚ƒWƒ…[ƒ‹‚Ì”z—ñ - - - - - - - AddModule (CrossFind_ProjectClass) - - - Sub CrossFindClass::AddModule( in_ModuleName as string, in_Elements as array of string ) - - CrossFindClass ‚̃vƒƒWƒFƒNƒg‚Ƀ‚ƒWƒ…[ƒ‹‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_ModuleName - ƒ‚ƒWƒ…[ƒ‹–¼ - in_Elements - ƒ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚é—v‘f‚Ì–¼‘O‚Ì”z—ñ - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - - - - - CrossFind_OutElementClass - - << CrossFindClass - - CrossFindClass ‚̉ðÍŒ‹‰ÊB - .Name - .OutModuleTypes - string - CrossFind_OutModuleTypeClass - - OutElements (CrossFindClass) - - ‚Ŏ擾‚µ‚Ü‚·B - —v‘f‚Ì–¼‘O - - ¨ CrossFind_OutModuleTypeClass - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - - - - - CrossFind_OutModuleTypeClass - CrossFindClass ‚̉ðÍŒ‹‰ÊB - .Names - .Elements - ArrayClass of string - ArrayClass of string - ‚Ŏ擾‚µ‚Ü‚·B - “¯‚¶\¬—v‘f‚ðŽ‚Âƒ‚ƒWƒ…[ƒ‹‚Ì–¼‘O‚Ì”z—ñ - - (CrossFind_OutElementClass) - - OutModuleTypes - ƒ‚ƒWƒ…[ƒ‹‚ð\¬‚·‚é—v‘f‚Ì–¼‘O‚Ì”z—ñ - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - - - - - ƒAƒ‹ƒSƒŠƒYƒ€ ƒƒ‚ (CrossFindClass) - b1 => { b1, b2 } - a1 => { a1, a2 }, { a1, b1 } - b1 => { b1, b2 }, { a1, b1 } - { a1, b1 } - Œó•â‚ði‚Á‚Ä‚¢‚­ - Œó•â‚ª‚È‚­‚È‚Á‚½‚çAModule ‚ð’ljÁ‚·‚é(A1.xml)‚©AElement ‚ð’ljÁ‚·‚é(A3.xml)‚©A‚Ç‚Á‚¿H - { a1, b1 } ‚ð‚·‚×‚Äia1, b1j‚ɒljÁ‚·‚é - a1 => { a1, a2 }a2 => { a1, a2 } - a3 => - { a1, a2, a3 }{ a1, a2, a3 } - { a1, a2, a3 } - a3 ‚É ‘S‚Ä‚Ì—v‘f { a1, a2, a3 } ‚ð’ljÁa3 ‚ðœ‚¢‚½ { a1, a2 } ‚ð•ÏX‚·‚é - - - - - - { a1, b1 } - a1 => { a1, a2 } - { a1, b1 } - i‚·‚ׂẮjV‹K (a3) ‚ðœ‚¢‚½ƒ‚ƒWƒ…[ƒ‹‚ª‚ ‚ê‚΁A - —v‘f‚·‚ׂāia1 ‚Æ b1j‚ªŠù‘¶‚Ȃ̂ŁiŠù‘¶‚̈قȂé‚Q‚‚̃‚ƒWƒ…[ƒ‹‚ðƒNƒƒX‚·‚é‚̂Łj - ‚·‚ׂĂ̗v‘f‚ðŠÜ‚Þƒ‚ƒWƒ…[ƒ‹‚ðŒ©‚Â‚¯‚é - => { a1, a2 }, { a1, b1 } - => { a1, b1 } - a3 ‚ðœ‚¢‚½‚Ì‚ª { a1, b1 } ‚Å‚È‚¢‚Æ‚«‚́A‚·‚ׂĒljÁ‚·‚é - a1 => { a1, a2 }a2 => { a1, a2 } - a3 => - V‹K (a3) ‚ðœ‚¢‚½‚Ì‚ªˆê•”‚Ì‚Æ‚«‚́Ai{ a1, a3 } ‚ɂ‚¢‚ẮAj - Module ‚ð’ljÁ‚·‚é - { a1, a3 } - { a1, a3 } - - << CrossFindClass - - - - - - - - •À‚בւ¦Aƒ\[ƒg - - - - - - - QuickSort - - - Sub QuickSort( Arr as object array, iLeft as integer, iRight as integer, CompareFunc as function, CompareFuncParam as variant ) - - yˆø”z - Arr - iLeft - ƒ\[ƒg‚·‚é”z—ñB(*1) - ƒ\[ƒg‚·‚é”͈́B”z—ñ”ԍ†‚̍ŏ¬’l - ”z—ñ‚ðƒNƒCƒbƒNƒ\[ƒg‚µ‚Ü‚·BˆÀ’èƒ\[ƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - ƒ\[ƒg‚·‚é”͈́B”z—ñ”ԍ†‚̍őå’l - iRight - CompareFunc - - ”äŠrŠÖ” - - CompareFuncParam - CompareFunc ‚Ì‘æ3ˆø” - - - Option Explicit - Class ClassA : Public id : End Class - - Sub Main( Opt, AppKey ) - ReDim arr(4) - Set arr(0) = new ClassA : arr(0).id = 6 - Set arr(1) = new ClassA : arr(1).id = 3 - Set arr(2) = new ClassA : arr(2).id = 4 - Set arr(3) = new ClassA : arr(3).id = 4 - Set arr(4) = new ClassA : arr(4).id = 1 - - - QuickSort arr, 0, UBound( arr ), GetRef("CmpFunc1"), Empty - - - echo arr(0).id &","& arr(1).id &","& arr(2).id &","& _ - arr(3).id &","& arr(4).id - End Sub - - Function CmpFunc1( left, right, param ) - CmpFunc1 = left.id - right.id '// ~‡‚È‚ç right.id - left.id - End Function - - ƒTƒ“ƒvƒ‹ - - ¨ ƒNƒCƒbƒNƒ\[ƒg - - ”z—ñ‚Ì—v‘f‚̓IƒuƒWƒFƒNƒg‚Å‚ ‚邱‚ƁB - ŽQl - ƒeƒXƒg - Arr ˆø”‚́AVisual Basic •W€‚Ì”z—ñ‚Å‚àAArrayClass ‚Å‚à\‚¢‚Ü‚¹‚ñ‚ªAArrayClass::Items ‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñBiƒ\[ƒg‚³‚ê‚Ü‚¹‚ñBj - (*1) - - ¨ ArrayToNameOnlyClassArray - - - ¨ T_QSort.vbs - - ŠÖ˜A - - ¨ QuickSort_fromDic - - ƒ\[ƒX - - ¨ vbslib.vbs - - o—Í - - - 1,3,4,4,6 - - - ¨ QuickSortDicByKey - - - - - - - - ShakerSort - - - Sub ShakerSort( Arr as array of Object, iLeft as integer, iRight as integer, CompareFunc as function, CompareFuncParam as variant ) - - yˆø”z - Arr - iLeft - ƒ\[ƒg‚·‚é”z—ñB(*1) - ƒ\[ƒg‚·‚é”͈́B”z—ñ”ԍ†‚̍ŏ¬’lB ’ʏí 0 - ”z—ñ‚ðƒVƒF[ƒJ[ƒ\[ƒg‚µ‚Ü‚·BˆÀ’èƒ\[ƒg‚Å‚·B - ƒ\[ƒg‚·‚é”͈́B”z—ñ”ԍ†‚̍őå’lB ’ʏí UBound(Arr) - iRight - CompareFunc - - ”äŠrŠÖ” - - CompareFuncParam - CompareFunc ‚Ì‘æ3ˆø” - - - Class ClassA : Public id : End Class - Redim arr(4) - Set arr(0) = new ClassA : arr(0).id = 6 - Set arr(1) = new ClassA : arr(1).id = 3 - Set arr(2) = new ClassA : arr(2).id = 4 - Set arr(3) = new ClassA : arr(3).id = 4 - Set arr(4) = new ClassA : arr(4).id = 1 - - - ShakerSort arr, 0, UBound( arr ), GetRef("CmpFunc1"), Empty - - - WScript.Echo arr(0).id &","& arr(1).id &","& arr(2).id &","& _ - arr(3).id &","& arr(4).id - - Function CmpFunc1( Left, Right, Param ) - CmpFunc1 = Left.id - Right.id '// ~‡‚È‚ç Right.id - Left.id - End Function - - ƒTƒ“ƒvƒ‹ - - (src) - - - ¨ ƒVƒF[ƒJ[ƒ\[ƒg (ShakerSort) - - - - Dim line ReDim lines(-1) - Set f = OpenForRead( target_result_txt ) - Do Until f.AtEndOfStream - Set line = new String1 - line.s = f.ReadLine() - ReDim Preserve lines( UBound( lines ) + 1 ) - Set lines( UBound( lines ) ) = line - Loop - f = Empty - - ShakerSort lines, 0, UBound( lines ), GetRef("StrCmpFunc"), 1 - - Function StrCmpFunc( Left, Right, Param ) - StrCmpFunc = StrComp( Left.s, Right.s, Param ) - End Function - - Class String1 - Public s - End Class - - •¶Žš—ñ‚ð¸‡‚Ƀ\[ƒg‚·‚éƒTƒ“ƒvƒ‹ - ”z—ñ‚Ì—v‘f‚̓IƒuƒWƒFƒNƒg‚Å‚ ‚邱‚ƁB - ƒeƒXƒg - ŽQl - Arr ˆø”‚́AVisual Basic •W€‚Ì”z—ñ‚Å‚àAArrayClass ‚Å‚à\‚¢‚Ü‚¹‚ñ‚ªAArrayClass::Items ‚ÍŽw’è‚Å‚«‚Ü‚¹‚ñBiƒ\[ƒg‚³‚ê‚Ü‚¹‚ñBj - (*1) - - ¨ ArrayToNameOnlyClassArray - - - ¨ T_ShakerSort.vbs - - ŠÖ˜A - - ¨ ShakerSort_fromDic - - - ¨ ShakerSort_fromDicKey - - - ¨ ShakerSortDicByKey - - - ¨ ShakerSortDicByKeyCompare - - - - - - - - CompareFunction Œ^A”äŠrŠÖ”Œ^ - - - Function CompareFunction( Left as variant, Right as variant, Parameter as variant ) as integer - - ‚Q‚‚̃pƒ‰ƒ[ƒ^[‚ð”äŠr‚·‚éŠÖ”‚ÌŒ^B ŠÖ”–¼‚́ACompareFunction ‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB - yˆø”z - Left - Right - ‚P‚–ڂ̃pƒ‰ƒ[ƒ^[ - ‚Q‚–ڂ̃pƒ‰ƒ[ƒ^[ - Parameter - ”äŠr‚ÉŽg‚¤•â•ƒpƒ‰ƒ[ƒ^[ - •Ô‚è’l - ‚OF“™‚µ‚¢A³‚̐”FLeft ‚ª‘å‚«‚¢A•‰‚̐”FRight‚ª‘å‚«‚¢ i¸‡F¬¨‘å‚Ì‚Æ‚«j - - StrComp - - ‚àA‚±‚̊֐”Œ^‚Å‚·‚ªAGetRef("StrComp") ‚̓Gƒ‰[‚É‚È‚è‚Ü‚·B - - ShakerSort - - LeftARight ‚́A - ‚Ȃǂ̊֐”‚ÉŽw’è‚·‚éƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚Å‚·B - Param ‚ɂ́AShakerSort ‚Ȃǂ̊֐”‚É‚ ‚éˆø”‚ª‚»‚Ì‚Ü‚Ü“n‚è‚Ü‚·B¸‡F¬¨‘å‚É‚·‚é‚Æ‚«‚́ALeft - Right ‚Ì’l‚ð•Ô‚µ‚Ä‚­‚¾‚³‚¢B - ~‡‚É‚·‚é‚Æ‚«‚́A•Ô‚è’l‚̐³‚Æ•‰‚ð•Ï‚¦‚Ä‚­‚¾‚³‚¢B - - ¨ StdCompare - - ŠÖ˜A - - ¨ NameCompare - - - ¨ LengthCompare - - - ¨ LengthNameCompare - - - ¨ StrCompOption - - - - Function SampleStaticClass_comparePriority( in_Left, in_Right, in_Parameter ) SampleStaticClass_comparePriority = in_Left.Priority - in_Right.Priority - End Function - - ƒTƒ“ƒvƒ‹ - - - - - - - StdCompare - - - Function StdCompare( Left as variant, Right as variant, Param as variant ) as integer - - ‚Q‚‚̃pƒ‰ƒ[ƒ^[‚ð•W€“I‚È•û–@‚Å”äŠr‚µ‚Ü‚·B (StdCompare = Standard Compare) - Left - Right - •Ô‚è’l - - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - ”’l - ”’l - -1, 0, 1 ‚Ì‚Ç‚ê‚©Bi‚⁄‚Æ“¯‚¶j - •¶Žš—ñ - •¶Žš—ñ - StrComp ‚Æ“¯‚¶ i‚⁄‚Æ“¯‚¶jBParam ˆø”‚à“¯‚¶ - ƒIƒuƒWƒFƒNƒg - ƒIƒuƒWƒFƒNƒg - - is ‰‰ŽZŽq - - ‚ÌŒ‹‰Ê‚ª True ‚È‚ç 0A False ‚È‚ç -1 - Empty - Empty - 0 - Empty ˆÈŠO - Empty - 1 i¸‡‚Ń\[ƒg‚·‚é‚ƁAEmpty‚ªÅŒã‚É‚È‚éj - Empty - Empty ˆÈŠO - -1 - “ú•t - “ú•t - ŒÃ‚¢•û‚ª¬‚³‚¢’l‚Æ‚È‚é•Ô‚è’l i‚⁄‚Æ“¯‚¶j - - (src) - - ”CˆÓ‚ÌŒ^ - Left ‚ƈقȂéŒ^ - -1 iƒGƒ‰[‚É‚Í‚È‚ç‚È‚¢j - ƒeƒXƒg - - ¨ T_QSort.vbs # [T_CompareFunc] - - Param ˆø”‚́ALeft ‚Æ Right ‚ª•¶Žš—ñ‚Ì‚Æ‚«‚¾‚¯—LŒø‚Å‚·B - - - - - - - NameCompare - - - Function NameCompare( Left as variant, Right as variant, Param as variant ) as integer - - ‚Q‚‚̃pƒ‰ƒ[ƒ^[‚ð Name ƒvƒƒpƒeƒB‚Å”äŠr‚µ‚Ü‚·B - Left - Right - •Ô‚è’l - - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - ƒIƒuƒWƒFƒNƒg - ƒIƒuƒWƒFƒNƒg - Name ƒvƒƒpƒeƒB‚ð StrComp ‚É“n‚µ‚½Œ‹‰Ê - ƒIƒuƒWƒFƒNƒgˆÈŠO - ƒIƒuƒWƒFƒNƒgˆÈŠO - 0 - ƒIƒuƒWƒFƒNƒgˆÈŠO - ƒIƒuƒWƒFƒNƒg - -1 i¸‡‚Ń\[ƒg‚·‚é‚ƁAƒIƒuƒWƒFƒNƒgˆÈŠO‚ªÅŒã‚É‚È‚éj - ƒIƒuƒWƒFƒNƒg - ƒIƒuƒWƒFƒNƒgˆÈŠO - 1 - - (src) - - ƒeƒXƒg - - ¨ T_QSort.vbs # [T_CompareFunc] - - Param ˆø”‚́AStrComp ŠÖ”‚Æ“¯‚¶‚Å‚·B - - - - - - - NumStringCompare - - - Function NumStringCompare( Left as variant, Right as variant, Param as variant ) as integer - - •¶Žš—ñ‚Ì’†‚̐”Žš‚𕡐”Œ…‚̐³‚̐®”’l‚Æ‚µ‚Ä”äŠr‚µ‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - Left - Right - •Ô‚è’l - - "A10" - "A2" - ³‚̐”’liLeft > RightjA”’l10‚Æ2 ‚Ì”äŠr - "A" - "a" - •‰‚̐”’liLeft < Rightj - ³‚̐”’liLeft > RightjA‘啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚È‚¢ - "a" - "B" - "A10" - "A10.2" - •‰‚̐”’liLeft < Rightj - "A10.2" - "A10.10" - ³‚̐”’liLeft > RightjA¬”‚Æ‚ÍŒ©‚È‚³‚È‚¢ - •‰‚̐”’liLeft < Rightj - "A2" - "A1" - "A-2" - "A-1" - •‰‚̐”’liLeft < RightjAƒ}ƒCƒiƒX‚Æ‚ÍŒ©‚È‚³‚È‚¢ - ŠÖ˜A - ¨ shlwapi.dll ‚Ì StrCmpLogicalW - ƒeƒXƒg - - ¨ T_QSort.vbs - - - ¨ NumStringNameCompare - - - (src) - - T_NumStringCompare - Param ˆø”‚ɂ́AEmpty ‚Ü‚½‚Í - - c.CaseSensitive - - ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - ƒtƒ@ƒCƒ‹–¼‚Ń\[ƒg - - ‚µ‚½‚Æ‚«‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B - - - - - - - NumStringNameCompare - - - Function NumStringNameCompare( Left as variant, Right as variant, Param as variant ) as integer - - Name ƒvƒƒpƒeƒB‚Ì•¶Žš—ñ‚Ì’†‚̐”Žš‚𕡐”Œ…‚̐³‚̐®”’l‚Æ‚µ‚Ä”äŠr‚µ‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - - ¨ NumStringCompare - - ŽQl - - (src) - - ƒeƒXƒg - - ¨ T_QSort.vbs - - T_NumStringNameCompare - Param ˆø”‚ɂ́AEmpty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - - - - - - LengthCompare - - - Function LengthCompare( Left as variant, Right as variant, Param as variant ) as integer - - ‚Q‚‚̃pƒ‰ƒ[ƒ^[‚Ì’·‚³‚ð”äŠr‚µ‚Ü‚·B - •¶Žš—ñŒ^‚Ì‚Æ‚«‚́A•¶Žš—ñ‚Ì’·‚³‚ð”äŠr‚µ‚Ü‚·BParam ‚ªƒ}ƒCƒiƒX‚È‚çA•Ô‚è’l‚̐³‚Æ•‰‚ª“ü‚ê‘Ö‚í‚è‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - - (src) - - - - - - - - LengthNameCompare - - - Function LengthNameCompare( Left as variant, Right as variant, Param as variant ) as integer - - ‚Q‚‚̃pƒ‰ƒ[ƒ^[‚Ì Name ƒvƒƒpƒeƒB‚ð LengthCompare ‚Å”äŠr‚µ‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - - (src) - - Param = -1 ‚É‚·‚é‚ƁA‹t‡‚É‚È‚è‚Ü‚·B - - - - - - - PathCompare - - - Function PathCompare( Left as string, Right as string, Param as variant ) as integer - - ‚Q‚‚̕¶Žš—ñ‚ðƒpƒX‚Æ‚µ‚Ä”äŠr‚µ‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - - (src) - - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_SortByPath - ŽQl - - ¨ PathNameCompare - - Param ‚É•‰‚Ì’l‚ðŽw’è‚·‚é‚ƁA‘召”äŠr‚ÌŒ‹‰Ê‚ª‹t‚É‚È‚è‚Ü‚·B ‚»‚¤‚Å‚È‚¢‚Æ‚«‚́AParam = Empty ‚Ü‚½‚Í Param ‚𐳂̒l‚É‚µ‚Ä‚­‚¾‚³‚¢B - ŠÖ˜A - - ¨ PathNameCompare - - - ¨ NumStringCompare - - ”Žš‚Ȃǂ̈µ‚¢‚ª StrComp ‚ƈقȂè‚Ü‚·B - - - –¢‘Ήž - - - - - - - - PathNameCompare - - - Function PathNameCompare( Left as variant, Right as variant, Param as variant ) as integer - - ‚Q‚‚̃IƒuƒWƒFƒNƒg‚Ì Name ƒvƒƒpƒeƒB‚ðƒpƒX‚Æ‚µ‚Ä”äŠr‚µ‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - ƒeƒXƒg - - ¨ T_ShakerSort.vbs - - T_SortByPath - ƒTƒ“ƒvƒ‹ - - - arr = ArrayToNameOnlyClassArray( Array( "F", "EE\!", "EE\*", "EE", "E!E", "E\F", "E" ) )ShakerSort arr, 0, UBound( arr ), GetRef("PathNameCompare"), Empty - arr = NameOnlyClassArrayToArray( arr ) - Assert IsSameArray( arr, Array( "E", "E\F", "E!E", "EE", "EE\*", "EE\!", "F" ) ) - - ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éƒtƒHƒ‹ƒ_[‚âƒtƒ@ƒCƒ‹‚́A˜A‘±‚µ‚Ü‚·B ‚½‚Æ‚¦‚΁A’ʏí‚Ì•¶ŽšƒR[ƒh‚Ń\[ƒg‚µ‚½‚ç "A\!", "A\*", "A!B", "A\C" ‚̏‡‚É‚È‚è‚Ü‚·‚ªA - PathNameCompare ‚ł́A"A\*", "A\!", "A\C", "A!B" ‚̏‡‚É‚È‚è‚Ü‚·B - ƒtƒHƒ‹ƒ_[‹æØ‚è‹L†i\,/jAƒƒCƒ‹ƒhƒJ[ƒhi*j‚́AÅ‚à¬‚³‚¢•¶Žš‚Æ‚µ‚Ü‚·B - - ¨ vbslib.vbs - - ƒ\[ƒX - Param ‚𕉂̒l‚Æ‚·‚é‚ƁA‘召”äŠr‚ÌŒ‹‰Ê‚ª‹t‚É‚È‚è‚Ü‚·B ‚»‚¤‚Å‚È‚¢‚Æ‚«‚́AParam = Empty ‚Ü‚½‚Í Param ‚𐳂̒l‚É‚µ‚Ä‚­‚¾‚³‚¢B - ŠÖ˜A - - ¨ PathCompare - - - ¨ ExpandWildcard_Sort •Ï” - - - ¨ NumStringCompare - - ”Žš‚Ȃǂ̈µ‚¢‚ª StrComp ‚ƈقȂè‚Ü‚·B - - - –¢‘Ήž - - ŽQl - - - - - - - NoCompareFunction - - - Function NoCompareFunction( Left as variant, Right as variant, Param as variant ) as integer - - Param ˆø”‚Ì“à—e‚ð‚»‚Ì‚Ü‚Ü•Ô‚µ‚Ü‚·B - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - - ¨ vbslib.vbs - - ƒ\[ƒX - - - - - - - ŠÖ˜A - - ¨ QuickSort_fromDic - - - ¨ ShakerSort_fromDic - - - ¨ ShakerSort_fromDicKey - - - ¨ ShakerSortDicByKey - - - ¨ PArray_doShakerSort (clib) - - - ¨ XmlSort - - - ¨ SearchInSimpleArray - - - - - - - - •¶Žš—ñ - ŠÖ˜A - - ¨ ƒtƒ@ƒCƒ‹–¼EƒpƒX - - - - - - - - CInt2 - - - Function CInt2( v as string ) as integer - - CInt ‚ŃGƒ‰[‚ª”­¶‚·‚é’l‚ð v ‚ÉŽw’肵‚½‚Æ‚«‚́A0 ‚ð•Ô‚µ‚Ü‚·B - •¶Žš—ñ‚𐔒l‚É•ÏŠ·‚µ‚Ü‚·B - - (src) - - VBScript ‚ł́ACInt ‚́A•„†•t‚«16ƒrƒbƒg®”‚Å‚·‚ªACInt2 ‚ÍCLng ‚É‘Š“–‚·‚é •„†•t‚«32ƒrƒbƒg®”‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B - ŠÖ˜A - - ¨ Eval - - - ¨ CLng("&h8000") - - - ¨ GetNumWithZeroAtLeft - - - - - - - - Trim2, LTrim2, RTrim2 - - - Function Trim2( v as string ) as string - - •¶Žš—ñ‚Ì’[‚Ì‹ó”’•¶Žš‚¾‚¯‚Å‚È‚­Aƒ^ƒu•¶ŽšA‰üs•¶Žš‚àƒJƒbƒg‚µ‚½•¶Žš—ñ‚ð•Ô‚µ‚Ü‚·B - - - Function LTrim2( v as string ) as string - - - - Function RTrim2( v as string ) as string - - - (src) - - - - - - - - AlignString - - - Function AlignString( in_InputData as integer, in_MinimumLength as integer, in_FillingCharacter as string, in_ValueIfOver as Empty or string ) as string - - •¶Žš—ñ‚␔’l‚̍¶‚Ü‚½‚͉E‚ɁA‹ó”’‚â 0 ‚È‚Ç‚ð•À‚ׂāA•‚ð‡‚í‚¹‚½•¶Žš—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - - out = AlignString( "a", 3, " ", Empty ) : Assert out = " a"out = AlignString( 123, 6, "0", Empty ) : Assert out = "000123" - out = AlignString(-123, 6, " ", Empty ) : Assert out = " -123" - out = AlignString( "AB",-5," ", Empty ) : Assert out = "AB " - - out = AlignString(-123, 3, " ", "###" ) : Assert out = "###" - out = AlignString(-123, 3, " ", Empty ) : Assert out = "-123" - out = AlignString(-123, 6, " ", "###" ) : Assert out = " -123" - - yˆø”z - in_InputData - in_MinimumLength - •ÏŠ·‚³‚ê‚镶Žš—ñ‚␔’l - •Ô‚è’l‚Ì•¶Žš”‚̍ŏ¬’lAƒ}ƒCƒiƒX=¶‹l‚ß - in_ValueIfOver - in_MinimumLength ‚ð’´‚¦‚½‚Æ‚«‚Ì•Ô‚è’lA‚Ü‚½‚́AEmpty - ƒTƒ“ƒvƒ‹ - •‚ð‡‚í‚¹‚½•¶Žš—ñ - •Ô‚è’l - ƒ\[ƒX - - ¨ vbslib.vbs - - in_ValueIfOver = Empty ‚Ì‚Æ‚«‚́A•Ô‚è’l‚ª in_MinimumLength ‚ð’´‚¦‚镶Žš”‚É‚È‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - ƒeƒXƒg - - ¨ T_Str.vbs - - T_AlignString - in_FillingCharacter - •‚ðL‚°‚é‚Æ‚«‚É•À‚ׂ镶Žš - - - - - - - CutLastOf - - - Sub CutLastOf( in_out_Str as string, LastStr as string, Opt as integer ) - - - (src) - - in_out_Str ‚̍Ōオ LastStr ‚ƈê’v‚µ‚½‚çA‚»‚ê‚ðƒJƒbƒg‚µ‚Ü‚·B - yˆø”z - in_out_Str - LastStr - i“üo—́j ƒJƒbƒg‚³‚ê‚é‚©‚à‚µ‚ê‚È‚¢•¶Žš—ñ - ”äŠr‚·‚镶Žš—ñ - ŠÖ˜A - - ¨ T_Str.vbs # [T_StrComp] - - ƒeƒXƒg - - c.CaseSensitive - - Opt - Empty ‚Ü‚½‚Í - - ¨ CutLastOfFileName - - - ¨ StrCompLastOf - - ƒTƒ“ƒvƒ‹F - - - s = "file1.txt"CutLastOf s, "1.txt", Empty - Assert s = "file" - - - ¨ GetPathWithSeparator - - Path ‚̍Ōã‚ð‹æØ‚è‹L†‚É‚µ‚Ü‚· - ƒtƒ@ƒCƒ‹–¼iŠg’£Žq‚ðœ‚­j‚̍Ōã‚ðíœ‚µ‚Ü‚· - •¶Žš—ñ‚Ì––”ö‚ð”äŠr‚µ‚Ü‚· - - - - - - - LenK - - - Function LenK( Str as string ) as integer - - ‰p•¶Žš‚ð 1•¶ŽšA“ú–{Œêi•¶ŽšƒR[ƒh256ˆÈãj‚ð 2•¶Žš‚Æ‚µ‚Ä•¶Žš”‚ð•Ô‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - LenK( "123" ) = 3LenK( "123‚ ‚¢‚¤" ) = 9 - Len( "123‚ ‚¢‚¤" ) = 6 - - - (src) - - - ¨ GetLineNumsExistNotEnglighChar - - ŠÖ˜A - - - - - - - StrCount - - (src) - - - - Function StrCount( Str as string, Keyword as string, StartPos as integer, Opt as integer ) as integer - - •¶Žš—ñ‚ª‘¶Ý‚·‚鐔‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Str - Keyword - ”‚𐔂¦‚ç‚ê‚镶Žš—ñ - ”‚𐔂¦‚镶Žš—ñ - - c.CaseSensitive - - Opt - Empty ‚Ü‚½‚Í - Str ˆø”‚Ì’l - Keyword ˆø”‚Ì’l - - •Ô‚è’l - •Ô‚è’l - Str ‚Ì’†‚É‚ ‚é Keyword ‚̐” - "ABCABC" - "ABC" - 2 - 2 - "A" - "ABCABC" - Str ‚Ì’†‚́A”‚¦Žn‚ß‚éˆÊ’uB æ“ª=1 - StartPos - "D" - 0 - "ABCABC" - "/Folder/File" - "/" - 2 - ƒeƒXƒg - - ¨ T_Str.vbs # [T_StrCount] - - - - - - - - GetTab - - (src) - - - - Function GetTab( Level as integer ) as string - - ƒCƒ“ƒfƒ“ƒg”‚ðŽw’肵‚āA‹ó”’•¶Žš‚ð•Ô‚µ‚Ü‚·B - ƒCƒ“ƒfƒ“ƒg”~‚Q‚Ì‹ó”’•¶Žš‚ð•Ô‚µ‚Ü‚·B - - ¨ CutIndentOfMultiLineText - - ŠÖ˜A - - - - - - - CutLineFeedAtRightEnd - - - Function CutLineFeedAtRightEnd( Text as string, Width as integer ) as string - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚̉E’[‚©‚ç‚ ‚ӂꂽ•¶Žš—ñ‚ð‚Ps‚É‚Ü‚Æ‚ß‚Ü‚·B - yˆø”z - Text - Width - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚çƒRƒs[‚µ‚½•¶Žš—ñ - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì• - C³‚µ‚½•¶Žš—ñ - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - 01234567890123456789 - - - ABCDEFGHIJKLMNOPQRSTUVWXYZ - END - - Width = 20 ‚̏ꍇA - - - - - - - - ABCDEFGHIJKLMNOPQRSTUVWXYZEND - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒ\[ƒX - - - - - - - StrCompOption - - (src) - - - - Function StrCompOption( Opt as integer ) as integer - - - StrComp - - ‚Ì Option ˆø”‚ÉŽw’è‚·‚é’l‚ð•Ô‚µ‚Ü‚·B - Opt ˆø”‚Ì’l - •Ô‚è’l - - Empty - vbBinaryCompare (=0) - vbTextCompare (=1) - ‘啶Žš¬•¶Žš‚Í‹æ•Ê‚µ‚È‚¢ - ‘啶Žš¬•¶Žš‚Í‹æ•Ê‚·‚é - - c.CaseSensitive - - ‚»‚Ì‘¼ - vbTextCompare (=1) - ‚¢‚ë‚¢‚ë‚Ȋ֐”‚Ì Opt ˆø”‚ªAStrCompOption ‚Ì Opt ˆø”‚Æ“¯‚¶ˆÓ–¡‚ðŽ‚Â‚±‚Æ‚ª‚æ‚­‚ ‚è‚Ü‚·B - - - Dim c : Set c = g_VBS_LibIf StrCompLastOf( "ABC", "BC", c.CaseSensitive ) = 0 Then ... - - - - Dim c : Set c = g_VBS_LibIf StrComp( "ABC", "BC", StrCompOption( c.CaseSensitive ) ) = 0 Then ... - - - ¨ CompareFunction Œ^A”äŠrŠÖ”Œ^ - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - - - - - - ¨ T_Str.vbs # [T_StrComp] - - ƒeƒXƒg - - - Function StrCompHeadOf( Str as string, HeadStr as string, Opt as integer ) as integer - - •¶Žš—ñ‚̐擪‚ð”äŠr‚µ‚Ü‚·B - yˆø”z - Str - HeadStr - ”äŠr‚³‚ê‚镶Žš—ñ - Str ‚̐擪‚Æ”äŠr‚·‚镶Žš—ñ - - c.CaseSensitive - - Opt - Empty ‚Ü‚½‚Í - Str ˆø”‚Ì’l - LastStr ˆø”‚Ì’l - - •Ô‚è’l - •Ô‚è’l - Str ‚̐擪 = HeadStr ‚È‚çA0 - - ¨ StrComp - - "ABCDE" - "ABC" - 0 (=ˆê’v) - 0ˆÈŠO(=ˆÙ‚È‚é)A•‰‚Ì’l - "CDE" - "ABCDE" - ŠÖ˜A - - ¨ StrCompLastOf - - - (src) - - StrCompHeadOf - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - "AAA" - "ABCDE" - 0ˆÈŠO(=ˆÙ‚È‚é)A³‚Ì’l - "ABCDE" - "" - 0 (=ˆê’v) - ‚Ü‚½‚Í c.AsPath - 0 ‚Ì‚Æ‚«Ac.AsPath ‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢‚Æ‚«A - c.AsPath ‚ªÝ’肳‚ê‚Ä‚¢‚é‚Æ‚«A - 0 (=ˆê’v) - "ABC\" - "ABC\DE" - 0 (=ˆê’v) - "ABC/DE" - "ABC" - "ABC\DE" - "ABC" - 0 (=ˆê’v) - 0ˆÈŠO(=ˆÙ‚È‚é)A³‚Ì’l - "ABC" - "ABCDE" - •Ô‚è’l - - LastStr ˆø”‚Ì’l - Str ˆø”‚Ì’l - "ABC\" - 0ˆÈŠO(=ˆÙ‚È‚é)A•‰‚Ì’l - "ABC" - 0 (=ˆê’v) - "" - "ABCDE" - - - - - - - StrCompLastOf - - (src) - - - ¨ T_Str.vbs # [T_StrComp] - - ƒeƒXƒg - - - Function StrCompLastOf( Str as string, LastStr as string, Opt as integer ) as integer - - •¶Žš—ñ‚Ì––”ö‚ð”äŠr‚µ‚Ü‚·B - yˆø”z - Str - LastStr - ”äŠr‚³‚ê‚镶Žš—ñ - Str ‚Ì––”ö‚Æ”äŠr‚·‚镶Žš—ñ - - c.CaseSensitive - - Opt - Empty ‚Ü‚½‚Í - Str ˆø”‚Ì’l - LastStr ˆø”‚Ì’l - - •Ô‚è’l - •Ô‚è’l - Str ‚Ì––”ö = LastStr ‚È‚çA0 - - ¨ StrComp - - "ABCDE" - "CDE" - 0 (=ˆê’v) - 0ˆÈŠO(=ˆÙ‚È‚é)A³‚Ì’l - "ABC" - "ABCDE" - ŠÖ˜A - - ¨ CutLastOf - - - ¨ StrCompLastOfFileName - - - ¨ StrCompHeadOf - - - ”äŠrŠÖ”Œ^ - - ‚Å‚·B - - - - - - - AddIfNotExist - - (src) - - - - Function AddIfNotExist( WholeStr as string, AddStr as string, Separator as string, Opt ) as string - - WholeStr ‚É AddStr ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚È‚¯‚ê‚΁Aæ“ª‚É AddStr ‚ð’ljÁ‚µ‚½‚à‚Ì‚ð•Ô‚µ‚Ü‚·B - yˆø”z - WholeStr - AddStr - •¶Žš—ñ‚Ì—ñ‹“ - ’ljÁ‚·‚镶Žš—ñ - Separator - •¶Žš—ñ‚Ì—ñ‹“‚ð‹æØ‚镶Žš—ñ - AddStr{Separator{WholeStrA‚Ü‚½‚́AWholeStr - •Ô‚è’l - Opt - - c.CaseSensitive - - Empty ‚Ü‚½‚Í - ƒTƒ“ƒvƒ‹ - - - Assert AddIfNotExist( "ABC;DEF", "XYZ", ";", Empty ) = "XYZ;ABC;DEF"Assert AddIfNotExist( "ABC,XYZ", "XYZ", ",", Empty ) = "ABC;XYZ" - Assert AddIfNotExist( "", "XYZ", ";", Empty ) = "XYZ;" - - - - set_ "PATH", AddIfNotExist( env("%PATH%"), _ GetFullPath( "..\bin", Empty ), ";", Empty ) - - ƒTƒ“ƒvƒ‹ - PATH ŠÂ‹«•Ï” - - ¨ T_Str.vbs # [T_AddIfNotExist] - - ƒeƒXƒg - ‚É "..\bin" ƒtƒHƒ‹ƒ_[‚̃tƒ‹EƒpƒX‚ð’ljÁ‚·‚é - - ¨ GetPathWithSeparator - - ŠÖ˜A - - - - - - - MeltQuot - - ¨ MeltCSV - - ŠÖ˜A - " " ‚ň͂܂ꂽ•”•ª‚ðŽæ‚èo‚·B - - - Function MeltQuot( Line as string, in_out_Start as integer ) as string - - - - i = 1Do - s = MeltQuot( line, i ) - If not IsEmpty( s ) Then is ‚ðŽg‚Á‚½ˆ—j - If i = 0 Then Exit Do - Loop - - yˆø”z - Line - in_out_Start - •¶Žš—ñ‘S‘Ì - i“ü—́j Žæ‚èo‚µ‚ðŠJŽn‚·‚镶Žš‚̈ʒuAio—́jŽŸ‚ÉŽæ‚èo‚·` - •Ô‚è’l - " " ‚ň͂܂ꂽ•”•ª•¶Žš—ñBEmpty=€–Ú‚É’l‚ª–³‚¢ - - (src) - - - ¨ T_Str.vbs # [T_MeltQuot] - - ƒeƒXƒg - - ¨ MeltCmdLine - - ƒTƒ“ƒvƒ‹ - - - Assert MeltCmdLine( """double_quotation""", 1 ) = "double_quotation" - - ƒTƒ“ƒvƒ‹ - - - - - - - sscanf - - - Function sscanf( String, Format ) - - - (src) - - •¶Žš—ñ‚Ì“r’†‚ðŽæ‚èo‚µ‚Ü‚·B - yˆø”z - String - Format - •¶Žš—ñ‘S‘Ì - Žæ‚èo‚·•”•ª‚ðŽw’è‚·‚镶Žš—ñB "%d" ‚Ü‚½‚Í "%s" ‚ðŠÜ‚Þ - - - vbslib.vbs - - ƒtƒ@ƒCƒ‹F - •Ô‚è’l - Žæ‚èo‚µ‚½•¶Žš—ñA‚Ü‚½‚́A”’l - ƒTƒ“ƒvƒ‹F - - - Assert sscanf( "ABC123DEF", "ABC%dDEF" ) = 123 - - ”’l‚ðŽæ‚èo‚·‚Æ‚«‚́A%d ‚ðŽg‚¢‚Ü‚·B - •¶Žš—ñ‚ðŽæ‚èo‚·‚Æ‚«‚́A%s ‚ðŽg‚¢‚Ü‚·B - - - Assert sscanf( "===[ABC]===", "[%s]" ) = "ABC" - - ƒTƒ“ƒvƒ‹F - - ¨ T_Str.vbs # [T_sscanf] - - ƒeƒXƒg - - ¨ ReadFileInTag - - ŠÖ˜A - ƒTƒ“ƒvƒ‹F - - - Assert sscanf( "===[123] [456]===", "[%s]" ) = "123"Assert sscanf( "===[ [ 123 ] ]===", "[%s]" ) = " [ 123 " - - •¡”‚Ƀ}ƒbƒ`‚·‚éê‡AÅ‚à¶‚É‚ ‚é‚à‚̂ƃ}ƒbƒ`‚µ‚Ü‚· - - ¨ grep (ŒŸõ) - - %d, %s ˆÈŠO‚Ì•”•ª‚ªƒ}ƒbƒ`‚µ‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - - ¨ ScanFromTemplate - - - ¨ ScanMultipleFromTemplate - - - - - - - - ScanFromTemplate - - - Function ScanFromTemplate( ScanString as string, TemplateString as string, KeywordArray as array of string, Option_ as Empty ) as dictionary of string - - •¶Žš—ñ‚Ì“r’†‚𕡐”Žæ‚èo‚µ‚Ü‚·B - yˆø”z - ScanString - TemplateString - Žæ‚èo‚·•¶Žš—ñ‚ðŠÜ‚Þ•¶Žš—ñ - Žæ‚èo‚·•”•ª‚ðŽw’è‚·‚镶Žš—ñ - KeywordArray - TemplateString ‚ɏ‘‚©‚ꂽŽæ‚èo‚·•”•ª‚Ì•¶Žš—ñ‚Ì”z—ñ - - ¨ T_Str.vbs - - ƒeƒXƒg - Empty ‚Ü‚½‚Í g_VBSLib.WithDollarVariable - Option_ - ƒTƒ“ƒvƒ‹ - - - Set out = ScanFromTemplate(_ "ab12cde34xyz",_ - "b${First}cde${Second}xy",_ - Array( "${First}", "${Second}" ), Empty ) - Assert out("${First}") = "12" - Assert out("${Second}") = "34" - - KeywordArray ”z—ñ‚Ì—v‘f‚́ATemplateString ‚Ì’†‚ÉŠÜ‚Ü‚ê‚鏇”Ô‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - KeywordArray ”z—ñ‚Ì—v‘f‚́A${ } ‚â % % ‚ň͂ñ‚¾Œ`Ž®‚Å‚ ‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB‘啶Žš¬•¶Žš‚Í‹æ•Ê‚µ‚Ü‚·B - ${ •¶Žš‚ðŽw’è‚·‚é‚Æ‚«‚É $\{ ‚ðŽw’肵‚½‚Æ‚«‚́AOption_ ‚É g_VBSLib.WithDollarVariable - ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - ¨ vbslib.vbs - - ƒ\[ƒX - Žæ‚èo‚µ‚½•¶Žš—ñ‚ÌŽ«‘ - •Ô‚è’l - ScanString ‚ª TemplateString ‚Ƀ}ƒbƒ`‚µ‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - ŠÖ˜A - - ¨ sscanf - - - ¨ ScanMultipleFromTemplate - - - ¨ ParsePercentVariableString - - - ¨ SearchStringTemplate - - T_ScanFromTemplate - - - Set out = ScanFromTemplate(_ "abc def ghi"+ vbCRLF,_ - "%A% %B% %C%",_ - Array( "%A%", "%B%", "%C%" ), Empty ) - Assert out("%A%") = "abc" - Assert out("%B%") = "def" - Assert out("%C%") = "ghi"+ vbCRLF - - ƒTƒ“ƒvƒ‹ - •Ï”‚ª TemplateString ˆø”‚Ì’[‚É‚ ‚é‚Æ‚« - - ¨ SearchStringTemplate - - - - - - - - ScanMultipleFromTemplate - - - Sub ScanMultipleFromTemplate( ScanString as string, TemplateString as string, Keywords as array of string, Option_ as Empty, - out_Scaned as array of dictionary of string ) - - •¶Žš—ñ‚©‚çƒeƒ“ƒvƒŒ[ƒg‚𕡐”‰ñ“K—p‚µ‚ăeƒ“ƒvƒŒ[ƒg‚̕ϐ”•”•ª‚ðŽæ‚èo‚µ‚Ü‚·B - yˆø”z - ScanString - TemplateString - Žæ‚èo‚·•¶Žš—ñ‚ðŠÜ‚Þ•¶Žš—ñ - Žæ‚èo‚·•”•ª‚ðŽw’è‚·‚镶Žš—ñ - Keywords - TemplateString ‚ɏ‘‚©‚ꂽŽæ‚èo‚·•”•ª‚Ì•¶Žš—ñ‚Ì”z—ñ - - ¨ T_Str.vbs - - ƒeƒXƒg - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - Option_ - ƒTƒ“ƒvƒ‹ - - - ScanMultipleFromTemplate _ " [1,2] [3,4] ",_ - "[${A},${B}]",_ - Array( "${A}", "${B}" ), Empty, out '//(out) out - Assert out(0)("${A}") = "1" - Assert out(0)("${B}") = "2" - Assert out(1)("${A}") = "3" - Assert out(1)("${B}") = "4" - - - ¨ vbslib.vbs - - ƒ\[ƒX - Žæ‚èo‚µ‚½•¶Žš—ñ‚ÌŽ«‘‚Ì”z—ñ - out_Scaned - T_ScanMultipleFromTemplate - ŽQl - - ¨ ScanFromTemplate - - ƒeƒ“ƒvƒŒ[ƒg‚ð‚P‰ñ“K—p‚·‚éê‡ - KeywordArray ‚É”z—ñ‚Å‚Í‚È‚¢•¶Žš—ñ‚ðŽw’肵‚½ê‡Aout_Scaned ‚É‚ÍŽ«‘‚Å‚Í‚È‚¢”z—ñ‚ªo—Í‚³‚ê‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - ScanMultipleFromTemplate _ " [1] [2] ",_ - "[#]", "#", Empty, out '//(out) out - Assert out(0) = "1" - Assert out(1) = "2" - - ŠÖ˜A - - ¨ ScanFromTemplate - - - - - - - - InStrEx - - - Function InStrEx( WholeString as string, Keyword as string, StartIndex as integer, Opt as integer ) as integer - - ƒIƒvƒVƒ‡ƒ“‚ðŽw’肵‚Ä•¶Žš—ñ‚ðŒŸõ‚µ‚Ü‚·B - yˆø”z - WholeString - Keyword - ŒŸõ‘ΏۂɂȂ镶Žš—ñ - ŒŸõ‚·‚éƒL[ƒ[ƒhB •¡”Žw’è‚·‚é‚Æ‚«‚Í”z—ñŒ^‚Å - StartIndex - ŒŸõ‚ðŠJŽn‚·‚éˆÊ’uBæ“ª=1B ‘S‘Ì‚ðŒŸõiæ“ª‚Ü‚½‚Í––”öj=0 - •Ô‚è’l - Opt - ‰º‹L‚̃tƒ‰ƒOA‚Ü‚½‚Í Empty - Œ©‚‚©‚Á‚½•¶Žš—ñ‚̐擪‚̈ʒuB 0=Œ©‚‚©‚ç‚È‚©‚Á‚½ - ƒTƒ“ƒvƒ‹ - ’PŒê‘S‘̂Ƀ}ƒbƒ`‚·‚镶Žš—ñ‚ðŒŸõ‚µ‚Ü‚· - - - Set c = g_VBS_LibAssert InStrEx( "answer ans", "ans", 1, c.WholeWord or c.CaseSensitive ) = 8 - - Opt ˆø” - c.WholeWord - ‰º‹L‚̃tƒ‰ƒO‚𕡐”Žw’è‚·‚é‚Æ‚«‚́Aor ‚Őڑ±‚µ‚Ä‚­‚¾‚³‚¢B‚È‚¨Ac ‚́Ag_VBS_Lib ‚Ì•Ô‚è’l‚Å‚·B - ‰pŒê‚Ì’PŒê‘S‘̂Ƀ}ƒbƒ`‚·‚镶Žš—ñ‚ðŒŸõ‚µ‚Ü‚·B‚±‚̃tƒ‰ƒO‚ðŽw’肵‚È‚¯‚ê‚΁A’PŒê‚̈ꕔ‚ɃL[ƒ[ƒh‚ðŠÜ‚Þ’PŒê‚à - ŒŸõ‚Ƀqƒbƒg‚µ‚Ü‚·B - c.Rev - c.CaseSensitive - ‘啶ŽšA¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚·B‚±‚̃tƒ‰ƒO‚ðŽw’肵‚È‚¯‚ê‚΁A‘啶ŽšA¬•¶Žš‚ªˆÙ‚Ȃ镶Žš—ñ‚à - ŒŸõ‚Ƀqƒbƒg‚µ‚Ü‚·B - ‘O•ûi¶ã•ûŒüj‚ÉŒü‚©‚Á‚ÄŒŸõ‚µ‚Ü‚·B‚±‚̃tƒ‰ƒO‚ðŽw’肵‚È‚¯‚ê‚΁AŒã•ûi‰E‰º•ûŒüj‚ÉŒü‚©‚Á‚ÄŒŸõ‚µ‚Ü‚·B - "answer ans", "ans" - ƒeƒXƒg - - ¨ T_Str.vbs - - c.LastNextPos - •Ô‚è’l‚ðAŒ©‚‚©‚Á‚½•¶Žš—ñ‚Ì––”ö‚ÌŽŸ‚̈ʒu‚É‚µ‚Ü‚·B - - (src) - - - ¨ IsWholeWord - - ŽQl - ŽQl - - ¨ InStrLast - - T_InStrEx - T_InStrExWholeWord - T_InStrExArray - c.LineHead - ŒŸõƒL[ƒ[ƒh‚ªs“ª‚É‚ ‚éêŠ‚ðŒŸõ‚µ‚Ü‚·B - ŒŸõƒL[ƒ[ƒh‚ªs––‚É‚ ‚éêŠ‚ðŒŸõ‚µ‚Ü‚·B - c.LineTail - T_InStrExLineHeadTail - Žw’肵‚½ƒL[ƒ[ƒh‚Ì‚Ç‚ê‚©Å‰‚Ƀ}ƒbƒ`‚µ‚½•¶Žš—ñ‚ðŒŸõ‚µ‚Ü‚· - - - pos = InStrEx( text, Array( "{{", "}}", "" ), pos, Empty ) - - ƒTƒ“ƒvƒ‹ - Array( "{{", "}}", "" ) - - - - - - - InStrLast - - - Function InStrLast( WholeString as string, Keyword as string ) as integer - - •¶Žš—ñ‚ðŒŸõ‚µ‚āAÅ‰‚ÉŒ©‚‚©‚Á‚½ƒL[ƒ[ƒh‚Ì––”ö‚ÌŽŸ‚̈ʒu‚ð•Ô‚µ‚Ü‚·B - yˆø”z - WholeString - Keyword - ŒŸõ‘ΏۂɂȂ镶Žš—ñ - ŒŸõ‚·‚éƒL[ƒ[ƒh - •Ô‚è’l - ƒL[ƒ[ƒh‚Ì––”ö‚ÌŽŸ‚̈ʒuAŒ©‚‚©‚ç‚È‚¢=0 - - ¨ T_Str.vbs # [T_InStrLast] - - ƒeƒXƒg - - - InStrLast( "ABCDEF", "CD" ) = 5 '// E ‚̈ʒu - - ƒTƒ“ƒvƒ‹ - - ¨ InStrEx - - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - IsWholeWord - - (src) - - - - Function IsWholeWord( WholeString as string, StartIndex as integer, SubWordLen as integer ) as integer - - •¶Žš—ñ‚Ì’†‚ÌŽw’肵‚½”͈͂ªA’PŒê’PˆÊ‚É‚È‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - WholeString - StartIndex - ŒŸõ‘ΏۂɂȂ镶Žš—ñ - ”͈͂̊JŽnˆÊ’uB æ“ª=1B•¶Žš’PˆÊ - SubWordLen - ”͈͂̒·‚³i•¶Žš”j - ’PŒê’PˆÊ‚É‚È‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚© - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Assert IsWholeWord( "This is a pen.", 6, 2 ) = True - - - - Assert IsWholeWord( "This", 2, 2 ) = False - - - - Assert IsWholeWord( "This is", 1, 7 ) = True - - ”͈͂̒†‚É•¡”‚Ì’PŒê‚ª‚ ‚Á‚Ä‚àA—¼’[‚ª’PŒê‚Ì’PˆÊ‚É‚È‚Á‚Ä‚¢‚ê‚Î True ‚É‚È‚è‚Ü‚·B - - ¨ InStrEx - - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - StrMatchKey ƒNƒ‰ƒX - - (src) - - .Keyword - .IsMatch - - - Function StrMatchKey::IsMatch( TestStr as string ) as Boolean - - * ‚̃ƒCƒ‹ƒhƒJ[ƒh‚ðŽg‚Á‚āAƒ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ð‚‘¬‚É”»’肵‚Ü‚·B* ‚Í‚Q‚ˆȏãŽw’è‚Å‚«‚Ü‚¹‚ñBƒGƒ‰[‚É‚È‚è‚Ü‚·B - - - Property Keyword as string - - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŠÜ‚ÞƒL[ƒ[ƒhB - TestStr ‚ªA.Keyword ‚Őݒ肵‚½ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ð•Ô‚·B‘啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB - .IsMatchULCase - TestStr ‚ªA.Keyword ‚Őݒ肵‚½ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ð•Ô‚·B‘啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚·B - - - Function StrMatchKey::IsMatch( TestStr as string ) as Boolean - - ƒTƒ“ƒvƒ‹F - - - Set match = new StrMatchKey match.Keyword = LCase( "*.TXT" ) - If match.IsMatch( "file1.txt" ) Then - : - End If - - file1.txt - *.TXT - ‘啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚È‚¢‚Æ‚«‚́ALCase ‚ðŽg‚Á‚ﬕ¶Žš‚É‚µ‚Ä‚­‚¾‚³‚¢B - ƒeƒXƒg - - ¨ T_Wildcard.vbs # [T_StrMatchKey] - - .Test.IgnoreCase - RegExp ‚Æ“¯‚¶ - ŠÖ˜A - - ¨ ReplaceFileNameWildcard - - - - - - - - StringReplaceSetClass - - .Replace - - ƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚邱‚Æ‚ð“o˜^‚µ‚Ü‚·B - - .ReplaceRange - - Žw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚邱‚Æ‚ð“o˜^‚µ‚Ü‚·B - ƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚éŽè‡‚̃IƒuƒWƒFƒNƒgB“¯‚¶Žè‡‚ðŒJ‚è•Ô‚·‚±‚Æ‚âA’u‚«Š·‚¦‚éŽè‡‚ðƒpƒ‰ƒ[ƒ^[‰»‚Å‚«‚Ü‚·B - - .DoReplace - - “o˜^‚µ‚Ä‚¨‚¢‚½ˆ—‚ðŽÀs‚µ‚Ü‚·B - - - Set rep = new StringReplaceSetClass rep.Replace "from", "to" - output_text = rep.DoReplace( input_text ) - - ŠÖ˜A - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ T_Wildcard.vbs - - - ¨ OpenForReplace - - - ¨ vbslib.vbs - - T_StringReplaceSet - T_StringReplaceSet_Range - - - - - - - Replace (StringReplaceSetClass) - - - Sub StringReplaceSetClass::Replace( FromText as string, ToText as string ) - - ƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚邱‚Æ‚ð“o˜^‚µ‚Ü‚·B - yˆø”z - FromText - ToText - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒg - - [ e: StringReplaceSetClass ƒNƒ‰ƒX ] - - ŽQl - - ¨ Replace (ReplaceTextFile1) - - - - - - - - ReplaceRange (StringReplaceSetClass) - - - Sub StringReplaceSetClass::ReplaceRange( StartOfFromText as string, EndOfFromText as string, ToText as string ) - - Žw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚邱‚Æ‚ð“o˜^‚µ‚Ü‚·B - yˆø”z - StartOfFromText - EndOfFromText - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg‚ªŽn‚Ü‚éêŠ‚É‚ ‚éƒ^ƒOiƒeƒLƒXƒgj - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg‚ªI‚í‚éêŠ‚É‚ ‚éƒ^ƒOiƒeƒLƒXƒgj - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒgB ’ʏíAƒ^ƒO‚àŠÜ‚ށB - ToText - - [ e: StringReplaceSetClass ƒNƒ‰ƒX ] - - ŽQl - - ¨ ReplaceRange (ReplaceTextFile1) - - - - - - - - DoReplace (StringReplaceSetClass) - - - Function StringReplaceSetClass::DoReplace( InputText as string ) as string - - “o˜^‚µ‚Ä‚¨‚¢‚½ˆ—‚ðŽÀs‚µ‚Ü‚·B - - [ e: StringReplaceSetClass ƒNƒ‰ƒX ] - - yˆø”z - InputText - •Ô‚è’l - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒg - - - - - - - new_RegExp - - - Set re = new_RegExp( "Function\(.*\)", True ) - - - - Function new_RegExp( Pattern as string, IsCaseSensitive as boolean ) as RegExp - - ƒIƒuƒWƒFƒNƒg‚ðŠÈˆÕ“I‚ɐ¶¬‚µ‚Ü‚·B - yˆø”z - Pattern - IsCaseSensitive - ³‹K•\Œ» - ‘啶Žš¬•¶Žš‚ð‹æ•Ê‚·‚é‚©‚Ç‚¤‚© - •Ô‚è’l - ³‹K•\Œ»ƒIƒuƒWƒFƒNƒg - ƒTƒ“ƒvƒ‹ - - ³‹K•\Œ» (VBScript.RegExp) - - - ¨ ³‹K•\Œ» - - ƒ\[ƒX - - ¨ vbslib.vbs - - new Regular Expression - - - - - - - FindStringLines - - - Assert FindStringLines( "abc"+ vbCRLF +"def", "ab", Empty ) = "abc"+ vbCRLF - - - - Function FindStringLines( BeforeString as string, RegularExpression as string or RegExp, Option_ as Empty ) - - •¡”s‚Ì•¶Žš—ñ‚ðA³‹K•\Œ»‚Ń}ƒbƒ`‚·‚és‚¾‚¯‚É‚µ‚Ü‚·B - yˆø”z - BeforeString - RegularExpression - •ÏŠ·‘O‚Ì•¶Žš—ñ - ³‹K•\Œ»‚Ì•¶Žš—ñA‚Ü‚½‚Í - Option_ - Empty ‚Ü‚½‚Í False (=ƒ}ƒbƒ`‚µ‚È‚¢s‚¾‚¯‚É‚·‚é) - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_FindStringLines - - ¨ T_Wildcard.vbs - - - ¨ vbslib.vbs - - •ÏŠ·Œã‚Ì•¶Žš—ñ - •Ô‚è’l - ŠÖ˜A - - ¨ StartReplace - - - ¨ PassThroughLineFilters - - - - Assert FindStringLines( "abc"+ vbCRLF +"def", ".*", Empty ) = "abc"+ vbCRLF +"def" - - ŽQl - - ¨ ³‹K•\Œ» - - - - Set rep = OpenForReplace( "file1.txt", Empty ) rep.Text = FindStringLines( rep.Text, """ERROR""", Empty ) - rep = Empty - - - ¨ Text (ReplaceTextFile1) (OpenForReplace) - - - RegExp ƒIƒuƒWƒFƒNƒg - - - ¨ ³‹K•\Œ» - - - ¨ find (DOS ƒoƒbƒ`ƒtƒ@ƒCƒ‹) - - - ¨ find_c - - - ¨ find - - - ¨ ArrayFromLines - - - ¨ grep ƒRƒ}ƒ“ƒh - - - - - - - - SortStringLines - - - Function SortStringLines( BeforeString as string, IsDuplicated as boolean ) - - ƒeƒXƒg - ƒ\[ƒX - T_FindStringLines - - ¨ T_Wildcard.vbs - - - ¨ vbslib.vbs - - •¡”s‚Ì•¶Žš—ñ‚ðAs’PˆÊ‚Ő®—ñiƒ\[ƒgj‚µ‚Ü‚·B - yˆø”z - BeforeString - IsDuplicated - ®—ñ‘O‚Ì•¶Žš—ñ - d•¡‚·‚és‚ð‚»‚Ì‚Ü‚ÜŽc‚·‚©‚Ç‚¤‚©B False = d•¡‚µ‚½‚ç‚Ps‚É‚·‚é - ®—ñŒã‚Ì•¶Žš—ñ - •Ô‚è’l - - - lines = _ "A"+ vbCRLF +_ - "C"+ vbCRLF +_ - "F"+ vbCRLF +_ - "C" - - lines = SortStringLines( lines, False ) - - Assert lines = _ - "A"+ vbCRLF +_ - "C"+ vbCRLF +_ - "F"+ vbCRLF - - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - - ¨ uniqƒoƒbƒ`ƒtƒ@ƒCƒ‹ Windows Script Programming (Web) - - - ¨ ƒ\[ƒg‚³‚ꂽƒtƒ@ƒCƒ‹‚©‚çd•¡‚µ‚½s‚ðíœ‚·‚é‚É‚Í (Web) - - - ¨ sort (DOS ƒoƒbƒ`ƒtƒ@ƒCƒ‹) - - - ¨ SortLines ƒRƒ}ƒ“ƒh - - - ¨ ArrayFromLines - - - - - - - - GetLeftEndOfLinePosition - - - Function GetLeftEndOfLinePosition( in_Text as string, in_PositionInText as integer ) - - Œ»ÝˆÊ’u‚É‚ ‚és‚̐擪‚̈ʒu‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_Text - in_PositionInText - ‘S‘Ì‚Ì•¶Žš—ñ - Œ»ÝˆÊ’uAæ“ª = 1 - Œ»ÝˆÊ’u‚É‚ ‚és‚̐擪‚̈ʒu - •Ô‚è’l - - - lines = _ "A"+ vbCRLF +_ - "C"+ vbCRLF +_ - "F"+ vbCRLF +_ - "K" - - Assert GetPreviousLinePosition( lines, InStr( lines, "F" ) ) = InStr( lines, "F" ) - Assert GetPreviousLinePosition( lines, InStr( lines, "F" ) + 1 ) = InStr( lines, "F" ) - Assert GetPreviousLinePosition( lines, 1 ) = 1 - - ƒTƒ“ƒvƒ‹ - T_GetPreviousLinePosition - ƒeƒXƒg - - ¨ T_Replace_target.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ GetNextLinePosition - - - ¨ GetPreviousLinePosition - - - - - - - - GetNextLinePosition - - - Function GetNextLinePosition( in_Text as string, in_PositionInText as integer ) - - ‚P‚‰º‚̍s‚̐擪‚̈ʒu‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_Text - in_OverPositionInText - ‘S‘Ì‚Ì•¶Žš—ñ - Œ»ÝˆÊ’uAæ“ª = 1 - ‚P‚‰º‚̍s‚̐擪‚̈ʒuA0=‰º‚̍s‚Í‚È‚¢ - •Ô‚è’l - in_OverPositionInText ˆø”‚ɍs‚Ì“r’†‚̈ʒu‚ðŽw’肵‚½‚Æ‚«‚́A‚»‚ÌŽŸ‚̍s‚̐擪‚ð•Ô‚µ‚Ü‚·Bin_OverPositionInText ˆø”‚ɁAÅIs‚Ì’†‚Ì‚Ç‚±‚©‚ðŽw’肵‚½‚Æ‚«‚́A0 ‚ð•Ô‚µ‚Ü‚·B - in_Test ‚Ì––”ö‚ª‰üs‚Ì‚Æ‚«A‚»‚̉üs‚ÌŽŸ‚Ì•¶Žš‚É‚ ‚és‚́AÅIs‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - - Line1(CR+LF)Line2(CR+LF) - - - - - Line1(CR+LF)Line2 - - - - Line1(CR+LF)(CR+LF) - - - c Line2 ‚ªÅIs - c Line2 ‚ªÅIs - c Line1‚ÌŽŸ‚̍s‚ªÅIs - T_GetPreviousLinePosition - ƒeƒXƒg - - ¨ T_Replace_target.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - GetPreviousLinePosition - - - Function GetPreviousLinePosition( in_Text as string, in_OverPositionInText as integer ) - - ‚P‚ã‚̍s‚̐擪‚̈ʒu‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_Text - in_OverPositionInText - ‘S‘Ì‚Ì•¶Žš—ñ - Œ»ÝˆÊ’uAæ“ª = 1 - ‚P‚ã‚̍s‚̐擪‚̈ʒu - •Ô‚è’l - - - lines = _ "A"+ vbCRLF +_ - "C"+ vbCRLF +_ - "F"+ vbCRLF +_ - "K" - - Assert GetPreviousLinePosition( lines, InStr( lines, "F" ) ) = InStr( lines, "C" ) - Assert GetPreviousLinePosition( lines, InStr( lines, "F" ) + 1 ) = InStr( lines, "F" ) - Assert GetPreviousLinePosition( lines, 1 ) = 0 - - ƒTƒ“ƒvƒ‹ - T_GetPreviousLinePosition - ƒeƒXƒg - - ¨ T_Replace_target.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ FindStringLines - - in_OverPositionInText ˆø”‚ɍs‚Ì“r’†‚̈ʒu‚ðŽw’肵‚½‚Æ‚«‚́A‚»‚̍s‚̐擪‚ð•Ô‚µ‚Ü‚·Bin_OverPositionInText ˆø”‚É 1 iæ“ªj ‚ðŽw’肵‚½‚Æ‚«‚́A0 ‚ð•Ô‚µ‚Ü‚·B - - - - - - - StringStream ƒNƒ‰ƒX - •¶Žš—ñ‚ð - - TextStream - - ‚Æ“¯‚¶‚悤‚ɃAƒNƒZƒX‚µ‚Ü‚·B - .SetString( Str as string ) - .ReadLine - .AtEndOfStream - 1s“ü—Í‚µ‚Ü‚·B TextStream ŒÝŠ· - ‚·‚ׂēü—Í‚µ‚½‚©‚Ç‚¤‚©B TextStream ŒÝŠ· - ‘S‘Ì‚Ì•¶Žš—ñ‚ðÝ’肵Aƒtƒ@ƒCƒ‹ƒ|ƒCƒ“ƒ^‚ðæ“ª‚É–ß‚·B - - - Set file = new StringStream - file.SetString "123" +vbCRLF+ "456" - - Do Until file.AtEndOfStream() - echo file.ReadLine() ' ‰üs(vbCR+vbLF)‚ÍŠÜ‚Ü‚È‚¢ - Loop - - file = Empty - - ƒeƒXƒg - - ¨ T_Replace_target.vbs - - ‰üs•¶Žš‚́AvbLF ‚Å‚à\‚¢‚Ü‚¹‚ñB - .ReadAll - .Write - .WriteLine - ‘S‘Ì‚ð“ü—Í‚µ‚Ü‚·B TextStream ŒÝŠ· - •¶Žš—ñ‚ðo—Í‚µ‚Ü‚·B TextStream ŒÝŠ· - ‚Ps‚ðo—Í‚µ‚Ü‚·B TextStream ŒÝŠ· - o—Í‚µ‚½•¶Žš—ñ‚́AReadAll ‚Ŏ擾‚Å‚«‚Ü‚·BWrite ‚µ‚½‚à‚Ì‚ðæ“ª‚©‚ç Read ‚·‚é‚Æ‚«‚́AReadAll ‚µ‚½‚à‚Ì‚ð SetString ‚µ‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹ - •¶Žš—ñ‚©‚烊[ƒh‚·‚é - - - Set file = new StringStream - file.WriteLine "123" - file.WriteLine "456" - - Assert file.ReadAll() = "123"+ vbCRLF +"456"+ vbCRLF - - file = Empty - - •¶Žš—ñ‚Öƒ‰ƒCƒg‚·‚é - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - .IsWithLineFeed - ƒŠ[ƒh‚·‚é‚Ps‚Ì––”ö‚ɉüsƒR[ƒh‚ðŠÜ‚ß‚é - ‰üs•¶Žš‚ðˆÛŽ‚·‚é‚Æ‚«‚́AIsWithLineFeed = True ‚É‚µ‚Ä ReadLine ¨ Write ‚µ‚Ä‚­‚¾‚³‚¢B - - SplitLineAndCRLF - - ‚ðŽg‚¦‚΁A‰üs•¶Žš‚𕪂¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ŠÖ˜A - - ¨ FindStringLines - - .Line - ŽŸ‚ɃŠ[ƒh‚·‚és”ԍ†i‚P`j - ƒvƒƒpƒeƒB - - ¨ ArrayFromLines - - T_StringStream - - ¨ GetPreviousLinePosition - - .ReadingLineFeed - ‰üs•¶ŽšB‰Šú’l‚Í vbLF iLF or CR+LFjBvbCRLF ‚Ì‚Æ‚«‚́ALF ‚͍s‚ÉŠÜ‚Þ - - - - - - - ŠÖ˜A - - ¨ (CSV) ArrayFromCSV, ArrayFromCSV_Int - - - ¨ XmlAttr - - - ¨ OpenForReplace - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚µ‚Ü‚·B - " " ‚ÅˆÍ‚Þ XML ‚Ì‘®«’l‚É•ÏŠ·‚µ‚Ü‚·B - CSV Œ`Ž®‚Ì‚Ps‚ð”z—ñ‚ÉŠi”[‚·‚éB - - ¨ ƒtƒ@ƒCƒ‹–¼EƒpƒX - - - ¨ IsWildcard - - - ¨ CutCRLF - - ‰üs•¶Žš‚ðíœ‚µ‚Ü‚·B - - ¨ StringStream ƒNƒ‰ƒX - - •¶Žš—ñ TextStream - - ¨ GetTextFromClipboard - - ƒNƒŠƒbƒvƒ{[ƒh‚©‚當Žš—ñ‚ðŽæ“¾‚µ‚Ü‚· - - ¨ GetLineCount - - s”‚ðƒJƒEƒ“ƒg‚µ‚Ü‚· - - ¨ ToRegExpPattern - - ³‹K•\Œ»‚ÅŽg‚í‚ê‚郁ƒ^•¶Žš‚àŒŸõ‚Å‚«‚é‚悤‚É•ÏŠ·‚µ‚Ü‚·B - - - - - - - “ú•t (Date) - - - - - - - TestableNow - - - Function TestableNow() as Date - - ƒeƒXƒg‚ÉŽg‚¦‚錻Ý‚Ì“úŽž‚Å‚·B - yˆø”z - •Ô‚è’l - Œ»Ý‚Ì“úŽžA‚Ü‚½‚́A - ŠÖ˜A - ƒ\[ƒX - - ¨ Now ŠÖ” - - - ¨ new_TestableNow - - - new_TestableNow - - ‚̐ݒè’l - - ¨ vbslib.vbs - - - - - - - - new_TestableNow - - - Function new_TestableNow( a_Date as Date ) as TestableNowClass - - ‚ª•Ô‚·’l‚ðÝ’肵‚Ü‚·B - yˆø”z - a_Date - TestableNow ‚ª•Ô‚·’l - - TestableNow - - íœ‚µ‚½‚Æ‚«‚ɁATestableNow ‚ª•Ô‚·’l‚ðŒ»Ý“úŽž‚É–ß‚·ƒIƒuƒWƒFƒNƒg - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Set tn = new_TestableNow( DateSerial( 2014, 1, 1 ) ) - echo TestableNow() - - tn = Empty - - - ¨ Date Œ^ - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - IsTimeOnlyDate - - - Function IsTimeOnlyDate( aDateTime as Date ) as boolean - - Date Œ^‚Ì’l‚ªA“ú•tŽw’è‚Ì‚È‚¢Žž‚¾‚¯‚Ì’l‚Å‚ ‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - IsTimeOnlyDate( CDate("2009/1/1") ) = False IsTimeOnlyDate( CDate("13:00") ) = True - - - (src) - - - - - - - - DateAddStr - - - Function DateAddStr( BaseDate as Date, Plus as string ) as Date - - “ú•tŽž‚̉ÁŒ¸ŽZ‚ð‚µ‚Ü‚·B - - - d = DateAddStr( CDate("2009/1/1"), "+1month 10days" ) '// d = CDate("2009/2/11")t = DateAddStr( CDate("17:00"), "-8hours" ) '// t = CDate("9:00") - t = DateAddStr( CDate("10:00"), "+1hours -5min" ) '// t = CDate("10:55") - t = DateAddStr( CDate("10:00"), "-1hours -5min" ) '// t = CDate("8:55") - t = DateAddStr( CDate("10:00"), "-1hours 5min" ) '// t = CDate("8:55") - t = DateAddStr( CDate("10:00"), "-1hours +5min" ) '// t = CDate("9:05") - t = DateAddStr( CDate("10:00"), "+2:30" ) '// t = CDate("12:30") - t = DateAddStr( CDate("10:00"), "-2:30" ) '// t = CDate("7:30") - - - (src) - - Plus ˆø” - æ“ª‚́A"+" ‚© "-" ‚ðŽw’肵‚Ü‚·B æ“ª‚Ì "+" ‚© "-" ‚ðÈ—ª‚·‚é‚Æ "+" ‚É‚È‚è‚Ü‚·Bæ“ªˆÈŠO‚Ì "+" ‚© "-" ‚ðÈ—ª‚·‚é‚ƁA‚»‚ê‚Ü‚Å‚Ì "+" ‚© "-" ‚ðˆø‚«Œp‚¬‚Ü‚·B - Žž•ª‚́A00:00 Œ`Ž®‚ÅŽw’è‚Å‚«‚Ü‚·B - ’PˆÊ‚ÉŽw’è‚Å‚«‚éƒL[ƒ[ƒh‚ÍŽŸ‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B - "year", "years", "month", "months", "day", "days""hour", "hours", "minute", "minutes", "min", "second", "seconds", "sec" - - ¨ DateAdd (VBScript) - - ŠÖ˜A - - ¨ ŽžŠÔ‚̉ÁŒ¸ŽZ (clib) - - - ¨ MakeRule_compare - - - ¨ T_Date.vbs # main - - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - echo "“úŽž‚Ì—áF2008/06/11, 14:28:01, -1day, -2hours" echo "Enter ‚̂݁F"+ limit_str_default - limit_str = Input( "“úŽž >" ) - If limit_str = "" Then limit_str = limit_str_default - Select Case Left( limit_str, 1 ) - Case "+", "-" : limit = DateAddStr( Now(), limit_str ) - Case Else : limit = CDate( limit_str ) - End Select - - “úŽž‚Å‚àA·•ªi‚P“ú‘O‚Ȃǁj‚Å‚à‚Å‚«‚é“ü—Í - - - - - - - GetOldestDate - - - Function GetOldestDate() as Date - - Data Œ^‚̍łà‰ß‹Ž‚Ì’l‚ð•Ô‚µ‚Ü‚·B - - (src) - - - - - - - - W3CDTF - - - Function W3CDTF( SourceTimeDate as Date or string ) as string or Date - - “úŽž‚𕶎š—ñiW3C-DTFj‚É•ÏŠ·‚µ‚Ü‚·B ‚Ü‚½‚́A‚»‚Ì‹t•ÏŠ·‚ð‚µ‚Ü‚·B - - (src) - - ƒTƒ“ƒvƒ‹ - - ¨ T_Date.vbs # W3CDTF - - ƒeƒXƒg - - - W3CDTF( CDate( "2001/2/2 1:15" ) ) = "2001-02-02T01:15:00+09:00" W3CDTF( "2001-02-02T01:15:00+09:00" ) = CDate( "2001/02/02 1:15:00" ) - W3CDTF( "2001-02-02T00:00:00Z" ) = CDate( "2001/02/12 9:00" ) - - “ú–{iUTC+9ŽžŠÔj‚̏ꍇ - W3C-DTF, ISO8601 - - - 0000 - - - - 0000-00 - - - - 0000-00-00 - - - - 0000-00-00T00:00+00:00 - - - - 0000-00-00T00:00:00+00:00 - - - - 0000-00-00T00:00:00.0+00:00 - - - - YYYY-MM-DDThh:mm:ss.sTZD - - - - YYYY-MM-DDThh:mm:ssTZD - - - - YYYY-MM-DDThh:mmTZD - - - - YYYY-MM-DD - - - - YYYY-MM - - - - YYYY - - ”NŒŽ“úŽž•ª•b‚ª 1Œ…‚Ì‚Æ‚«‚Í 01 ‚̂悤‚É 0 ‚ð‚‚¯‚邱‚ƁB”N‚Í4Œ…B¬”•”‚͉½Œ…‚Å‚à‚æ‚¢B - Žžihh:mm:ssj‚́AŒ»’n‚ÌŽž‚ð‹Lq‚·‚éB - XML ‚Ȃǂō‘Û“I‚ÉŽg‚¦‚é“úŽž‚Ì•\‹L–@B ƒ^ƒCƒ€ƒ][ƒ“‚ðl—¶‚µ‚Ä‚¢‚éBISO 8601:1988 ‚ÉŠî‚­B XML Schema ‚Ì dateTime Œ^‚æ‚茵–§‚Å’PƒB - W3C‚Ì•W€Žd—l‚Å‚Í‚È‚¢B - TZDiƒ^ƒCƒ€ƒ][ƒ“, TimeZoneDesignator j - ‚́A"Z", "+00:00", "-00:00" ‚Ì‚¢‚¸‚ê‚©B - “úŽž‚ðˆø”‚ÉŽw’肵‚½‚çA•¶Žš—ñ‚ª•Ô‚è‚Ü‚·B•¶Žš—ñ‚ðˆø”‚ÉŽw’肵‚½‚çA“úŽž‚ª•Ô‚è‚Ü‚·B - W3C-DTF ‚Ì•¶Žš—ñ‚́Aƒtƒ@ƒCƒ‹–¼‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB : ‚ð ; ‚É’u‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B - - - - - - - CDateFromEMailDate - - - a_date = CDateFromEMailDate( "Date: Fri, 25 Oct 2013 22:07:30 +0900" ) Assert W3CDTF( a_date ) = "2013-10-25T22:07:30+09:00" - - - - Function CDateFromEMailDate( DateString as string ) as Date - - e-mail (MIME) Œ`Ž®‚Ì“ú•t‚ðAVBScript ‚Ì Date Œ^‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - DateString - •Ô‚è’l - e-mail (MIME) Œ`Ž®‚Ì“ú•t - “ú•t - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ T_Date.vbs - - ƒeƒXƒg - T_EMailDate - - ¨ MIME - - - ¨ vbslib.vbs - - - - - - - - GetMonthNumberFromString - - - Function GetMonthNumberFromString( MonthStr as string ) as integer - - ‚R•¶Žš‚©‚ç‚Ȃ錎‚̉pŒê•\‹L‚ðAŒŽ‚̐”Žš‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - MonthStr - •Ô‚è’l - ‚R•¶Žš‚©‚ç‚Ȃ錎‚̉pŒê•\‹L - ŒŽ‚̐”Žš - - - Assert GetMonthNumberFromString( "Jan" ) = 1 - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ T_Date.vbs - - ƒeƒXƒg - T_GetMonthNumberFromString - - ¨ vbslib.vbs - - - - - - - - ConvertTimeZone - - - Function ConvertTimeZone( DateTime as Date or string, FromTZD as string, ToTZD as string ) as Date or string - - ƒ^ƒCƒ€ƒ][ƒ“‚ð•ÏX‚µ‚½Žž‚ð•Ô‚µ‚Ü‚·B - yˆø”z - DateTime - FromTZD - •ÏX‘O‚ÌŽžB Date Œ^A‚Ü‚½‚Í W3C-DTF Œ`Ž®‚Ì•¶Žš—ñ - •ÏX‘O‚̃^ƒCƒ€ƒ][ƒ“A‚Ü‚½‚Í Empty - ToTZD - •ÏXŒã‚̃^ƒCƒ€ƒ][ƒ“A‚Ü‚½‚Í Empty - - (src) - - •ÏXŒã‚ÌŽžB DateTime ˆø”‚Æ“¯‚¶Œ^iDateŒ^‚Ü‚½‚Í•¶Žš—ñj - •Ô‚è’l - - ¨ TimeZoneDesignator - - ƒTƒ“ƒvƒ‹ - - - ConvertTimeZone( "2002-02-02T11:02:02+09:00", "+09:00", "Z" ) = "2002-02-02T02:02:02Z" ConvertTimeZone( CDate("2:02"), "Z", "+9:00" ) = CDate("11:02") - - - ¨ T_Date.vbs # ConvertTimeZone - - ƒeƒXƒg - DateTime ‚É W3C-DTF ‚ðŽw’è‚·‚é‚Æ‚«‚́AFromTZD ‚Í Empty ‚Ü‚½‚́ADateTime ‚ÉŽw’肵‚½ƒ^ƒCƒ€ƒ][ƒ“‚Æ“¯‚¶ƒ^ƒCƒ€ƒ][ƒ“‚ðŽw’è‚Å‚«‚Ü‚·B - - DateTime ‚É Date Œ^‚ðŽw’è‚·‚é‚Æ‚«‚ɁAFromTZD ‚ð Empty ‚É‚·‚é‚ƁAŒ»Ý OS ‚ɐݒ肳‚ê‚Ä‚¢‚é - ƒ^ƒCƒ€ƒ][ƒ“‚ðŽw’肵‚½‚±‚Æ‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B - - ToTZD ‚É Empty ‚É‚·‚é‚ƁAŒ»Ý OS ‚ɐݒ肳‚ê‚Ä‚¢‚éƒ^ƒCƒ€ƒ][ƒ“‚ðŽw’肵‚½‚±‚Æ‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B - - - - - - - TimeZoneDesignator - - - Function TimeZoneDesignator( MinuteBias as integer ) as string - - W3C-DTF ‚̃^ƒCƒ€ƒ][ƒ“‚Ì•”•ª‚Ì•¶Žš—ñ‚ð•Ô‚µ‚Ü‚·B - yˆø”z - MinuteBias - Žž·B’PˆÊ‚Í•ªB Empty = OS ‚ɐݒ肳‚ê‚Ä‚¢‚éƒ^ƒCƒ€ƒ][ƒ“ - W3C-DTF ‚̃^ƒCƒ€ƒ][ƒ“‚Ì•”•ª - •Ô‚è’l - - (src) - - ƒTƒ“ƒvƒ‹ - - - TimeZoneDesignator( 540 ) = "+09:00" TimeZoneDesignator( Empty ) = "+09:00" '// “ú–{‚̏ꍇ - - - ¨ T_Date.vbs # TimeZoneDesignator - - ƒeƒXƒg - - - - - - - MinusTZD - - - Function MinusTZD( MinuteBias as integer ) as string - - W3C-DTF ‚̃^ƒCƒ€ƒ][ƒ“‚Ì•”•ª‚Ì•¶Žš—ñ‚ðƒ}ƒCƒiƒX‚É‚µ‚Ä•Ô‚µ‚Ü‚·B - yˆø”z - MinuteBias - Žž·B’PˆÊ‚Í•ªB Empty = OS ‚ɐݒ肳‚ê‚Ä‚¢‚éƒ^ƒCƒ€ƒ][ƒ“ - W3C-DTF ‚̃^ƒCƒ€ƒ][ƒ“‚Ì•”•ª‚̃}ƒCƒiƒX - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - MinusTZD( 540 ) = "-09:00" MinusTZD( Empty ) = "-09:00" '// “ú–{‚̏ꍇ - - - ¨ T_Date.vbs # MinusTZD - - ƒeƒXƒg - - (src) - - Minus Time Zone Disignator - - - - - - - BenchStart - - - Sub BenchStart() - - ‘S‘̂̏ˆ—ŽžŠÔ‚ÌŒv‘ª‚ðŠJŽn‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - BenchStartFor Each x In Items - Bench 1 - '// ƒZƒNƒVƒ‡ƒ“‚P‚ÌŒv‘ª‹æŠÔ - Bench 2 - '// ƒZƒNƒVƒ‡ƒ“‚Q‚ÌŒv‘ª‹æŠÔ - Bench 0 - Next - BenchEnd - Pause - - ƒTƒ“ƒvƒ‹ - - - Benchmark Result:Sampling Count = 1401 - Elapsed Time = 0.151(sec) - Max is Section 2 - Section 1: 3times 0.032(sec) - Section 2: 3times 0.102(sec) - - Œv‘ªŒ‹‰Ê‚Ì•\Ž¦—á - ƒeƒXƒg - - ¨ T_Date.vbs # T_Bench - - - (src) - - ƒTƒ“ƒvƒ‹ - - - Sub Main() BenchStart - Bench 1 - '// ƒZƒNƒVƒ‡ƒ“‚P‚ÌŒv‘ª‹æŠÔ - Bench 2 - '// ƒZƒNƒVƒ‡ƒ“‚Q‚ÌŒv‘ª‹æŠÔ - Bench 0 - '// Œv‘ª‘ΏۊO - BenchEnd '// •\Ž¦ - Pause - End Sub - - Œv‘ªŒ‹‰Ê‚Ì•\Ž¦—á - - - Benchmark Result:Sampling Count = 3 - Elapsed Time = 0.022(sec) - Max is Section 1 - Section 1: 1times 0.012(sec) - Section 2: 1times 0.010(sec) - - - ¨ «”\‚̃{ƒgƒ‹ƒlƒbƒN‚ðŒŸo‚Å‚«‚é vbslib 4 - livedoor BlogiƒuƒƒOj (Web) - - ŽQl - - - - - - - Bench - - - Sub Bench( SectionNum as integer ) - - ƒZƒNƒVƒ‡ƒ“i‘S‘Ì‚Ì’†‚̈ꕔ‚Ì‹æŠÔj‚̏ˆ—ŽžŠÔ‚ÌŒv‘ª‚ðŠJŽn‚µ‚Ü‚·B - ŽQl - yˆø”z - SectionNum - ƒZƒNƒVƒ‡ƒ“‚ÌŽ¯•Ê”ԍ† - Œv‘ª‚·‚éƒZƒNƒVƒ‡ƒ“‚ÌŠJŽnˆÊ’u‚ɁASectionNum ‚É‚PˆÈã‚Ì’l‚ðŽw’肵‚āABench ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢BŒv‘ª‚·‚éƒZƒNƒVƒ‡ƒ“‚̏I—¹ˆÊ’u‚ɁASectionNum ‚É‚O‚ðŽw’肵‚āABench ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - Œv‘ª‚·‚éƒZƒNƒVƒ‡ƒ“‚̏I—¹ˆÊ’u‚ªAŽŸ‚̃ZƒNƒVƒ‡ƒ“‚ÌŠJŽnˆÊ’u‚Å‚ ‚é‚Æ‚«‚́ASectionNum ‚É‚O‚ðŽw’è - ‚µ‚È‚­‚Ä‚àAŽŸ‚̃ZƒNƒVƒ‡ƒ“‚ÌŽ¯•Ê”ԍ†‚ðŽw’è‚Å‚«‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - (src) - - - ¨ BenchStart - - - - - - - - BenchEnd - ŽQl - - - Sub BenchEnd() - - ‘S‘̂̏ˆ—ŽžŠÔ‚ÌŒv‘ª‚ðI—¹‚µAŒv‘ªŒ‹‰Ê‚ð•\Ž¦‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - (src) - - - ¨ BenchStart - - - - - - - - ProgressTimer (g_VBS_Lib) - ƒeƒXƒg - - ¨ T_Date.vbs - - - ¨ vbslib.vbs - - ƒ\[ƒX - - - Dim g_VBS_Lib.ProgressTimer as g_VBS_Lib_ProgressTimerClass - - i’»ó‹µ‚ð•\Ž¦‚·‚éƒIƒuƒWƒFƒNƒgB - ƒTƒ“ƒvƒ‹ - - - Set pr_timer = g_VBS_Lib.ProgressTimerpr_timer.Interval_msec = 100 - Do - If pr_timer.GetShouldShow() Then _ - echo_v "7/20" - Loop - - T_ProgressTimer - ƒf[ƒ^\‘¢ - Interval_msec - Count - MaxCount - ShowFormat - •\Ž¦‚̍XVŠÔŠuiƒ~ƒŠ•bjB ¬‚³‚·‚¬‚é‚Æ’x‚­‚È‚è‚Ü‚·BƒfƒtƒHƒ‹ƒg‚́A1000 ƒ~ƒŠ•bB - ƒJƒEƒ“ƒg’lB 0ˆÈã .MaxCount ˆÈ‰ºB - ƒJƒEƒ“ƒg’l‚̍őå’lBA - •\Ž¦‚̃tƒH[ƒ}ƒbƒgB ˆÈ‰º‚̕ϐ”‚ðŽw’è‚Å‚«‚Ü‚·B - ${Percent} - .Count ~ 100 € .MaxCount - ${Count} - ${MaxCount} - ${Text} - .Count ‚Ì’l - .MaxCount ‚Ì’l - StartAEnd_APlusAShow ƒƒ\ƒbƒh‚Ì in_Text ˆø” - ƒfƒtƒHƒ‹ƒgF " ${Percent}% ${Count}/${MaxCount} ${Text}" - •\Ž¦‚̃^ƒCƒ~ƒ“ƒO‚¾‚¯Œ©‚éê‡ - - - Set pr_timer = g_VBS_Lib.ProgressTimer pr_timer.Start Empty, 12, 100, "" - Do Until pr_timer.Count >= pr_timer.MaxCount - Sleep 50 '// Do Anything - - pr_timer.Plus +1, Empty - Loop - pr_timer.End_ "" - - 12‰ñ‚̃‹[ƒv‚̐i’»‚ð 100ƒ~ƒŠ•b‚²‚Æ‚É•\Ž¦‚·‚éê‡ - ƒTƒ“ƒvƒ‹ - ƒOƒ[ƒoƒ‹‚É‚P‚‚¾‚¯‘¶Ý‚µ‚Ü‚·B - - Start - - - - - - - - Start (g_VBS_Lib.ProgressTimer) - - - Sub g_VBS_Lib_ProgressTimerClass::Start( in_ShowFormat as string, _ in_MaxCount as integer, in_Interval_msec as integer, in_Text as string ) - - i’»ó‹µ‚ð•\Ž¦‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - in_ShowFormat - in_MaxCount - ‚ɐݒ肷‚é’l - ‚ɐݒ肷‚é’l - in_Interval_msec - ‚ɐݒ肷‚é’l - - ShowFormat ƒvƒƒpƒeƒB - - in_Text - - MaxCount ƒvƒƒpƒeƒB - - - Interval_msec ƒvƒƒpƒeƒB - - ‚Ì ${Text} ‚©‚ç’u‚«Š·‚¦‚镶Žš—ñ - - ShowFormat ƒvƒƒpƒeƒB - - in_Text ‚É Empty ‚ðŽw’肵‚½‚Æ‚«‚́AŠJŽn‚µ‚½‚·‚®‚É‚Í•\Ž¦‚ð‚µ‚Ü‚¹‚ñB - - - - - - - End_ (g_VBS_Lib.ProgressTimer) - - - Sub g_VBS_Lib_ProgressTimerClass::End_( in_Text as string ) - - •\Ž¦‚·‚éƒ^ƒCƒ~ƒ“ƒO‚Å‚Í‚È‚¢‚Æ‚«‚ɃJƒEƒ“ƒg’l‚ªÅ‘å’l‚É‚È‚Á‚½‚Æ‚«‚Ì‚½‚߂ɁA•\Ž¦‚µ‚Ü‚·B - yˆø”z - in_Text - ‚Ì ${Text} ‚©‚ç’u‚«Š·‚¦‚镶Žš—ñ - - ShowFormat ƒvƒƒpƒeƒB - - - Start - - ` End_ ‚́AƒlƒXƒg‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - Å‚àŠO‘¤‚Ì - ` End_ ˆÈŠO‚́A‰½‚à‚µ‚Ü‚¹‚ñB - - Start - - in_Text ‚É Empty ‚ðŽw’肵‚½‚Æ‚«‚́A•\Ž¦‚ðXV‚µ‚Ü‚¹‚ñB - - - - - - - Plus (g_VBS_Lib.ProgressTimer) - - - Sub g_VBS_Lib_ProgressTimerClass::Plus( in_PlusCount as integer, in_Text as string ) - - i’»ó‹µ‚̃JƒEƒ“ƒg’l‚ðƒvƒ‰ƒX‚µ‚āA•\Ž¦‚·‚éƒ^ƒCƒ~ƒ“ƒO‚¾‚Á‚½‚çA•\Ž¦“à—e‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - in_PlusCount - in_Text - ƒJƒEƒ“ƒg’l‚ðƒvƒ‰ƒX‚·‚é’l - ‚Ì ${Text} ‚©‚ç’u‚«Š·‚¦‚镶Žš—ñ - - ShowFormat ƒvƒƒpƒeƒB - - - - - - - - GetShouldShow (g_VBS_Lib.ProgressTimer) - - - Function g_VBS_Lib_ProgressTimerClass::GetShouldShow() as boolean - - •\Ž¦‚·‚éƒ^ƒCƒ~ƒ“ƒO‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - - - - - - ƒƒ‚ - Reset ƒƒ\ƒbƒh‚Í”pŽ~B ƒlƒXƒg‚Å‚«‚È‚¢‚½‚߁B - - - - - - - IsSame - - - Function IsSame( Left, Right ) as boolean - - = ‚Æ‚Ù‚Ú“¯‚¶‚Å‚·‚ªAEmpty, Null ‚Æ "" ‚ð”äŠr‚µ‚Ä‚à False ‚ð•Ô‚µ‚Ü‚·B - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Arr.vbs - - T_IsSame - - ¨ vbslib.vbs - - - - - - - - Add - ƒeƒXƒg - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Arr.vbs - - T_AddArray - - - Function Add( Operand1 as type1, Operand2 as type1 ) as type1 - - ‰ÁŽZ‚µ‚Ü‚·B - type1 ‚́AˆÈ‰º‚ÌŒ^‚ðŽw’è‚Å‚«‚Ü‚·B - E + ‰‰ŽZŽq‚ªŽg‚¦‚éŒ^i”’lŒ^A•¶Žš—ñŒ^j - E”z—ñŒ^ - - - - - - - CalculateVariables - - - Set vars = CreateObject( "Scripting.Dictionary" ) vars.Item( "a" ) = 2 - Assert CalculateVariables( "a + 3", vars ) = 5 - - - - Function CalculateVariables( Formula as string, Variables as dictionary ) as variant - - •¶Žš—ñ‚Å•\Œ»‚³‚ꂽŒvŽZŽ®‚ðŒvŽZ‚µ‚Ü‚·B - yˆø”z - Formula - Variables - ŒvŽZŽ®B VBScript ‚Ì•¶–@‚Å•\Œ»‚µ‚½‚à‚Ì - ŒvŽZŽ®‚ÅŽg‚¦‚é•Ï”‚̏W‡ - •Ô‚è’l - ŒvŽZŒ‹‰Ê - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ŠÖ˜A - ƒeƒXƒg - "a + 3" - ƒTƒ“ƒvƒ‹ - - (src) - - ŒvŽZŽ®‚ɁAVariables ˆø”‚ÉŽw’肵‚½•Ï”‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B•Ï”‚Ì’l‚́A”’l‚¾‚¯‚Å‚È‚­A•¶Žš—ñ‚âƒIƒuƒWƒFƒNƒg‚àŽw’è‚Å‚«‚Ü‚·B - - ¨ Execute - - - ¨ T_Calc.vbs # [T_Calc] - - •Ï”‚Ì’l‚ª•¶Žš—ñŒ^‚Å‚ ‚Á‚Ä‚àA”’l‚Æ‚µ‚ÄŒvŽZ‚µ‚Ü‚·B•Ï”‚Ì’l‚ª‘¼‚̕ϐ”‚ÌŽQÆ‚É‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - Set vars = CreateObject( "Scripting.Dictionary" ) vars.Item( "a" ) = 2 - vars.Item( "b" ) = "3" - vars.Item( "c" ) = "b" - Assert CalculateVariables( "a + b + c", vars ) = 8 - - - ¨ Eval - - - - - - - - NestPos ƒNƒ‰ƒX - - - Set pos = new NestPos - '// pos.PosArr = Array( 0 ) - - pos.Start '// pos.PosArr = Array( 1, 0 ) - pos.End_ '// pos.PosArr = Array( 1 ) - - pos.Start '// pos.PosArr = Array( 2, 0 ) - pos.Start '// pos.PosArr = Array( 2, 1, 0 ) - pos.End_ '// pos.PosArr = Array( 2, 1 ) - pos.End_ '// pos.PosArr = Array( 2 ) - - ˆ—‡˜‚É‚¨‚¯‚éƒlƒXƒgi“ü‚êŽqj‚̈ʒu‚ðƒJƒEƒ“ƒgEƒAƒbƒv‚µ‚Ü‚·B - - - Dim NestPos::PosArr as Array of integer - - .PosArr - .Start - - - Sub NestPos::Start() - - .End_ - - - Sub NestPos::End_() - - Œ»Ý‚̃lƒXƒg‚̈ʒuB”z—ñ”ԍ†‚́AƒlƒXƒg‚̐[‚³‚ɑΉž‚µ‚Ü‚·B - ƒuƒƒbƒN‚ÌŠJŽnBƒJƒEƒ“ƒgEƒAƒbƒv‚µ‚āA”z—ñ‚Ì—v‘f‚ð1‚‘‚₵‚Ü‚·B - ƒuƒƒbƒN‚̏I—¹B”z—ñ‚Ì—v‘f‚ð1‚ÂŒ¸‚炵‚Ü‚·B - - (src) - - - - - - - - ƒIƒuƒWƒFƒNƒg - - ¨ get_Object - - - ¨ get_ObjectFromFile - - - ¨ get_ObjectsFromFile - - - ¨ include_objs - - - ¨ LetSet - - - ¨ get_DefineInfoObject - - - ¨ get_NameDelegator - - - ¨ new_ObjectFromStream - - - ¨ new_ObjectsFromStream - - - ¨ new_X - - - ¨ NameOnlyClass - - - ¨ DefaultFunction - - - ¨ LifeGroupClass - - - ¨ EventRespondersClass - - ƒIƒuƒWƒFƒNƒg‚©‚Ç‚¤‚©‚É‚æ‚Á‚āAOut = In_ ‚Ü‚½‚Í Set Out = In_ ‚ð‚µ‚Ü‚·B - Ã“IƒIƒuƒWƒFƒNƒg i‚Ü‚½‚͉‰ŽZŠí“I‚ȃIƒuƒWƒFƒNƒgj ‚ðŽæ“¾‚µ‚Ü‚·B - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚āAÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚µ‚Ü‚·B - Ã“IƒIƒuƒWƒFƒNƒgEƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ð‚·‚×‚ÄŽæ“¾‚µ‚Ĉꗗ‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - Ã“IƒIƒuƒWƒFƒNƒgEƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ü‚·B - ’Pƒ‚È DefineInfo ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - Žw’è‚̃Cƒ“ƒ^[ƒtƒF[ƒX‚ðŽ‚Á‚½AÃ“I‚Ȉê”Ê–¼ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚µ‚Ü‚·B - ƒXƒgƒŠ[ƒ€‚©‚çAƒIƒuƒWƒFƒNƒg‚ð‚P‚¶¬‚µ‚Ü‚·B - ƒXƒgƒŠ[ƒ€‚©‚çAƒIƒuƒWƒFƒNƒg‚ð‚¢‚­‚‚©¶¬‚µ‚āA”z—ñ‚ÉŠi”[‚µ‚Ü‚·B - •¶Žš—ñ‚ÅŽw’肵‚½–¼‘O‚̃Nƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - Name •Ï”‚ƁADelegate •Ï”‚̑ΉžŠÖŒW‚ð•\‚·ƒNƒ‰ƒX‚Å‚·B - ‰½‚à‚µ‚È‚¢ƒR[ƒ‹ƒoƒbƒNŠÖ”‚Ì–{‘́B - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ðŠÇ—‚µ‚Ü‚·B - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚çƒR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚̏W‡B - - - - - - - LetSet - - - Sub LetSet( Out as variant, In_ as variant ) - - In_ ‚ªƒIƒuƒWƒFƒNƒg‚©‚Ç‚¤‚©‚É‚æ‚Á‚āAOut = In_ ‚Ü‚½‚Í Set Out = In_ ‚ð‚µ‚Ü‚·B - - - If IsObject( In_ ) Then Set Out = In_ Else Out = In_ - - ˆê”ʂɁALetSet ‚ðŒÄ‚яo‚·‚æ‚èAIsObject ‚Å”»’èiã‹L‚̃R[ƒhj‚ð‹Lq‚µ‚½•û‚ª‚‘¬‚Å‚·‚ªAIn_ ‚Ɋ֐”‚â Dictionary::Item ‚Ȃǂ̏d‚¢ˆ—‚ð‹Lq‚·‚é‚Æ‚«‚́A‚»‚̏d‚¢ˆ—‚ð - 2“xŽÀs‚³‚¹‚È‚¢LetSet ‚Ì•û‚ª‚‘¬‚Å‚·B - ŽÀ‘•F - ƒTƒ“ƒvƒ‹F - - - LetSet v, dic("name") '//[out] v - - - ¨ T_Var.vbs - - ƒeƒXƒg - T_LetSet - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - - ¨ LetSetWithBracket - - ŠÖ˜A - - ¨ GetDicItem - - ‘ã“üæ‚ª”z—ñA‚Ü‚½‚́AŽ«‘‚Ì‚Æ‚« - ‘ã“üŒ³‚ªŽ«‘‚Ì‚Æ‚« - - - - - - - LetSetWithBracket - - - Sub LetSetWithBracket( out_Collection as variant, in_Index as variant, in_Item as variant ) - - ”z—ñA‚Ü‚½‚́AŽ«‘‚Ì—v‘f‚É“o˜^‚µ‚Ü‚·B - - - LetSetWithBracket dic, "key", 1 - - - ¨ T_Var.vbs - - ƒeƒXƒg - T_LetSet - ƒ\[ƒX - - ¨ vbs_inc_sub.vbs - - ”z—ñA‚Ü‚½‚́AŽ«‘‚É‘ã“ü‚·‚é‚Æ‚«‚Ì - - LetSet - - ‚Å‚·B - ŠÖ˜A - - ¨ GetDicItem - - ‰º‹L‚Ì‚Ç‚¿‚ç‚©‚̃R[ƒh‚É‘Š“–‚µ‚Ü‚·B - - - out_Collection( in_Index ) = in_Item - - - - Set out_Collection( in_Index ) = in_Item - - ƒTƒ“ƒvƒ‹ - - ¨ GetDicItem - - yˆø”z - out_Collection - in_Index - i“üo—́j ”z—ñ ‚Ü‚½‚Í Ž«‘A( ) ‚Å—v‘f‚ɃAƒNƒZƒX‚Å‚«‚éƒRƒŒƒNƒVƒ‡ƒ“ - ”z—ñ”ԍ† ‚Ü‚½‚Í Ž«‘‚̃L[ - in_Item - ”z—ñ ‚Ü‚½‚Í Ž«‘‚ɒljÁ‚·‚é’l iƒIƒuƒWƒFƒNƒg ‚Ü‚½‚Í ”ñƒIƒuƒWƒFƒNƒgj - - ¨ Dic_addElem - - - - - - - - get_Object - - - Function get_Object( Name as string ) as Object - - Ã“IƒIƒuƒWƒFƒNƒg i‚Ü‚½‚͉‰ŽZŠí“I‚ȃIƒuƒWƒFƒNƒgj ‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - Name - Žæ“¾‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX–¼ - •Ô‚è’l - ƒIƒuƒWƒFƒNƒg - ƒTƒ“ƒvƒ‹F - - ¨ get_ClassA, get_Object : Ã“IƒIƒuƒWƒFƒNƒgA‰‰ŽZŠí—v‹ - - ŠÖ˜A - - - Dim name : name = "ClassA" Dim obj : Set obj = get_Object( name ) - - - - Dim g_ClassA - Function get_ClassA() '// has_interface_of ClassI - If IsEmpty( g_ClassA ) Then _ - Set g_ClassA = new ClassA : ErrCheck - Set get_ClassA = g_ClassA - End Function - - get_Object ‚́A‹@”\“I‚ɂ́A"get_" + Name ‚̊֐”‚ðŒÄ‚яo‚·‚¾‚¯‚Ȃ̂ŁA•Ê“rŠÖ”‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - ‚½‚Æ‚¦‚΁AName = "ClassA" ‚È‚çAget_ClassA ‚̊֐”‚ªŒÄ‚΂ê‚Ü‚·B - ClassI - ClassA - ClassA - ClassA - ClassA - ClassA - ClassA - ClassA - - (src) - - Name ‚ª•Ï”‚Å‚Í‚È‚¢‚Æ‚«‚́A’¼Ú get_ClassA ‚ðŒÄ‚яo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - Dim obj : Set obj = get_ClassA() - - new ‚ŃIƒuƒWƒFƒNƒg‚𐶐¬‚·‚é‚ƁAget_ClassA ‚Ŏ擾‚Å‚«‚éƒIƒuƒWƒFƒNƒg‚ƕʂ̃Cƒ“ƒXƒ^ƒ“ƒX‚É‚È‚è‚Ü‚·B - Name ‚ª“®“I‚É•Ï‚í‚邱‚Æ‚ª‚È‚¢‚Æ‚«‚́Aget_ClassA ŠÖ”‚𒼐ڌĂяo‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ T_GetObject.vbs [T_IncludeObjs1] - - ƒeƒXƒg - Ã“IƒIƒuƒWƒFƒNƒg‚ª–³‚¯‚ê‚΁AƒGƒ‰[‚É‚È‚è‚Ü‚·B - - - - - - - get_ObjectFromFile - - - Function get_ObjectFromFile( ModulePath as string, Name as string ) as Object - - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚āAÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - ModulePath - Name - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚̃pƒX - Žæ“¾‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX–¼ - •Ô‚è’l - Žæ“¾‚µ‚½ƒIƒuƒWƒFƒNƒg - - - Dim m : Set m = get_ObjectFromFile( "Lib\SampleLib.vbs", "Sample" ) - - ƒTƒ“ƒvƒ‹F SampleLib.vbs ƒtƒ@ƒCƒ‹‚Å’è‹`‚³‚ê‚Ä‚¢‚é Sample ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚éB - ã‹LƒTƒ“ƒvƒ‹‚́A‰º‹L‚Æ“¯‚¶‚Å‚·B - - - include "Lib\SampleLib.vbs" Dim m : Set m = get_Sample() - - ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚é•”•ª‚́A‹@”\“I‚ɂ́A"get_" + Name ‚̊֐”‚ðŒÄ‚яo‚·‚¾‚¯‚Ȃ̂ŁAƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚Ì’†‚ŁA•Ê“rŠÖ”‚ð’è‹`‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ŽQl - - ¨ get_Object - - - (src) - - - ¨ T_GetObject.vbs get_ObjectFromFile [T_NewModule] - - ƒeƒXƒg - - - - - - - get_ObjectsFromFile - - (src) - - - - Sub get_ObjectsFromFile( GetFuncs as string or Array of Function, InterfaceName as string, out_Objs as Array of Object ) - - Ã“IƒIƒuƒWƒFƒNƒgEƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ð‚·‚×‚ÄŽæ“¾‚µ‚Ĉꗗ‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - yˆø”z - GetFuncs - InterfaceName - ƒXƒNƒŠƒvƒg‚̃pƒXA‚Ü‚½‚Í include_objs ‚Ì out_GetFuncs - Empty ‚Ü‚½‚́AŽæ“¾‚·‚éƒIƒuƒWƒFƒNƒg‚ªŽ‚ƒCƒ“ƒ^[ƒtƒF[ƒX - out_Objs - Žæ“¾‚µ‚½ƒIƒuƒWƒFƒNƒg‚Ì”z—ñ - - - get_ObjectsFromFile "Lib\*_obj.vbs", "ClassI", m_Objs '// [out] m_Objs - - ƒTƒ“ƒvƒ‹F ƒCƒ“ƒNƒ‹[ƒh‚Æ“¯Žž‚ɁAÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚é - - - include_objs "Lib\*_obj.vbs", Empty, m_CreateFuncs '// [out] m_CreateFuncs get_ObjectsFromFile m_CreateFuncs, "ClassI", m_Objs '// [out] m_Objs - - ƒTƒ“ƒvƒ‹F ƒCƒ“ƒNƒ‹[ƒh‚µ‚½Œã‚ŁAÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚éiƒtƒ@ƒCƒ‹‚𑖍¸‚µ‚È‚¢j - - - Sub get_StaticObjects( InterfaceName, out_Obj ) If IsEmpty( InterfaceName ) or InterfaceName = "ClassI" Then - Set out_Obj = get_ClassA() - ElseIf InterfaceName = "ClassI2" Then - out_Obj = Array( get_ClassA(), get_ClassB() ) - End If - End Sub - - Ã“IƒIƒuƒWƒFƒNƒg‚ðˆê——‚Å‚«‚é‚悤‚É‚·‚é‚ɂ́A‚»‚ꂼ‚ê‚̃XƒNƒŠƒvƒg‚ŁAget_StaticObjectsŠÖ”‚ð’è‹`‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B get_ObjectsFromFile ‚â include_objs ‚́A•Ê‚̃XƒNƒŠƒvƒg - ƒtƒ@ƒCƒ‹‚Å‚ ‚ê‚΁A“¯‚¶ŠÖ”–¼‚Å‚àˆÙ‚È‚éŠÖ”ƒCƒ“ƒXƒ^ƒ“ƒX‚É‚È‚è‚Ü‚·B - - ¨ get_StaticObjects : Ã“IƒIƒuƒWƒFƒNƒg - - ŽQl - - ¨ T_GetObject.vbs [T_IncludeObjs2] [T_IncludeObjs3] - - ƒeƒXƒg - - - - - - - new_X - - ¨ –¼‘OŽQÆ (vbsool) - - ŽQl - - - Function new_X( Name as string ) as object - - •¶Žš—ñ‚ÅŽw’肵‚½–¼‘O‚̃Nƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - - Function new_ClassA() Set new_ClassA = new ClassA - End Function - - ‹@”\“I‚ɂ́A"new_" + Name ‚̊֐”‚ðŒÄ‚яo‚·‚¾‚¯‚Ȃ̂ŁA•Ê“rŠÖ”‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B‚½‚Æ‚¦‚΁AName = "ClassA" ‚È‚çAnew_ClassA ‚̊֐”‚ªŒÄ‚΂ê‚Ü‚·B - - (src) - - ‚½‚¾‚µA‘½‚­‚̏ꍇAget_Object ‚Ì•û‚ª“K‚µ‚Ä‚¢‚邱‚Æ‚ª‘½‚¢‚̂ŁAget_Object ‚ðŽg‚¤‚±‚Æ‚ðŒŸ“¢‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ get_Object - - ƒTƒ“ƒvƒ‹F - - - Dim obj : Set obj = new_X( "ClassA" ) - - - - - - - - include_objs - - - Sub include_objs( Wildcard as string, Flags as Empty, out_GetFuncs as Array of Funcion ) - - Ã“IƒIƒuƒWƒFƒNƒgEƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ü‚·B - yˆø”z - Wildcard - Flags - ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_ƒpƒX - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - out_GetFuncs - EmptyA‚Ü‚½‚́AÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚éŠÖ”‚̏W‡ - out_CreateFuncs ‚ª Empty ‚Å‚Í‚È‚¢‚Æ‚«‚̃Tƒ“ƒvƒ‹ - include_objs ‚́AƒCƒ“ƒNƒ‹[ƒh‚̂ݍs‚¢‚Ü‚·B ƒIƒuƒWƒFƒNƒg‚̐¶¬‚́Anew ‚Ő¶¬‚·‚é‚©Aget_ObjectsFromFile ‚ōs‚¢‚Ü‚·B - - (src) - - ƒTƒ“ƒvƒ‹F Lib ƒtƒHƒ‹ƒ_‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚āA‚»‚Ì’†‚Å’è‹`‚³‚ꂽ ClassA ƒIƒuƒWƒFƒNƒg‚𐶐¬‚·‚éB - - - include_objs "Lib\*_obj.vbs", Empty, Empty Set obj : Set obj = new ClassA : ErrCheck - - - ¨ new_X_array - - Flags = Empty ‚©‚ out_GetFuncs = Empty ‚È‚çAinclude ‚Å‘ã—p‚Å‚«‚Ü‚·B - ŠÖ˜A - - ¨ include - - out_GetFuncs ‚́AÃ“IƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚éŠÖ”‚̏W‡‚Å‚·B get_ObjectsFromFile ‚Ì‘æ1ˆø”‚É“n‚·‚ƁA•¶Žš—ñ‚ð“n‚µ‚½‚Æ‚«‚æ‚荂‘¬‚ɏˆ—‚µ‚Ü‚·B - - ¨ T_GetObject.vbs [T_IncludeObjs1c] - - ƒeƒXƒg - - ¨ T_GetObject.vbs [T_IncludeObjs3] - - - ¨ T_GetObject.vbs [T_IncludeObjsMulti] - - - ¨ T_GetObject.vbs [T_IncludeObjsMulti_NoWild] - - - ¨ T_GetObject.vbs [T_IncludeObjsEmptyArray] - - - - - - - - get_DefineInfoObject - - - Sub get_DefineInfoObject( in_out_Object as DefineInfoClass, FullPath as string ) - - ’Pƒ‚È DefineInfo ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - ¨ DefineInfo ƒvƒƒpƒeƒB (vbsool) - - ŽQl - DefineInfo ƒIƒuƒWƒFƒNƒg‚É FullPath ƒvƒƒpƒeƒB‚µ‚©•K—v‚È‚¢‚Æ‚«‚Ì‚ÝŽg‚¦‚Ü‚·B‘¼‚̃vƒƒpƒeƒB‚ª‚ ‚é‚Æ‚«‚́A - - (src) - - - - Dim g_SrcPathIf IsEmpty( g_SrcPath ) Then MsgBox "This is vbslib object file." : WScript.Quit - Dim g_Sample_vbs : get_DefineInfoObject g_Sample_vbs, g_SrcPath - '// g_Sample_vbs.FullPath - - ƒTƒ“ƒvƒ‹F - - g_SrcPath - - - ¨ DefineInfo ƒvƒƒpƒeƒB (vbsool) - - - - - - - - get_NameDelegator - - - Function get_NameDelegator( Name as string, TrueName as string, InterfaceName as string ) as InterfaceName_Delegator - - Žw’è‚̃Cƒ“ƒ^[ƒtƒF[ƒX‚ðŽ‚Á‚½A³Ž®–¼ƒIƒuƒWƒFƒNƒg‚ɈϏ÷‚·‚éAÃ“I‚Ȉê”Ê–¼ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - Name - TrueName - ˆê”Ê–¼B Žæ“¾‚·‚éƒIƒuƒWƒFƒNƒg‚Ì Name ƒvƒƒpƒeƒB - ³Ž®–¼B Žæ“¾‚·‚éƒIƒuƒWƒFƒNƒg‚̈Ϗ÷æ (*1) - InterfaceName - ˆê”Ê–¼ƒIƒuƒWƒFƒNƒg‚Ɛ³Ž®–¼`‚ª‹¤’Ê‚ÉŽ‚AƒCƒ“ƒ^[ƒtƒF[ƒX‚Ì–¼‘O (*2) - - (src) - - ˆê”Ê–¼ƒIƒuƒWƒFƒNƒg (*3) - •Ô‚è’l - (*2) - (*3) - - NameDelegator ƒCƒ“ƒ^[ƒtƒF[ƒX - - Name ‚Æ TrueName ‚Ì‘g‚ݍ‡‚킹‚ª‰‚ß‚Ä‚Ì‚Æ‚«‚́Aget_NameDelegator ‚Ì“à•”‚ŁAnew_(InterfaceName)_Delegator ŠÖ”‚ðŒÄ‚яo‚µ‚āAƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - •Ô‚è’l‚Æ‚È‚éƒIƒuƒWƒFƒNƒg‚ɃAƒNƒZƒX‚·‚é‚ƁAName ƒvƒƒpƒeƒB‚ƃIƒuƒWƒFƒNƒg‚ÌŽÀ‘̂̈Ⴂ‚ðœ‚¯‚΁A - ³Ž®–¼ƒIƒuƒWƒFƒNƒg‚ɃAƒNƒZƒX‚µ‚Ü‚·B - i‚±‚±‚ł͈ê”Ê–¼ƒIƒuƒWƒFƒNƒgj‚𐶐¬‚·‚邱‚Æ‚ª‚Å‚«‚éAnew_(InterfaceName)_Delegator ŠÖ”‚ª’è‹`‚³‚ê‚Ä‚¢‚邱‚ƁB ŽQlFnew_X - ‚ƁA(InterfaceName) ƒCƒ“ƒ^[ƒtƒF[ƒX‚ðŽ‚Á‚½ƒCƒ“ƒXƒ^ƒ“ƒX - NameDelegator ƒCƒ“ƒ^[ƒtƒF[ƒX - - - Class NameDelegator '// defined_as_interface Public Name - Public Property Get TrueName() : TrueName = NameDelegator_getTrueName( Me ) : End Property - Public m_Delegate ' as ClassA or ClassB or string(before validated) - Public Property Get DefineInfo() : Set DefineInfo = m_Delegate.DefineInfo : End Property - End Class - - Const F_ValidateOnlyDelegate = &h40000000 - Dim g_bNeedValidateDelegate - Function NameDelegator_getTrueName( m ) - Sub NameDelegator_validate( m, Flags ) - Function NameDelegator_getXML( m ) - - DefineInfo ƒvƒƒpƒeƒB‚́AƒIƒvƒVƒ‡ƒ“‚Å‚·B - Public Property Get DefineInfo() : Set DefineInfo = m_Delegate.DefineInfo : End Property - - ¨ DefineInfo ƒvƒƒpƒeƒB - - ƒeƒXƒg - - ¨ T_NameDelegator_vbslib ƒtƒHƒ‹ƒ_ - - ŽQÆ - - ¨ –¼‘OŽQÆAName ‚Æ TrueName ‚ª‘½‘΂P‚̏ꍇ - - - - - - - - - - - - ê–ÊA‚̊֐” - - - - - - - - - - - - - - - - Name ˆÈŠO‚Í - ŽQÆ - - - ê–ÊA‚Å‚Ì Name - - - - ê–ÊB‚Å‚Ì Name - - - - ‚ ‚é‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX - - TrueNamei³Ž®–¼j - ClassI_Delegator ƒNƒ‰ƒXiˆê”Ê–¼j - - - ê–ÊB‚̊֐” - - - ˆÏ÷ - - - - ClassI - - - - - - - - - ClassI - - - ClassB - - ClassI - - - ClassA - - Name = "ClassN", TrueName = "ClassA" - Name = "ClassN", TrueName = "ClassB" - - - ˆê”Ê–¼‚Å‘I‘ð - - - - - - - - - - - - - ¨ ƒIƒuƒWƒFƒNƒg‚Ì Name ‚Æ TrueName - - ŽQÆ - ˆê”Ê–¼‚Ɛ³Ž®–¼‚ÌŠÖŒW‚́A‚P‘Α½A‚Ü‚½‚́A‘½‘΂P‚ª‚ ‚è‚Ü‚·B - (*1) - (InterfaceName) ƒCƒ“ƒ^[ƒtƒF[ƒX‚ðŽ‚Á‚½AÃ“I‚Ȑ³Ž®–¼ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«‚éget_(TrueName) ŠÖ”‚ª’è‹`‚³‚ê‚Ä‚¢‚邱‚ƁB ŽQlFget_Object - get_NameDelegator ŠÖ”‚́A‚à‚Ì‚Å‚·B get_NameDelegator ŠÖ”‚́Aget_(ˆê”Ê–¼) ŠÖ”‚Ì“à•”‚©‚ç‚̂݌Ă΂ê‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - get_Object ŠÖ” - - ‚Ì“à•”‚ŌĂ΂ê‚é get_(ˆê”Ê–¼) ŠÖ”‚ÌŽÀ‘•‚ðŽx‰‡‚·‚é - ƒTƒ“ƒvƒ‹F - - - Function get_GeneralObject() Set get_GeneralObject = get_NameDelegator( "GeneralObject", "TrueName", "InterfaceName" ) - End Function - - Function get_TrueName() : ... : End Function - Function new_InterfaceName_Delegator() : ... : End Function - - •Ô‚è’l‚Æ‚È‚éˆê”Ê–¼ƒIƒuƒWƒFƒNƒg‚́AName ƒvƒƒpƒeƒB‚ƈϏ÷Œ³‚Æ‚È‚éƒIƒuƒWƒFƒNƒg‚ÌŽÀ‘̂̈Ⴂ‚ðœ‚¯‚΁A“¯‚¶‚P‚‚̐³Ž®–¼ƒIƒuƒWƒFƒNƒg‚Æ‚µ‚Ĉµ‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B ŽQlF ‰º‹L‚̐}‚́u‚ ‚é‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒXv - - - - - - - new_ObjectFromStream - - (src) - - - - Sub new_ObjectFromStream( out_Obj as object, ClassName as string, Stream as variant ) - - ƒXƒgƒŠ[ƒ€‚©‚çAƒIƒuƒWƒFƒNƒg‚ð‚P‚¶¬‚µ‚Ü‚·B - yˆø”z - out_Obj - ClassName - io—́j ƒXƒgƒŠ[ƒ€‚©‚琶¬‚µ‚½‚P‚‚̃IƒuƒWƒFƒNƒgA‚Ü‚½‚Í Empty - ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX–¼ (‰º‹L) - Stream - XML ƒXƒgƒŠ[ƒ€ (‰º‹L) - ClassName ˆø” - XML ‚̃^ƒO–¼‚ªƒNƒ‰ƒX–¼‚ɑΉž‚µ‚Ü‚·BXML ‚̃^ƒO‚Ì’†‚Ì‘®«‚܂ňê’v‚·‚éƒf[ƒ^‚ðŒ³‚ÉƒIƒuƒWƒFƒNƒg‚𐶐¬‚·‚é‚Æ‚«‚́A - XPath ‚Æ“¯—l‚ɉº‹L‚̂悤‚É‚µ‚Ü‚·B - - - Set xml = LoadXML( "Sample.xml", Empty )new_ObjectFromStream obj, "ClassA[@attr='value']", xml - - ŽQl - - ¨ XPath ‚Ì [@name='value'] i‘®«‚Ì’lj - - - - <Root><ClassA attr="value" ... /></Root> - - VBScript ƒR[ƒh - XMLƒf[ƒ^ - Stream ˆø” - - ChangeToXml - - ‚̈ø”‚ÉŽw’è‚Å‚«‚é‚à‚Ì‚ðŽw’è‚Å‚«‚Ü‚·B - new_X ‚ɑΉž‚µ‚½ŠÖ”‚̏€”õ - “à•”‚ŁAnew_X ‚ðŒÄ‚яo‚µ‚Ä‚¢‚Ü‚·B new_X ‚ðŽg‚¤‚Ì‚É•K—v‚Ȋ֐”‚ð—pˆÓ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ‚½‚Æ‚¦‚΁AABC ƒNƒ‰ƒX‚È‚çAnew_ABC ŠÖ”‚ª•K—v‚Å‚·B - - ¨ new_X - - ŽQl - ƒeƒXƒg - - ¨ T_ObjectFromStream ƒtƒHƒ‹ƒ_ - - - - - - - - new_ObjectsFromStream - - (src) - - - - Sub new_ObjectsFromStream( out_Objs as array of object, ClassName as string, Stream as variant ) - - ƒXƒgƒŠ[ƒ€‚©‚çAƒIƒuƒWƒFƒNƒg‚ð‚¢‚­‚‚©¶¬‚µ‚āA”z—ñ‚ÉŠi”[‚µ‚Ü‚·B - yˆø”z - out_Objs - ClassName - io—́j ƒXƒgƒŠ[ƒ€‚©‚琶¬‚µ‚½ƒIƒuƒWƒFƒNƒg‚ª“ü‚Á‚½”z—ñ - ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX–¼ - Stream - XML ƒXƒgƒŠ[ƒ€ - ‚P‚‚àƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚È‚©‚Á‚½‚Æ‚«‚Å‚àAout_Objs ‚É‚Í”z—ñ‚ªŠi”[‚³‚ê‚Ü‚·B - ClassName, Stream ‚ɂ‚¢‚ẮA - - ¨ new_ObjectFromStream - - ƒeƒXƒg - - ¨ T_ObjectFromStream ƒtƒHƒ‹ƒ_ - - - - - - - - NameOnlyClass - - - Class NameOnlyClass Public Name - Public Delegate - End Class - - Name •Ï”i”CˆÓ‚ÌŒ^‚ÌŽ¯•Ê’lj‚ƁADelegate •Ï”iŽw‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Ȃǁj‚̑ΉžŠÖŒW‚ð•\‚·ƒNƒ‰ƒX‚Å‚·B - Delegate •Ï”‚ðŽg‚킸‚ɁAName ‚¾‚¯‚̃IƒuƒWƒFƒNƒg‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B - - (src) - - - ¨ ArrayToNameOnlyClassArray - - ŠÖ˜A - - ¨ JoinedClass - - - xml ƒvƒƒpƒeƒB - - ‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B - - - - - - - new_NameOnlyClass - - - Function new_NameOnlyClass( in_Name as string, in_Delegate as variant ) as NameOnlyClass - - NameOnlyClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - (src) - - - - - - - - JoinedClass - - - Class JoinedClass Public Left - Public Right - End Class - - - (src) - - - ¨ ArrayClass - - ”z—ñ”ԍ† 0 ‚Æ 1 ‚őΉžŠÖŒW‚ð•\‚·‚±‚Æ‚ª‚Å‚«‚Ü‚· - - ¨ PointerPairClass (clib) - - ŠÖ˜A - Left •Ï”‚Ì’l‚Æ Right •Ï”‚Ì’l‚̑ΉžŠÖŒW‚ð•\‚·ƒNƒ‰ƒX‚Å‚·B - - ¨ NameOnlyClass - - - ¨ pair - cpprefjp - C++ Library Reference (Web) - - - - - - - - new_JoinedClass - - - Function new_JoinedClass( Left as variant, Right as variant ) as JoinedClass - - JoinedClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - Left - Right - ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚Ì Left ƒvƒƒpƒeƒB‚ɐݒ肷‚é’l - ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚Ì Right ƒvƒƒpƒeƒB‚ɐݒ肷‚é’l - •Ô‚è’l - ¶¬‚³‚ꂽ JoinedClass ‚̃IƒuƒWƒFƒNƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ JoinedClass - - - - - - - - g_ObjectIDs - ƒIƒuƒWƒFƒNƒg‚ɐ”’l‚Ì ID ‚ðŠ„‚è“–‚āAID ‚©‚çƒIƒuƒWƒFƒNƒg‚ªŽæ“¾‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - - - Set root = new SampleRootClass Set element = new SampleElementClass - - '// Link - element.RootObjectID = root.ObjectID - Set root.Element = element - - '// Call a method - element.Method - - - Class SampleRootClass - Public ObjectID - Public Element - - Private Sub Class_Initialize() - Me.ObjectID = g_ObjectIDs.Add( Me ) - End Sub - - Private Sub Class_Terminate() - g_ObjectIDs.Remove Me.ObjectID - End Sub - End Class - - Class SampleElementClass - Public RootObjectID - - Public Sub Method() - Set root = g_ObjectIDs( Me.RootObjectID ) - End Sub - End Class - - ƒTƒ“ƒvƒ‹ - - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ‚«‚Ì Class_Terminate - - ‚ªŠú‘Ò’Ê‚è‚É“®ì‚·‚é‚悤‚É‚È‚è‚Ü‚·B - - - SampleRootClass - - - - SampleElementClass - - - - - - - - - - - - Element ƒƒ“ƒo[ - RootObjectID ƒƒ“ƒo[ ig_ObjectIDs Œo—Rj - g_ObjectIDs - g_ObjectIDs - g_ObjectIDs - - ¨ vbslib.vbs - - ƒ\[ƒX - .Add - .Remove - .Item - V‹K ID ‚ðŽæ“¾‚µ‚Ü‚· - ID ‚ð•Ô‹p‚µ‚Ü‚· - Add ‚Å‚«‚éÅ‘吔A“¯Žž‚É‘¶Ý‚Å‚«‚é ID ‚̐”‚Í 0x7FFE ‚Å‚·B“¯Žž‚É‘¶Ý‚Å‚«‚é ID ‚̐”‚ð’´‚¦‚āARemove ‚Æ Add ‚ðŒJ‚è•Ô‚·‚ƁA•Ô‹p‚³‚ꂽ ID ‚ðÄ—˜—p‚µ‚Ü‚·B - “¯‚¶ƒIƒuƒWƒFƒNƒg‚É•¡”‚Ì ID ‚ªŠ„‚è“–‚Ä‚ç‚ê‚éó‹µ‚É‚È‚Á‚Ä‚àAƒGƒ‰[‚É‚Í‚È‚è‚Ü‚¹‚ñB - “n‚³‚ꂽ ID ‚ɑΉž‚·‚éƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚· - - ¨ ObjectSetClass - - ŠÖ˜A - - - - - - - LifeGroupClass - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚āA“KØ‚É - - - - - - - - - Š‘®ƒIƒuƒWƒFƒNƒgiƒ‹[ƒgˆÈŠOj - - - - - - - - - - - - - - - - - - - - - Š‘®ƒIƒuƒWƒFƒNƒgiƒ‹[ƒgj - - - - - - - - - - - - - - - - LifeGroup - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ƒnƒ“ƒhƒ‹iƒ‹[ƒgˆÈŠO‚ցj as LifeHandleClass - - - p - p - - - - - - - - - - - - - - - - - - - - - - - - - - - - ƒnƒ“ƒhƒ‹iƒ‹[ƒg‚ցj - - - - ¨ ƒOƒ‹[ƒv‚̃‹[ƒg‚̐¶¬ - - - ¨ ƒOƒ‹[ƒv‚̃ƒ“ƒo[‚̐¶¬ - - - DestroyReferences - - - - ƒ†[ƒU[‚̕ϐ” - - - - ƒ†[ƒU[‚̕ϐ” - - Š‘®ƒIƒuƒWƒFƒNƒg‚̃ƒ“ƒo[•Ï”‚⃁ƒ\ƒbƒh‚ɃAƒNƒZƒX‚·‚é‚Æ‚«‚́Aƒnƒ“ƒhƒ‹‚̃ƒ“ƒo[•Ï” p ‚ð‰î‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - ‘ŠŒÝŽQÆ - ŠÖ˜A - - ¨ ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ‚«‚Ì Class_Terminate - - - ¨ ƒK[ƒx[ƒWƒRƒŒƒNƒVƒ‡ƒ“ (GC) - - ŽQl - ˆê”ʂɁAŠÖ”‚ªI—¹‚µ‚½‚Æ‚«‚ɃIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ä‚¢‚é•Ï”‚ª‚È‚­‚È‚é‚ƁAƒK[ƒx[ƒWƒRƒŒƒNƒ^[ - (1) - (2) - (3) - (4) - (5) - (7) - (6) - “à•”‚Å‘ŠŒÝŽQÆ‚·‚éƒOƒ‹[ƒv‚É LifeGroupClass ‚ðŽg‚¤‚Ɖº‹L‚̐}‚̂悤‚ȍ\¬‚É‚È‚è‚Ü‚·BƒOƒ‹[ƒv‚ɏŠ‘®‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Ì Class_Terminate ‚ªŒÄ‚яo‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚́A - ƒOƒ‹[ƒv‚ɏŠ‘®‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒgiƒ‹[ƒg ƒIƒuƒWƒFƒNƒg‚àŠÜ‚ށj‚ðŽQÆ‚·‚é‚·‚ׂẴnƒ“ƒhƒ‹‚ªA - ‚·‚ׂẴ†[ƒU[‚̕ϐ”‚©‚çŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚Æ‚«‚Å‚·B - ( ) ‚Ì’†‚̐”Žš‚́Aíœ‚³‚ê‚鏇”Ô‚Å‚·B - (1) ‚Æ (3)A(2) ‚Æ (4)A(5) ‚Æ (7) ‚̏‡”Ô‚Í“ü‚ê‘Ö‚í‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - (1) ‚¾‚¯‚ªíœ‚³‚ꂽ‚Æ‚«‚́A(3)‚ªíœ‚³‚ê‚é‚܂ŁA(4)ˆÈ~‚̃IƒuƒWƒFƒNƒg‚ÍŽc‚è‚Ü‚·B - ‚É‚æ‚Á‚Ä - ƒvƒƒOƒ‰ƒ€I—¹Žž‚ɌĂ΂ê‚Ü‚·B LifeGroupClass ‚́A‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Å‚à Class_Terminate ‚ªŒÄ‚яo‚³‚ê‚é‚悤‚É‚µ‚Ü‚·B - ‚ªŒÄ‚΂ê‚Ü‚·‚ªA‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ Class_Terminate ‚͌Ă΂ê‚Ü‚¹‚ñB - - Class_Terminate - - ‚±‚̂悤‚É‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ƃnƒ“ƒhƒ‹‚̃IƒuƒWƒFƒNƒg‚𕪂¯‚邱‚ƂŁAŽQÆ‚µ‚Ä‚¢‚é•Ï”‚ª‚È‚­‚È‚Á‚½‚±‚Æ‚ðƒnƒ“ƒhƒ‹‚ÅŒŸo‚Å‚«‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B - ƒIƒuƒWƒFƒNƒg ID ‚ðŒo—R‚·‚邱‚Æ‚Å Class_Terminate ‚ðŒÄ‚яo‚· - - - A - - - - B - - - - - - - - - - - - ‘ŠŒÝŽQÆ - - ¨ T_Dic.vbs - - T_LifeGroupClass - - ¨ vbslib.vbs - - ƒeƒXƒg - ƒ\[ƒX - ’ˆÓ - ƒƒ“ƒo[•Ï”‚⃁ƒ\ƒbƒh‚ɃAƒNƒZƒX‚·‚é‚Æ‚«‚́Aƒƒ“ƒo[•Ï” p ‚ð‰î‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - - ¨ ƒOƒ‹[ƒv‚̃‹[ƒg‚ÌŽg—pƒTƒ“ƒvƒ‹ - - - Ž«‘ - - ‚̃L[‚â”z—ñ”ԍ†‚ÅŽQÆ‚·‚邱‚ƂŁA‘ŠŒÝŽQÆ‚ªŒ´ˆö‚Å Class_Terminate ‚ªŒÄ‚΂ê‚È‚­ - ‚È‚éó‹µ‚ð‰ñ”ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - root.p.Member - - Ž«‘‚̃L[‚â”z—ñ”ԍ† - - - - - - - - - - - - - B - - - - A - - ƒIƒuƒWƒFƒNƒg‚Ì Set - - Class_Terminate - - ‚ªŒÄ‚΂ê‚é‚悤‚É‚µ‚Ü‚·B - - ¨ g_ObjectIDs - - p ‚ð‰î‚·‚é•K—v‚ª‚È‚¢‚ªA‘½­ŽèŠÔ‚ª‚©‚©‚郉ƒCƒtƒTƒCƒNƒ‹ŠÇ— - - ¨ DestroyerClass - - - ¨ g_ObjectIDs - - - - - - - - ƒOƒ‹[ƒv‚̃‹[ƒg‚̐¶¬ iLifeGroupClassj - - - Class RootClass Public p '// as RootBodyClass : Target object of this handle - - Private Sub Class_Initialize() - Set group = new LifeGroupClass - group.AddHandle Me, new RootBodyClass - End Sub - - Private Sub Class_Terminate() - If not IsEmpty( Me.p.LifeGroup.Group ) Then _ - Me.p.LifeGroup.Group.AddTerminated Me.p - End Sub - End Class - - Žg—pƒTƒ“ƒvƒ‹ - RootBodyClass - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚̃Oƒ‹[ƒv‚Ì‚¤‚¿AÅ‰‚ɐ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚̃nƒ“ƒhƒ‹‚̃Nƒ‰ƒX‚́A‰º‹L‚̂悤‚É’è‹`‚µ‚Ü‚·B RootBodyClass ‚ðÅ‰‚ɐ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX–¼ - ‚ɕύX‚·‚邱‚ƈȊO‚́A‚»‚Ì‚Ü‚Ü‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - Class RootBodyClass : - Public LifeGroup '// Don't write except for LifeGroupClass ¡’ljÁ - - Public Sub DestroyReferences() '// ¡’ljÁ - Me.Reference = Empty - End Sub - End Class - - Å‰‚ɐ¶¬‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX‚́Aƒƒ“ƒo[•Ï” LifeGroup ‚ƁA - - DestroyReferences ƒƒ\ƒbƒh - - ‚ð’è‹`‚µ‚Ä‚­‚¾‚³‚¢B - - LifeHandleClass - - ’è‹`ƒTƒ“ƒvƒ‹ - - - Set root = new RootClassroot.p.Member - - ‚Æ“¯‚¶ƒƒ“ƒo[‚ðŽ‚¿‚Ü‚·B - - << LifeGroupClass - - ƒOƒ‹[ƒv‚̃‹[ƒgi‰º‹L‚Ì RootClassj‚́A - RootClass - RootBodyClass - Reference - p - ƒƒ“ƒo[•Ï”‚⃁ƒ\ƒbƒh‚ɃAƒNƒZƒX‚·‚é‚Æ‚«‚́Aƒƒ“ƒo[•Ï” p ‚ð‰î‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - c p ‚̒ljÁ‚ª•K—v - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðŽg—p‚·‚éƒR[ƒh‚ɁA‚±‚̕ύX‚ð—v‹‚·‚邱‚Æ‚ª‚Ç‚¤‚µ‚Ä‚à‚Å‚«‚È‚¢‚È‚çAp ‚ð‰î‚·‚¾‚¯‚̃ƒ\ƒbƒh‚âƒvƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚·B - - - DestroyReferences - - - LifeGroupClass - - - AddHandle - - - - - - - - ƒOƒ‹[ƒv‚ɏŠ‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̐¶¬ iLifeGroupClassj - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚̃Oƒ‹[ƒv‚ɏŠ‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̃ƒ\ƒbƒh‚©‚çAƒOƒ‹[ƒv‚ɏŠ‘®‚³‚¹‚éƒIƒuƒWƒFƒNƒg‚ðV‚µ‚­¶¬‚·‚é‚Æ‚«‚́A‰º‹L‚Ì CreateMember ƒƒ\ƒbƒh‚̂悤‚ɁA - ƒOƒ‹[ƒv‚ɒljÁ‚µ‚Ü‚·B ‚»‚¤‚µ‚È‚¯‚ê‚΁AƒOƒ‹[ƒv‚ªíœ‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŁA¶¬‚µ‚½ - ƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚Ä DestroyReferences ‚ªŒÄ‚΂ê‚È‚­‚È‚è‚Ü‚·B - - - Class RootBodyClass : - Public LifeGroup '// Don't write except for LifeGroupClass - - Function CreateMember() - Set CreateMember = Me.LifeGroup.Group.Add( new MemberClass ) - : - End Function - End Class - - ’è‹`ƒTƒ“ƒvƒ‹ - MemberClass - - - Class MemberClass : - Public LifeGroup '// Don't write except for LifeGroupClass ¡’ljÁ - - Public Sub DestroyReferences() '// ¡’ljÁ - Me.Reference = Empty - End Sub - End Class - - ƒOƒ‹[ƒv‚ɏŠ‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX‚́Aƒƒ“ƒo[•Ï” LifeGroup ‚ƁA - ’è‹`ƒTƒ“ƒvƒ‹ - - DestroyReferences ƒƒ\ƒbƒh - - ‚ð’è‹`‚µ‚Ä‚­‚¾‚³‚¢B - - LifeHandleClass - - ‚Å‚·B - CreateMember ƒƒ\ƒbƒh‚Ì•Ô‚è’l‚́A - Žg—pƒTƒ“ƒvƒ‹ - - - Set root = new RootClassSet member = root.p.CreateMember() - - - << LifeGroupClass - - MemberClass - - Add - - ‚·‚®‚É CreateMember ‚Ì•Ô‚è’l‚ðŽQÆ‚µ‚È‚­‚È‚Á‚Ä‚àADestroyReferences ‚ª‚·‚®‚ɌĂ΂ê‚邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB ƒOƒ‹[ƒv‚ɏŠ‘®‚·‚é‚·‚ׂẴIƒuƒWƒFƒNƒg‚ªŽQÆ‚³‚ê‚È‚­‚È‚Á‚½ - ‚Æ‚«‚ɌĂяo‚³‚ê‚Ü‚·B - ƒ‹[ƒg‚̃nƒ“ƒhƒ‹‚ªŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚Æ‚«‚ɁAƒOƒ‹[ƒv‚ɏŠ‘®‚·‚éˆê•”‚̃IƒuƒWƒFƒNƒg‚ª - íœ‚³‚ê‚Ä‚à\‚í‚È‚¢‚Æ‚«‚́Aƒnƒ“ƒhƒ‹‚Ì‘ã‚í‚è‚ɐ¶¬‚µ‚½ƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ä‚à\‚¢‚Ü - ‚¹‚ñB - - - - - - - ƒOƒ‹[ƒv‚ɏŠ‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̏o—Í iLifeGroupClassj - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðo—Í‚·‚é‚Æ‚«‚́A‰º‹L‚Ì SearchMember ƒƒ\ƒbƒh‚̂悤‚ɁA - - LifeHandleClass - - ‚𐶐¬‚µ‚Ä•Ô‚µ‚Ä‚­‚¾‚³‚¢B - - - Class RootBodyClass : - Public LifeGroup '// Don't write except for LifeGroupClass - - Function GetReference() - Set GetReference = Me.LifeGroup.Group.Add( Me.Reference ) - End Function - End Class - - ’è‹`ƒTƒ“ƒvƒ‹ - Žg—pƒTƒ“ƒvƒ‹ - - - Set root = new RootClassSet member = root.p.GetReference() - - - Add (LifeGroupClass) - - ‚ðŒÄ‚яo‚µA - GetReference - ‚½‚¾‚µAƒOƒ‹[ƒv‚Ì’†‚ÅŽQÆ‚·‚é‚Æ‚«‚́ALifeHandleClass ‚𐶐¬‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¯‚ê‚΁Aƒ‹[ƒg‚̃nƒ“ƒhƒ‹‚ªíœ‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŁAƒOƒ‹[ƒv‚ɏŠ‘®‚·‚éˆê•”‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B ƒ‹[ƒg‚̃nƒ“ƒhƒ‹‚ªŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚çAƒOƒ‹[ƒv - ‚ɏŠ‘®‚·‚éˆê•”‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚Ä‚à\‚í‚È‚¢‚Æ‚«‚́ALifeHandleClass ‚𐶐¬ - ‚µ‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - - - - - - - DestroyReferences ƒƒ\ƒbƒh - - - Sub iƒOƒ‹[ƒv‚̂ɏŠ‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒXj::DestroyReferences() - - ‘ŠŒÝŽQÆ‚ðØ‚è‚Ü‚·B - ƒOƒ‹[ƒv‚̃†[ƒU[‚́A–{ƒƒ\ƒbƒh‚𒼐ڌĂяo‚³‚È‚¢‚Å‚­‚¾‚³‚¢B - Class_Terminate ƒƒ\ƒbƒhiƒfƒXƒgƒ‰ƒNƒ^[j‚ªŒÄ‚яo‚³‚ê‚āAƒIƒuƒWƒFƒNƒg‚ª”jŠü‚³‚ê‚é‚悤‚ɁA‘ŠŒÝŽQÆ‚ðØ‚Á‚Ä‚­‚¾‚³‚¢B ‚‚܂èA‘ŠŒÝ‚ÉŽQÆ‚µ‚Ä‚¢‚é - ŠÖŒW‚É‚ ‚郁ƒ“ƒo[•Ï”‚É Empty ‚â Nothing ‚ð‘ã“ü‚µ‚Ä‚­‚¾‚³‚¢B - - << LifeGroupClass - - - AddTerminated (LifeGroupClass) - - ‚©‚çŒÄ‚΂ê‚Ü‚·B - - - Class RootBodyClass : - Function DestroyReferences() - Me.Member = Empty - End Function - End Class - - ’è‹`ƒTƒ“ƒvƒ‹ - - - - - - - LifeHandleClass - - LifeGroupClass - - iƒOƒ‹[ƒvj‚ɏŠ‘®‚·‚éA‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚Å‚«‚éƒnƒ“ƒhƒ‹B - LifeHandleClass ‚ªŽQÆ‚µ‚Ä‚¢‚éA‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðAƒOƒ‹[ƒv‚ÌŠO‚É‚ ‚é•Ï”‚É’¼ÚŠi”[‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B ‚à‚µ‚»‚¤‚µ‚Ä‚µ‚Ü‚¤‚ƁA‚·‚ׂẴnƒ“ƒhƒ‹‚Ö‚ÌŽQÆ‚ª–³‚­‚È‚Á‚½‚Æ‚«‚ɁA - ‘ŠŒÝŽQÆ‚ªØ‚ꂽƒIƒuƒWƒFƒNƒg‚É‚È‚èA³‚µ‚­“®ì‚µ‚È‚­‚È‚è‚Ü‚·B - - ¨ p - - ƒƒ“ƒo[ - - ¨ Class_Terminate - - ¶¬ - - ¨ ƒOƒ‹[ƒv‚̃‹[ƒg‚̐¶¬ - - - ¨ ƒOƒ‹[ƒv‚̃ƒ“ƒo[‚̐¶¬ - - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ü‚·B - - AddTerminated (LifeGroupClass) - - ‚ðŒÄ‚яo‚µ‚Ü‚·B - - << LifeGroupClass - - ƒIƒuƒWƒFƒNƒg‚̃ƒ“ƒo[•Ï”‚⃁ƒ\ƒbƒh‚ɃAƒNƒZƒX‚·‚é‚Æ‚«‚́Aƒƒ“ƒo[•Ï” p ‚ð‰î‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - - - Set root = new RootClassSet member = root.p.CreateMember() '// member as LifeHandleClass - member.p.Method - - ƒTƒ“ƒvƒ‹ - - - - - - - p (LifeHandleClass) - - - Dim LifeHandleClass::p as Object - - ƒOƒ‹[ƒv‚ɏŠ‘®‚µ‚Ä‚¢‚é‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ü‚·B - - << LifeHandleClass - - - ¨ LifeGroupClass - - ŽQl - ƒIƒuƒWƒFƒNƒg‚̃ƒ“ƒo[•Ï”‚⃁ƒ\ƒbƒh‚ɃAƒNƒZƒX‚·‚é‚Æ‚«‚́Aƒnƒ“ƒhƒ‹‚̃ƒ“ƒo[•Ï” p ‚ð‰î‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ‚±‚̂悤‚É‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ƃnƒ“ƒhƒ‹‚̃IƒuƒWƒFƒNƒg‚ð - •ª‚¯‚邱‚ƂŁAŽQÆ‚µ‚Ä‚¢‚é•Ï”‚ª‚È‚­‚È‚Á‚½‚±‚Æ‚ðƒnƒ“ƒhƒ‹‚ÅŒŸo‚Å‚«‚é‚悤‚É‚µ‚Ä‚¢‚Ü‚·B - - - - - - - Class_Terminate (LifeHandleClass) - - - Sub LifeHandleClass::Class_Terminate() - - ƒnƒ“ƒhƒ‹‚ªŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚Æ‚«‚ɁA - - << LifeHandleClass - - - AddTerminated (LifeGroupClass) - - ‚ðŒÄ‚яo‚µ‚Ü‚·B - - - - - - - LifeGroupClass ‚̃ƒ“ƒo[ - - ¨ AddHandle - - - ¨ Add - - - ¨ Remove - - - ¨ AddTerminated - - ƒIƒuƒWƒFƒNƒg‚ðƒOƒ‹[ƒv‚ɒljÁ‚µAƒnƒ“ƒhƒ‹‚©‚çƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚Å‚«‚é‚悤‚É‚µ‚Ü‚· - ƒIƒuƒWƒFƒNƒg‚ðƒOƒ‹[ƒv‚ɒljÁ‚µ‚āA‚»‚̃IƒuƒWƒFƒNƒg‚ðŽQÆ‚·‚éƒnƒ“ƒhƒ‹‚𐶐¬‚µ‚Ü‚· - ƒIƒuƒWƒFƒNƒg‚ðƒOƒ‹[ƒv‚©‚珜ŠO‚µ‚Ü‚· - ƒnƒ“ƒhƒ‹‚©‚çŽQÆ‚³‚ê‚éƒJƒEƒ“ƒ^[‚ðŒ¸‚ç‚µA•K—v‚È‚ç‘ŠŒÝŽQÆ‚ðØ‚è‚Ü‚· - - << LifeGroupClass - - - - - - - - AddHandle (LifeGroupClass) - - - Sub LifeGroupClass::AddHandle( Handle as Object, Object as Object ) - - ƒIƒuƒWƒFƒNƒg‚ðƒOƒ‹[ƒv‚ɒljÁ‚µAƒnƒ“ƒhƒ‹‚©‚çƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - yˆø”z - Handle - iƒ‹[ƒg‚́jƒnƒ“ƒhƒ‹ - ƒnƒ“ƒhƒ‹‚ªŽQÆ‚µ‚悤‚Æ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg - Object - - << LifeGroupClass ‚̃ƒ“ƒo[ - - - - - - - - Add (LifeGroupClass) - - - Function LifeGroupClass::Add( Object as Object ) as LifeHandleClass - - ƒIƒuƒWƒFƒNƒg‚ðƒOƒ‹[ƒv‚ɒljÁ‚µ‚āA‚»‚̃IƒuƒWƒFƒNƒg‚ðŽQÆ‚·‚éƒnƒ“ƒhƒ‹‚𐶐¬‚µ‚Ä•Ô‚µ‚Ü‚·B - yˆø”z - Object - ƒnƒ“ƒhƒ‹‚ªŽQÆ‚µ‚悤‚Æ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg - •Ô‚è’l - ¶¬‚³‚ꂽƒnƒ“ƒhƒ‹ - - << LifeGroupClass ‚̃ƒ“ƒo[ - - - - - - - - Remove (LifeGroupClass) - - - Sub LifeGroupClass::Remove( Object as Object ) - - ƒIƒuƒWƒFƒNƒg‚ðƒOƒ‹[ƒv‚©‚珜ŠO‚µ‚Ü‚·B - yˆø”z - Object - ƒnƒ“ƒhƒ‹‚ªŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg - - << LifeGroupClass ‚̃ƒ“ƒo[ - - - - - - - - AddTerminated (LifeGroupClass) - - - Sub LifeGroupClass::AddTerminated( Object as Object ) - - ƒnƒ“ƒhƒ‹‚©‚çŽQÆ‚³‚ê‚éƒJƒEƒ“ƒ^[‚ðŒ¸‚ç‚µA•K—v‚È‚ç‘ŠŒÝŽQÆ‚ðØ‚è‚Ü‚·B - yˆø”z - Object - ŽQÆ‚³‚ê‚È‚­‚È‚Á‚½ƒnƒ“ƒhƒ‹‚ªŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg - ‘ŠŒÝŽQÆ‚ðØ‚邱‚ƂŁAƒOƒ‹[ƒv‚ɏŠ‘®‚·‚é‚·‚ׂẴIƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚Ü‚·B - Ž©•ªiMej‚àíœ‚³‚ê‚Ü‚·B - ƒOƒ‹[ƒv‚ɏŠ‘®‚·‚éƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚·‚éƒnƒ“ƒhƒ‹‚ª‘¼‚É‚à‚ ‚é‚Æ‚«‚́AObject ‚ðŽQÆ‚µ‚Ä‚¢‚éƒnƒ“ƒhƒ‹‚¾‚¯‚ªíœ‚³‚êAObject ‚ÍŽc‚è‚Ü‚·B - - ¨ LifeGroupClass - - ŽQl - - << LifeGroupClass ‚̃ƒ“ƒo[ - - ƒOƒ‹[ƒv‚̃†[ƒU[‚́A–{ƒƒ\ƒbƒh‚𒼐ڌĂяo‚³‚È‚¢‚Å‚­‚¾‚³‚¢B - ‚©‚çŒÄ‚΂ê‚Ü‚·B - - LifeHandleClass - - ‚Ì - - Class_Terminate - - - - - - - - DestroyerClass - - ¨ T_Dic.vbs - - T_DestroyerClass - - ¨ vbslib.vbs - - ƒeƒXƒg - ƒ\[ƒX - ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚ðíœ‚·‚éƒ^ƒCƒ~ƒ“ƒO‚𐧌䂷‚éƒIƒuƒWƒFƒNƒgBDestroyerClass ‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚é‚Æ‚«‚ɁA‘ŠŒÝŽQÆ‚ðØ‚郁ƒ\ƒbƒh DestroyReferences - ‚ðŒÄ‚яo‚µA‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚½ƒIƒuƒWƒFƒNƒg‚Ì Class_Terminate ‚ªŒÄ‚яo‚³‚ê‚Ü‚·B - - - Case1WScript.echo "End of Main" - Case2 - WScript.echo "End of Main" - WScript.echo "‚à‚µA‚±‚±ˆÈ~‚ŃfƒXƒgƒ‰ƒNƒ^[‚ª“®‚­‚Æ‚«‚́A"+_ - "ƒvƒƒOƒ‰ƒ€I—¹Žž‚É‚·‚ׂẴIƒuƒWƒFƒNƒg‚ðíœ‚·‚é"+_ - "‚±‚Æ‚É‚æ‚éƒfƒXƒgƒ‰ƒNƒ^[ŒÄ‚яo‚µ‚Å‚·B" - - Sub Case1() - WScript.echo vbCRLF +"Case1:" - Set destroyer = new DestroyerClass - Set a_object = new MutualClass : a_object.Name = "a" : destroyer.Add a_object - Set b_object = new MutualClass : b_object.Name = "b" : destroyer.Add b_object - Set a_object.Reference = b_object - Set b_object.Reference = a_object - End Sub - - Sub Case2() - WScript.echo vbCRLF +"Case2:" - Set destroyer = new DestroyerClass - Set a_object = new MutualClass : a_object.Name = "a" - Set b_object = new MutualClass : b_object.Name = "b" - Set a_object.Reference = b_object - Set b_object.Reference = a_object - End Sub - - Class MutualClass - Public Name - Public Reference - Public IsDestroyer '// ¡’ljÁ - - Private Sub Class_Terminate() - WScript.echo Me.Name +".Class_Terminate" - CheckUnderDestroyer Me '// ¡’ljÁ - End Sub - - Public Sub DestroyReferences() '// ¡’ljÁ - Me.Reference = Empty - End Sub - End Class - - ƒTƒ“ƒvƒ‹ - - - - - - - - Destroyer - - - - - - - - - - A - - - - B - - - - - - - - - - - - - - - - - - - - - - - ‘ŠŒÝŽQÆ‚ðØ‚é - ŠÖ”‚ªI—¹‚µ‚½‚Æ‚«‚ɃIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ä‚¢‚é•Ï”‚ª‚È‚­‚È‚é‚ƁAƒK[ƒx[ƒWƒRƒŒƒNƒ^[‚É‚æ‚Á‚ÄClass_Terminate ‚ªŒÄ‚΂ê‚Ü‚·‚ªA‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ Class_Terminate ‚͌Ă΂ê‚Ü‚¹‚ñB - ƒvƒƒOƒ‰ƒ€I—¹Žž‚ɌĂ΂ê‚Ü‚·B DestroyerClass ‚́A‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Å‚à - Class_Terminate ‚ªŒÄ‚΂ê‚é‚悤‚É‚µ‚Ü‚·B - ‘ŠŒÝŽQÆ‚·‚éƒNƒ‰ƒX‚́A‘ŠŒÝŽQÆ‚ðØ‚é DestroyReferences ƒƒ\ƒbƒh‚ƁADestroyerClass ‚É“o˜^‚³‚ê‚é‚Æ True ‚É‚È‚é IsDestroyer ‘®«iƒvƒƒpƒeƒBj‚ðŽÀ‘•‚µ‚Ä‚­‚¾‚³‚¢B ‰º‹LƒTƒ“ƒvƒ‹‚Ì - MutualClass ‚ðŽQÆB - - CheckUnderDestroyer - - - Add - - ŽQl - - ¨ ƒK[ƒx[ƒWƒRƒŒƒNƒVƒ‡ƒ“ (GC) - - DestroyerClass - - ¨ ‘ŠŒÝŽQÆ‚µ‚Ä‚¢‚é‚Æ‚«‚Ì Class_Terminate - - - - Case1:Case1: a.Class_Terminate - Case1: b.Class_Terminate - Case2: - End of Main - ‚à‚µA‚±‚±ˆÈ~‚ŃfƒXƒgƒ‰ƒNƒ^[‚ª“®‚­‚Æ‚«‚́AƒvƒƒOƒ‰ƒ€I—¹Žž‚É‚·‚×‚Ä‚Ì - ƒIƒuƒWƒFƒNƒg‚ðíœ‚·‚邱‚Æ‚É‚æ‚éƒfƒXƒgƒ‰ƒNƒ^[ŒÄ‚яo‚µ‚Å‚·B - Case2: a.Class_Terminate - Case2: b.Class_Terminate - - •\Ž¦—áF - ŠÖ˜A - - ¨ LifeGroupClass - - - LifeGroupClass - - ‚ÌŽg—p‚𐄏§‚µ‚Ü‚·B - ’ˆÓ - DestroyerClass ‚Ì‘ã‚í‚è‚É - - - - - - - Add (DestroyerClass) - - - Sub DestroyerClass::Add( Object as variant ) - - ‘ŠŒÝŽQÆ‚·‚éƒIƒuƒWƒFƒNƒg‚ð“o˜^‚µ‚Ü‚·B - yˆø”z - Object - “o˜^‚·‚éƒIƒuƒWƒFƒNƒg - - << DestroyerClass - - –{ŠÖ”‚́AObject ‚Ì IsDestroyer ‘®«iƒvƒƒpƒeƒBj‚ð True ‚ɐݒ肵‚Ü‚·BDestroyerClass ‚ªíœ‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŁAObject ‚Ì DestroyReferences ƒƒ\ƒbƒh‚ª - ŒÄ‚΂ê‚Ü‚·B - - - - - - - Remove (DestroyerClass) - - - Sub DestroyerClass::Remove( Object as variant ) - - “o˜^‚©‚珜ŠO‚µ‚Ü‚·B - yˆø”z - Object - œŠO‚·‚éƒIƒuƒWƒFƒNƒg - - << DestroyerClass - - DestroyerClass ‚ªíœ‚³‚ê‚é‚Æ‚«‚æ‚è‚à‘‚­íœ‚·‚éƒIƒuƒWƒFƒNƒg‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B–{ŠÖ”‚́AObject ‚Ì IsDestroyer ‘®«iƒvƒƒpƒeƒBj‚ð False ‚ɐݒ肵‚Ü‚·B - - - - - - - CheckUnderDestroyer - - - Sub CheckUnderDestroyer( Object as variant ) - - Destroyer ‚É‚æ‚Á‚ÄŠÇ—‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΁AƒGƒ‰[‚É‚µ‚Ü‚·B - - - - - - - DefaultFunction - - - Sub DefaultFunction( Argument1 as variant ) - - ‰½‚à‚µ‚È‚¢ƒR[ƒ‹ƒoƒbƒNŠÖ”‚Ì–{‘́B - yˆø”z - Argument1 - ‘æ1ˆø”i–³Ž‹‚µ‚Ü‚·j - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ GetRef - - ŽQl - - - - - - - EventRespondersClass - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚çƒR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚̏W‡BƒCƒxƒ“ƒgŠÖ”‚ðŒÄ‚яo‚·ƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚ɁA–{ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðÝ’肵‚Ü‚·B - ŽQl - - ¨ EventResponders : ƒCƒxƒ“ƒg‰ž“š (vbsool) - - - .Add - - - .Remove - - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚Æ‚«‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚ð“o˜^‚µ‚Ü‚·B - ƒR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚ð“o˜^‰ðœ‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - ƒeƒXƒg - - ¨ T_Item_vbslib ƒtƒHƒ‹ƒ_ - - - - ‘‚«‚©‚¯ - - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚Æ‚«‚ɁA“o˜^‚³‚ê‚Ä‚¢‚éƒR[ƒ‹ƒoƒbƒNŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B - - .Calls - - - - –¢‘Ήž - - - - - - - - Add (EventResponders) - - - Sub EventResponders::Add( Func as EventFunction, Responder as variant, Priority as integer ) - - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚Æ‚«‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚ð“o˜^‚µ‚Ü‚·B - yˆø”z - Func - Responder - ƒR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ” - ƒCƒxƒ“ƒg‚ɉž“š‚·‚éƒIƒuƒWƒFƒNƒg - - EventResponders ƒNƒ‰ƒX - - ƒTƒ“ƒvƒ‹ - - - caller_object.OnEventX.Add GetRef( "ResponderClass_OnEventX" ), Me, 1000 - - - ¨ ƒR[ƒ‹ƒoƒbƒN‚³‚ê‚郁ƒ\ƒbƒh‚ðAƒƒ“ƒo[•Ï”‚É“o˜^‚·‚é (vbslib) - - ŽQl - ƒ\[ƒX - - ¨ vbslib.vbs - - Priority - —Dæ“x - Priority ˆø” - 1000 ‚ª•W€BEventResponders ‚̃IƒuƒWƒFƒNƒg‚É“o˜^‚µ‚½•¡”‚̃R[ƒ‹ƒoƒbƒN‚Ì‚¤‚¿A - Priority ‚ª¬‚³‚¢‚à‚Ì‚©‚çæ‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚·B - - ¨ EventFunction - - - - - - - - EventFunction - - - Sub EventFunctionSample( Responder as variant, Caller as variant, Args as variant ) - - ƒCƒxƒ“ƒgŠÖ”B ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚çƒR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚ÌŒ^B - yˆø”z - Responder - Caller - ƒCƒxƒ“ƒg‚ɉž“š‚·‚éƒIƒuƒWƒFƒNƒg - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½ƒIƒuƒWƒFƒNƒg - Args - ƒCƒxƒ“ƒg‚̃pƒ‰ƒ[ƒ^[iƒCƒxƒ“ƒg‚Ì“à—e‚É‚æ‚éj - - - - - - - Remove (EventResponders) - - - caller_object.OnEventX.Remove Me - - - - Sub EventResponders::Remove( Responder as variant ) - - ƒR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”‚ð“o˜^‰ðœ‚µ‚Ü‚·B - yˆø”z - Responder - ƒCƒxƒ“ƒg‚ɉž“š‚·‚éƒIƒuƒWƒFƒNƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - EventResponders ƒNƒ‰ƒX - - - - - - - - Calls (EventResponders) - - - Sub EventResponders::Calls( Caller as variant, Args as variant ) - - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚Æ‚«‚ÉŽg‚¢A“o˜^‚³‚ê‚Ä‚¢‚éƒR[ƒ‹ƒoƒbƒNŠÖ”‚ð‘S‚ČĂяo‚µ‚Ü‚·B - yˆø”z - Caller - Args - ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½ƒIƒuƒWƒFƒNƒg - ƒCƒxƒ“ƒg‚̃pƒ‰ƒ[ƒ^[iƒCƒxƒ“ƒg‚Ì“à—e‚É‚æ‚éj - - EventResponders ƒNƒ‰ƒX - - ƒTƒ“ƒvƒ‹F - - - Me.OnEventX.Calls Me, Empty - - ŽQl - - ¨ ƒCƒxƒ“ƒg‚ª”­¶‚µ‚½‚çA“o˜^‚³‚ê‚Ä‚¢‚郁ƒ\ƒbƒh‚ðŒÄ‚яo‚· (vbsool) - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - ‚»‚Ì‘¼ - - ¨ ErrCheck - - Class_Initialize ‚ŃGƒ‰[‚ª”­¶‚µ‚Ä‚àƒGƒ‰[‚ª”­¶‚µ‚È‚¢–â‘è‚ɑΉž‚µ‚Ü‚·B - - - - - - - CreateGuid - - - Function CreateGuid() as string - - GUID ‚𐶐¬‚µ‚Ü‚·B - - - 2D7E3038-E395-460A-86CC-C8AB3C3D5D54 - - •Ô‚è’l‚Ì—áF - - (src) - - ƒOƒ[ƒoƒ‹•Ï” g_TestModeFlags ‚ɁAF_NotRandom ‚ðÝ’è‚·‚é‚ƁAƒeƒXƒgEƒvƒƒOƒ‰ƒ€—p‚É 00000000-0000-0000-0000-000000000000 ‚©‚珇”Ô‚É - +1 ‚³‚ꂽ’l‚ª•Ô‚è‚Ü‚·B - g_TypeLib = 0 ‚É‚·‚é‚ƁAÄ‚Ñ 1 ‚©‚珇”Ô‚É’l‚ð•Ô‚µ‚Ü‚·B - - - - - - - KeyClass - - - Function KeyClass::IsSame( Key as object ) as boolean - - - - Function KeyClass::SetKey( Key as object ) as object - - ƒL[‚Æ‚È‚éƒIƒuƒWƒFƒNƒg‚ð“o˜^‚µ‚Ü‚·B ˆê“x‚µ‚©“o˜^‚Å‚«‚Ü‚¹‚ñB •Ô‚è’l‚́AKey ‚Å‚·B - ˆÈ‘O“o˜^‚µ‚½ƒL[‚Æ“¯‚¶‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - Dim g_AppKey - Dim AppKey : Set AppKey = new KeyClass ' for Ident only - Set g_AppKey = new KeyClass : g_AppKey.SetKey( AppKey ) - - - - If not g_AppKey.IsSame( AppKey ) Then Err.Raise 1,,"Invalied AppKey" - - ˆÈ‘O“o˜^‚µ‚½“Á’è‚̃IƒuƒWƒFƒNƒg‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·BKeyClass ‚©‚ç“Á’è‚̃IƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚邱‚Æ‚Í‚Å‚«‚È‚¢‚̂ŁAƒOƒ[ƒoƒ‹ƒXƒR[ƒv‚ɁA - KeyClass ƒIƒuƒWƒFƒNƒg‚ð’u‚¢‚Ä‚àA“Á’è‚̃IƒuƒWƒFƒNƒg‚Ö‚ÌŽQÆ‚𕡐»‚·‚邱‚Æ‚©‚çŽç‚è‚Ü‚·B - ŽQl - - ¨ NewWritable (AppKeyClass) - - - - - - - - ŠÖ˜A - - ¨ (CSV) ArrayFromCSV, ArrayFromCSV_Int - - - ¨ (XML) LoadXML - - - ¨ ”’l‰‰ŽZA˜_—‰‰ŽZAƒrƒbƒg‰‰ŽZ - - - ¨ “ú•tAŽžŠÔ - - - ¨ •¶Žš—ñ - - - ¨ ƒNƒ‰ƒX (VBScript) - - - ¨ Dictionary ƒNƒ‰ƒX iƒnƒbƒVƒ…AScripting.Dictionaryj - - - ¨ •Ï”AEmptyAŒ^A”z—ñ - - - ¨ ArrayFromCmdLine - - - ¨ BinaryArray ƒNƒ‰ƒX - - - ¨ FinObj ƒNƒ‰ƒX (FinallyƒuƒƒbƒN) - - - ¨ ƒIƒvƒVƒ‡ƒ“ˆø”Aƒrƒbƒgƒtƒ‰ƒO - - - - - - - - ƒtƒ@ƒCƒ‹‘€ì - - copy - - - del - - - fc - - ƒtƒ@ƒCƒ‹A‚Ü‚½‚̓tƒHƒ‹ƒ_‚ª“¯ˆê‚©‚Ç‚¤‚©‚ð”äŠr‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðíœ‚µ‚Ü‚·B - src ‚©‚ç dst ‚Ƀtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðƒRƒs[‚µ‚Ü‚·B - - mkdir - - ƒtƒHƒ‹ƒ_‚ðì¬‚µ‚Ü‚·B - - cd - - ƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚ðˆÚ“®‚µ‚Ü‚·B - - move - - src ‚©‚ç dst ‚Ƀtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðˆÚ“®‚µ‚Ü‚·B - - exist - - ƒtƒHƒ‹ƒ_‚Ü‚½‚̓tƒ@ƒCƒ‹‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - CreateFile - - - ExpandWildcard - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŽw’肵‚½ƒL[ƒ[ƒh‚ðŠÜ‚ލs‚ð•Ô‚µ‚Ü‚·B - Žw’è‚̃eƒLƒXƒg‚ð“à—e‚Æ‚µ‚½AƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B - ƒƒCƒ‹ƒhƒJ[ƒh‚ð“WŠJ‚µ‚Ü‚·B ƒTƒuEƒtƒHƒ‹ƒ_[‚àŒŸõ‚µ‚Ü‚·B - ‘¼‚É‚à‚ ‚è‚Ü‚·B¶‚̃cƒŠ[‚©‚ç‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B - - ren - - ƒtƒ@ƒCƒ‹–¼‚ð•ÏX‚µ‚Ü‚·B - - GetStepPath - - ‘Š‘΃pƒX‚ð•Ô‚µ‚Ü‚·B - - SetWritableMode - - ‘‚«ž‚݉”\‚ȃtƒHƒ‹ƒ_‚̐ݒèƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - ‘‚«ž‚݉”\‚ȃtƒHƒ‹ƒ_‚ðÝ’肵‚Ü‚·B - ‘‚«ž‚݉”\‚Å‚È‚¢êŠ‚Ƀ‰ƒCƒg‚µ‚½‚Æ‚«‚Ì“®‚«‚ðÝ’肵‚Ü‚·B - - Writables::Enable - - - NewWritable - - - Out of Writable Œx - - ƒXƒNƒŠƒvƒg‚ª‘z’肵‚Ä‚¢‚È‚¢êŠ‚Ƀ‰ƒCƒg‚µ‚½‚Æ‚«‚ÌŒx - - type_ - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•\Ž¦‚µ‚Ü‚·B - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg€‹’ŠÖ” - vbslib ƒIƒŠƒWƒiƒ‹ŠÖ” - - unzip - - ˆ³k(zip)ƒtƒ@ƒCƒ‹‚ð‰ð“€‚µ‚Ü‚·B - - g_fs - - FileSystemObject ‚ðŽQÆ‚·‚éƒOƒ[ƒoƒ‹•Ï”‚Å‚·B - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - ƒeƒXƒg - - ¨ ƒtƒ@ƒCƒ‹‘€ì‚̃eƒXƒg - - - grep - - ƒtƒ@ƒCƒ‹‚𑀍삷‚éŽå‚Ȋ֐”‚ð‰º‚Éˆê——‚µ‚Ü‚·B‚·‚ׂĂ̊֐”‚́A¶‚̃cƒŠ[‚ð“WŠJ‚µ‚Ä‚­‚¾‚³‚¢B - - OpenForRead - - - OpenForWrite - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚«‚Ü‚·BiƒŠ[ƒh—pj - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚«‚Ü‚·Biƒ‰ƒCƒg—pj - - OpenForReplace - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚µ‚Ü‚·B - - GetFullPath - - ƒtƒ‹EƒpƒX‚ð•Ô‚µ‚Ü‚·B - - GetTempPath - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚Ì’†‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - EnumFolderObjectDic - - ƒTƒuƒtƒHƒ‹ƒ_‚̃IƒuƒWƒFƒNƒg‚ð‚‘¬‚ÉŽ«‘‚É—ñ‹“‚µ‚Ü‚·B - - SetBreakByFName - - Žw’肵‚½–¼‘O‚̃tƒ@ƒCƒ‹‚ðƒ‰ƒCƒg‚·‚é‚Æ‚«‚ɃuƒŒ[ƒN‚³‚¹‚Ü‚·B - - IsWriteAccessDenied - - •‰‰×‚ª‚‚¢‚Æ‚«‚É”­¶‚·‚鏑‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ɑΏˆ‚µ‚Ü‚·B - - ƒoƒCƒiƒŠ¬ÝƒeƒLƒXƒg - - ˆê•”‚ªƒoƒCƒiƒŠ‚É‚È‚Á‚Ä‚¢‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B - - ArrayFromCSV - - CSV Œ`Ž®‚Ì‚Ps‚ð‰ðÍ‚µ‚āA”z—ñ‚ÉŠi”[‚µ‚Ü‚·B - - LoadXML - - XML ƒtƒ@ƒCƒ‹A‚Ü‚½‚Í XML Œ`Ž®‚Ì•¶Žš—ñ‚ð“ǂݍž‚Ý‚Ü‚·B - - - - - - - cd - - - Sub cd( Path as string ) - - ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚ð•ÏX‚µ‚Ü‚·B - - ¨ CurDirStack - - - ¨ pushd - - - ¨ popd - - - (src) - - ‘¶Ý‚µ‚È‚¢ƒtƒHƒ‹ƒ_‚ðŽw’è‚·‚é‚ƁAE_WIN32_FILE_NOT_FOUND ƒGƒ‰[‚É‚È‚è‚Ü‚·Bƒtƒ@ƒCƒ‹‚̃pƒX‚ðŽw’è‚·‚é‚ƁAE_WIN32_DIRECTORY ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ŠÖ˜A - - - cd "FolderA" t = ReadFile( "File.txt" ) - - ƒeƒXƒg - - ¨ T_cd_do.vbs # cd - - - - cd g_start_in_path - - - g_start_in_path - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - ¨ CurrentDirectory (Shell) - - ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é FolderA ƒtƒHƒ‹ƒ_[‚ɁAƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚ð•ÏX‚µ‚Ü‚·B File.txt ‚́AFolderA ƒtƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚É‚È‚è‚Ü‚·B - Œ»Ý‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚ðAƒvƒƒZƒX‹N“®Žž‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚ɕύX‚µ‚Ü‚·B - main ŠÖ”A‚Ü‚½‚Í main2 ŠÖ”‚ðŒÄ‚΂ꂽ‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚́AƒvƒƒZƒX‹N“®Žž‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚Å‚Í‚È‚­AƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B - ƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚©‚ç‚Ì‘Š‘΃pƒX‚ðŽw’è‚·‚é‚Æ‚«‚́Acd ŠÖ”‚ðŒÄ‚Ñ - o‚·•K—v‚Í‚ ‚è‚Ü‚¹‚ñB (‚±‚ÌŽd—l‚́Avbslib4 ‚©‚ç) - yˆø”z - Path - V‚µ‚¢ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚̃pƒX - "FolderA" - - ¨ ƒpƒX‚Ì‹Lq•û–@A‘Š‘΃pƒXAƒtƒ‹EƒpƒXAƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_[ - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - ¨ ReplaceFileNameWildcard - - - - - - - - CurDirStack - - - Sub funcA() Dim ds_:Set ds_= new CurDirStack - - cd "sub" - End Sub '// Œ³‚̃tƒHƒ‹ƒ_‚É–ß‚é - - ƒIƒuƒWƒFƒNƒg‚ª”jŠü‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŁAƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚ðŒ³‚É–ß‚·ƒIƒuƒWƒFƒNƒg‚Å‚·B‰º‹L‚̏ꍇAŠÖ” funcA ‚©‚ç•Ô‚é‚ƁACurDirStack ƒIƒuƒWƒFƒNƒg‚̃fƒXƒgƒ‰ƒNƒ^‚ŁAŠÖ”‚É - “ü‚Á‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚É–ß‚è‚Ü‚·B - - ¨ cd - - ŠÖ˜A - - (src) - - ƒeƒXƒg - - ¨ T_cd_do.vbs # CurDirStack - - ƒTƒ“ƒvƒ‹ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - - - - - pushd - - - Sub pushd( dir as string ) - - ƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚ðˆÚ“®‚µ‚Ü‚·B ‚½‚¾‚µApopd ‚Å–ß‚ê‚é‚悤‚É‚µ‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_cd_do.vbs # pushd - - - - pushd "FolderA"popd '// Œ³‚̃tƒHƒ‹ƒ_‚É–ß‚é - - ƒTƒ“ƒvƒ‹ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ŠÖ˜A - - ¨ popd - - - ¨ CurDirStack - - - - - - - - popd - - - Sub popd() - - ƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚ð pushd ‚·‚é‘O‚É–ß‚µ‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_cd_do.vbs # popd - - - - pushd "FolderA"popd '// Œ³‚̃tƒHƒ‹ƒ_‚É–ß‚é - - ƒTƒ“ƒvƒ‹ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ŠÖ˜A - - ¨ pushd - - - - - - - - cd_UpperCaseDrive - - - Sub cd_UpperCaseDrive() - - ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚̃hƒ‰ƒCƒu‚Ì•¶Žš‚ð‘啶Žš‚ɕύX‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - cd "c:\Folder"cd_UpperCaseDrive - Assert g_sh.CurrentDirectory = "C:\Folder" - - - ¨ vbslib.vbs [cd_UpperCaseDrive] - - ƒeƒXƒg - - ¨ T_cd_do.vbs # [T_cd_UpperCaseDrive] - - ƒ\[ƒX - - - - - - - - - - - - - - copy - SrcPath ‚̃tƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðADstFolderPath ƒtƒHƒ‹ƒ_[‚Ì’†‚ɃRƒs[‚µ‚Ü‚·B - - - Sub copy( SrcPath as string, DstFolderPath as string ) - - - ¨ ƒtƒ@ƒCƒ‹ƒRƒs[‚̈ø” iFileSystemObject ‚̏ꍇj - - copy ŠÖ”‚́Aƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚Ì—L–³‚É‚æ‚Á‚Ä“®‚«‚ª•Ï‚í‚ç‚È‚¢‚悤‚É‚·‚邽‚߁AƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì copy ‚â FileSystemObject ‚Ì CopyFile ŠÖ”‚ƁAŽáŠ±“®‚«‚ªˆÙ‚È‚è‚Ü‚·B - ‚µ‚©‚µAƒGƒNƒXƒvƒ[ƒ‰[‚Ȃǂ̈ê”Ê“I‚ȃtƒ@ƒCƒ‰[‚Ì“®‚«‚Æ“¯‚¶‚Å‚·B - DstFolderPath ˆø” - SrcPath ˆø” - a.txt ƒtƒ@ƒCƒ‹ - “®ì - C:\dst_folder - a.txt ‚ð dst_folder ‚ɃRƒs[‚µ‚Ü‚·idst_folder‚ªƒtƒHƒ‹ƒ_‚Ì‚Æ‚«j - C:\dst_folder\a.txt - a.txt ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚āA‚»‚Ì’†‚É a.txt ‚ðƒRƒs[‚µ‚Ü‚· - - ƒtƒHƒ‹ƒ_ aa ‚ðì¬‚µ‚āAaa ƒtƒHƒ‹ƒ_‚Ì’†‚Éaa ƒtƒHƒ‹ƒ_‚ðƒRƒs[‚µ‚Ü‚· - C:\dst_folder\aa - ƒtƒHƒ‹ƒ_ aa ‚ð dst_folder ‚Ì’†‚ɃRƒs[‚µ‚Ü‚· - C:\dst_folder - aa ƒtƒHƒ‹ƒ_[ - C:\dst_folder\bb - ƒƒCƒ‹ƒhƒJ[ƒh - ƒtƒ@ƒCƒ‹‚ƃtƒHƒ‹ƒ_‚ð dst_folder ‚ɃRƒs[‚µ‚Ü‚· - C:\dst_folder - C:\dst_folder\bb - ƒtƒHƒ‹ƒ_ bb ‚ðì¬‚µ‚āA‚»‚Ì’†‚Öƒtƒ@ƒCƒ‹‚ƃtƒHƒ‹ƒ_‚ðƒRƒs[‚µ‚Ü‚·B - ƒtƒHƒ‹ƒ_ bb ‚ðì¬‚µ‚āAbb ƒtƒHƒ‹ƒ_‚Ì’†‚Éaa ƒtƒHƒ‹ƒ_‚ðƒRƒs[‚µ‚Ü‚· - yˆø”z - SrcPath - DstFolderPath - ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹ƒpƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_[ƒpƒX - ƒRƒs[æ‚̃tƒHƒ‹ƒ_[ƒpƒX iƒtƒ@ƒCƒ‹ƒpƒX‚Í•s‰Âj - - - copy "src", "dst"copy "src\*", "dst" - - ƒTƒ“ƒvƒ‹ - src ƒtƒHƒ‹ƒ_[‚Ì“à—e‚ð dst ƒtƒHƒ‹ƒ_[‚Ì’†‚ɃRƒs[‚µ‚Ü‚· - - ¨ vbslib.vbs - - - E_FileNotExist - - ƒGƒ‰[ - SrcPath ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚ªŒ©‚‚©‚ç‚È‚¢ - DstFolderPath ‚ªƒƒbƒN‚³‚ê‚Ä‚¢‚é‚©Aƒtƒ@ƒCƒ‹‚ª‘¶Ý‚·‚é - - E_WriteAccessDenied - - src ƒtƒHƒ‹ƒ_[‚ð dst ƒtƒHƒ‹ƒ_[‚Ì’†‚ɃRƒs[‚µ‚Ü‚· - - ¨ CreateShortcut (Shell) - - - ¨ T_Copy.vbs # [T_Copy] - - ƒeƒXƒg - vbslib3 ‚Ì copy ‚Ì DstFolderPath ‚ÉŽw’肵‚½ƒpƒX‚ªƒtƒHƒ‹ƒ_[‚Å‚Í‚È‚¢‚Æ‚«‚́Aƒtƒ@ƒCƒ‹–¼‚ð•Ï‚¦‚é“®‚«‚Å‚µ‚½‚ªAvbslib4 ‚Ì copy ‚ł́A•K‚¸ DstFolderPath ‚̐V‹KƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚āA - ‚»‚Ì’†‚ÖƒRƒs[‚µ‚Ü‚·B ‚±‚ê‚́AƒGƒNƒXƒvƒ[ƒ‰[‚Ȃǂ̈ê”Ê“I‚ȃtƒ@ƒCƒ‰[‚Ì“®‚«‚Æ“¯‚¶‚Å‚·B - ƒRƒs[‚Æ“¯Žž‚Ƀtƒ@ƒCƒ‹–¼‚ð•Ï‚¦‚鎞‚́Acopy_ren ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - g_Vers("CopyTargetIsFileOrFolder") = 1 - - vbslib ver3 ‚Ƃ̈Ⴂ - ŽQl - - ¨ [T_Writable] - - ŠÖ˜A - ŽQl - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - - ¨ Out of Writable Œx [E_OutOfWritable] - - - ¨ copy_ren - - ƒTƒ“ƒvƒ‹ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - src\* - ƒRƒs[æ‚Ƀtƒ@ƒCƒ‹‚ª‚ ‚Á‚Ä‚àAã‘‚«Šm”F‚ðƒ†[ƒU[‚ɍs‚킸‚ɁAã‘‚«‚µ‚Ü‚·Bƒ†[ƒU[‚ɂ́Aã‘‚«‚·‚éƒtƒHƒ‹ƒ_[‚âƒtƒ@ƒCƒ‹‚̃oƒbƒNƒAƒbƒv‚ð‚Æ‚é‚悤‚ɃKƒCƒh‚µ‚Ä‚­‚¾‚³‚¢B - ƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚·‚é‚Æ‚«ASrcPath ‚̃tƒHƒ‹ƒ_[‚Æ DstFolderPath ‚̃tƒHƒ‹ƒ_[‚ð‘S‚­“¯‚¶ƒtƒ@ƒCƒ‹\¬‚É‚µ‚½‚¢‚Æ‚«‚́ADstFolderPath ‚̃tƒHƒ‹ƒ_[‚ðíœ‚µ‚Ä‚©‚çƒRƒs[‚µ‚Ä‚­‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¯‚ê‚΁ADstFolderPath ‚Ì’†‚É‚ ‚éƒtƒ@ƒCƒ‹‚Æ“¯‚¶êŠ‚É‚ ‚éƒtƒ@ƒCƒ‹‚ª SrcPath ‚Ì - ’†‚É‚É–³‚­‚Ä‚àA‚»‚̃tƒ@ƒCƒ‹‚Í–³‚­‚È‚ç‚È‚¢‚½‚ß‚Å‚·B ‚±‚ê‚́AƒGƒNƒXƒvƒ[ƒ‰[‚Ȃǂ̈ê”Ê“I - ‚ȃtƒ@ƒCƒ‰[‚Ì“®‚«‚Æ“¯‚¶‚Å‚·B - Src - FileA.txt - ƒRƒs[Œ³‚̃tƒHƒ‹ƒ_[ - ƒRƒs[‚·‚é‘O‚̃Rƒs[æ - FileB.txt - Dst - FileA.txt - ƒRƒs[‚µ‚½Œã‚̃Rƒs[æ - Dst - FileB.txt - ’ˆÓ - vbslib ver3 ‚Ì copy ‚âƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì copy ‚Æ“®‚«‚ªˆÙ‚È‚éê‡‚ª‚ ‚è‚Ü‚·Bi‰º‹Lj - - ¨ copy_ex - - - ¨ move - - - ¨ copy_ren - - vbslib3 ‚ō쐬‚µ‚½ƒXƒNƒŠƒvƒg‚ð‚»‚Ì‚Ü‚Ü“®‚©‚·‚ƁADstFolderPath ‚Ƀtƒ@ƒCƒ‹ƒpƒX‚ðŽw’肵‚½ copy ‚́AŽw’肵‚½ƒtƒ@ƒCƒ‹–¼‚Æ“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_‚Ì’†‚ɃRƒs[‚·‚é‚悤‚É‚È‚è‚Ü‚·B ‚µ‚©‚µA - ‚»‚̂܂܁AŽÀs‚𑱂¯‚Ä‚àAŠJ‚±‚¤‚Æ‚·‚éƒtƒ@ƒCƒ‹‚ªƒtƒHƒ‹ƒ_[‚Å‚ ‚邽‚ߊJ‚¯‚È‚¢A‚Æ‚¢‚¤ƒGƒ‰[ - ‚ŃuƒŒ[ƒN‚·‚邽‚߁A‘å‚«‚È–â‘è‚É‚Í‚È‚ç‚È‚¢‚Å‚µ‚傤B ‚Ü‚½Aƒtƒ@ƒCƒ‹‚ɂ͈ê”Ê‚ÉŠg’£Žq‚ª - •t‚¢‚Ä‚¢‚é‚̂ŁAvbslib3 ‚ō쐬‚µ‚½ copy ‚ð vbslib4 ‚Å“®‚©‚·‚ƁAŠg’£Žq‚ª•t‚¢‚½ƒtƒHƒ‹ƒ_[ - ‚ªì‚ç‚ê‚Ü‚·BŠg’£Žq‚ª•t‚¢‚½ƒtƒHƒ‹ƒ_[‚ª‚ ‚ê‚΁Acopy ‚̈ڐA‚ðŒŸ“¢‚µ‚Ä‚­‚¾‚³‚¢B - - vbslib3 ‚ÌŽd—l‚É–ß‚µ‚½‚¢‚Æ‚«‚́A‰º‹L‚̂悤‚ɐݒ肵‚Ä‚©‚ç copy ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - Žd—l‚ð•ÏX‚µ‚½——R‚́Acopy ‚·‚é‘O‚Ì DstFolderPath ‚ªƒtƒHƒ‹ƒ_[‚Å‚ ‚é‚©‚È‚¢‚©‚É‚æ‚Á‚āAƒRƒs[æ‚ª•Ï‚í‚ç‚È‚¢‚悤‚É‚·‚邽‚ß‚Å‚·B i‚ ‚é‚©‚È‚¢‚©‚ð”»’è‚·‚é If •¶‚ª•s—v‚É‚È‚è‚Ü‚·j - ƒ\[ƒX - - ¨ vbslib_mini.vbs - - - - - - - - copy_ren - - (src) - - - - Sub copy_ren( SrcPath as string, DstPath as string ) - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚Ì–¼‘O‚ð•Ï‚¦‚ăRƒs[‚µ‚Ü‚·B (copy and rename) - yˆø”z - SrcPath - DstPath - ƒRƒs[Œ³‚̃tƒ@ƒCƒ‹A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX - ƒRƒs[æ‚̃tƒ@ƒCƒ‹A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX - SrcPath ‚ªƒtƒ@ƒCƒ‹‚È‚çADstPath ‚ÉŽw’肵‚½ƒpƒX‚àƒtƒ@ƒCƒ‹‚É‚µ‚Ä‚­‚¾‚³‚¢BSrcPath ‚ªƒtƒHƒ‹ƒ_[‚È‚çADstPath ‚ÉŽw’肵‚½ƒpƒX‚àƒtƒHƒ‹ƒ_[‚É‚µ‚Ä‚­‚¾‚³‚¢B - ƒRƒs[æ‚Ƀtƒ@ƒCƒ‹‚ª‚ ‚Á‚Ä‚àAã‘‚«Šm”F‚ðƒ†[ƒU[‚ɍs‚킸‚ɁAã‘‚«‚µ‚Ü‚·Bƒ†[ƒU[‚ɂ́Aã‘‚«‚·‚éƒtƒHƒ‹ƒ_[‚âƒtƒ@ƒCƒ‹‚̃oƒbƒNƒAƒbƒv‚ð‚Æ‚é‚悤‚ɃKƒCƒh - ‚µ‚Ä‚­‚¾‚³‚¢B - ƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚·‚é‚Æ‚«ASrcPath ‚̃tƒHƒ‹ƒ_[‚Æ DstPath ‚̃tƒHƒ‹ƒ_[‚ð‘S‚­“¯‚¶ƒtƒ@ƒCƒ‹\¬‚É‚µ‚½‚¢‚Æ‚«‚́ADstPath ‚̃tƒHƒ‹ƒ_[‚ðíœ‚µ‚Ä‚©‚çƒRƒs[ - ‚µ‚Ä‚­‚¾‚³‚¢B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - copy_ren "src", "dst" - - ƒTƒ“ƒvƒ‹ - src ƒtƒHƒ‹ƒ_[‚Ì“à—e‚ð dst ƒtƒHƒ‹ƒ_[‚Ì’†‚ɃRƒs[‚µ‚Ü‚·B‚Ü‚½‚́Asrc ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðAdst ƒtƒ@ƒCƒ‹‚Ì’†‚ɃRƒs[‚µ‚Ü‚·B - ŠÖ˜A - - ¨ copy - - ŽQl - - ¨ copy ‚Ì’ˆÓ - - ƒTƒ“ƒvƒ‹ - - - copy_ren "src", "dst"copy "src\*", "dst" - - ã‹L‚Ì‚Qs‚́A“¯‚¶ˆ—‚Å‚·Bsrc ƒtƒHƒ‹ƒ_[‚Ì“à—e‚ð dst ƒtƒHƒ‹ƒ_[‚Ì’†‚ɃRƒs[‚µ‚Ü‚·B - - ¨ T_Copy.vbs # [T_Copy] - - ƒeƒXƒg - - - - - - - - - - - copy_ex - - - Sub copy_ex( SrcPath as string, DstPath as string, Option_ as integer ) - - Option_ ‚ÉŽw’肵‚½‚悤‚ɁA“ÁŽê‚ȃRƒs[‚ð‚µ‚Ü‚·B - yˆø”z - SrcPath - DstPath - ƒRƒs[Œ³‚̃pƒXB ƒƒCƒ‹ƒhƒJ[ƒh‚ªŽg‚¦‚Ü‚· - ƒRƒs[æ‚̃tƒHƒ‹ƒ_[‚̃pƒX - Option_ - “ÁŽê‚ȃRƒs[‚Ì“à—e - Option_ = c.CutTag ‚Ì‚Æ‚« iƒ^ƒO‚ðƒJƒbƒg‚·‚éƒRƒs[j - SrcPath ‚ÉŽw’肵‚½ƒƒCƒ‹ƒhƒJ[ƒhˆÈŠO‚Ì•”•ª‚ðƒJƒbƒg‚µ‚½ƒtƒ@ƒCƒ‹–¼‚É‚È‚é‚悤‚ɃRƒs[‚µ‚Ü‚·BƒTƒuƒtƒHƒ‹ƒ_‚É‚ ‚éƒtƒ@ƒCƒ‹‚àƒRƒs[‚µ‚Ü‚·B - - - Dim c : Set c = g_VBS_Lib copy_ex "src\*_set1.*", "dst", c.CutTag - - src ƒtƒHƒ‹ƒ_[‚É‚ ‚é _set1. ‚𖼑O‚ÉŠÜ‚Þƒtƒ@ƒCƒ‹‚ðAdst ƒtƒHƒ‹ƒ_[‚ɃRƒs[‚µ‚Ü‚·B‚½‚¾‚µAƒtƒ@ƒCƒ‹–¼‚̈ꕔ‚É‚ ‚é _set1 ‚̓Jƒbƒg‚³‚ê‚Ü‚·B - •¡”‚̃tƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_‚ª•¡”‚ ‚Á‚āA‚»‚ê‚ç‚ðã‘‚«ƒRƒs[‚µ‚臐¬‚µ‚½ƒtƒHƒ‹ƒ_‚©‚çAŒ³‚Ì‚P‚‚̃tƒHƒ‹ƒ_‚ðŽæ‚èo‚·‚悤‚ȃRƒs[‚ª‚Å‚«‚Ü‚·B - src ƒtƒHƒ‹ƒ_ - file1_set1.txt - file1_set2.txt - file2_set2.txt - file2_set1.txt - - - - - - file2.txt - dst ƒtƒHƒ‹ƒ_ - file1.txt - - ¨ Option_ = c.CutTag ‚Ì‚Æ‚« iƒ^ƒO‚ðƒJƒbƒg‚·‚éƒRƒs[j - - Option_ = c.ExistOnly ‚Ì‚Æ‚« i‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚̂݃Rƒs[j - - ¨ Option_ = c.ExistOnly ‚Ì‚Æ‚« i‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚̂݃Rƒs[j - - ƒRƒs[æ‚É“¯‚¶–¼‘O‚̃tƒ@ƒCƒ‹‚ª‚ ‚éƒtƒ@ƒCƒ‹‚¾‚¯AƒRƒs[‚µ‚Ü‚·B - - (src) - - - - Set c = g_VBS_Lib copy_ex "src\*", "dst", c.ExistOnly - - file1.txt - dst ƒtƒHƒ‹ƒ_ - file3.txt - - - - - - file3.txt - file4.txt - file2.txt - file1.txt - src ƒtƒHƒ‹ƒ_ - ŽQl - _set1 - file1.txt ‚Æ file3.txt ‚¾‚¯ƒRƒs[‚µ‚Ü‚·B - - ¨ T_CopyEx.vbs # [T_CopyExists] - - ƒeƒXƒg - - ¨ T_CopyEx.vbs # [T_CopyTagFiles] - - ƒeƒXƒg - ŠÖ˜A - - ¨ copy - - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - ¨ CopyOnlyExist ƒRƒ}ƒ“ƒh - - ŠÖ˜A - - - - - - - cat - - - Sub cat( FilePathss as string or array of string, OutputPath as string ) - - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚Ì“à—e‚ð˜AŒ‹‚µ‚Ü‚·B - yˆø”z - FilePathss - OutputPath - ƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ - ˜AŒ‹‚µ‚½“à—e‚ðŠi”[‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - ¨ T_fc.vbs # [test_in_file] - - ƒeƒXƒg - - (src) - - ƒTƒ“ƒvƒ‹ - - - Dim out, out1 : out = "log.txt" : out1 = "log1.txt" - del out - r= RunProg( "...", out1 ) - cat Array( out, out1 ), out - del out1 - - out, out1 - out - ƒvƒƒOƒ‰ƒ€‚̏o—Í‚ð out ‚ɒljÁ‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - cat Array( "log.txt", "plus.txt" ), "log.txt" - - log.txt ƒtƒ@ƒCƒ‹‚Ì“à—e‚É out.txt ƒtƒ@ƒCƒ‹‚Ì“à—e‚ð’ljÁ‚µ‚Ü‚·B - "log.txt", "plus.txt" - "log.txt" - - ¨ cat ƒRƒ}ƒ“ƒhiLinuxj - - ŽQl - ŽÀs‘O‚Ì log.txt - plus.txt - ŽÀsŒã‚Ì log.txt - - - 123456 - - - - ABCDEF - - + - = - - - 123456 - ABC - DEF - - - - - - - - CopyNotOverwriteFileClass -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - - - Set o = new CopyNotOverwriteFileClasso.SourcePath = "work\Source" - o.DestinationPath = "work\Destination" - o.SynchronizedPath = "work\Synchronized" - o.Copy - - ƒTƒ“ƒvƒ‹ - ƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚µ‚Ü‚·B ‚½‚¾‚µAƒRƒs[æ‚̃tƒ@ƒCƒ‹‚ª‘O‰ñƒRƒs[‚µ‚½“à—e‚ƈقȂéƒtƒ@ƒCƒ‹‚̓Rƒs[‚µ‚È‚¢‚ŁA - - SyncFilesMenu - - ƒƒjƒ…[‚Ɉꗗ‚µ‚Ü‚·B ƒƒjƒ…[‚ð•Â‚¶‚é‚܂ŁACopy ƒƒ\ƒbƒh‚©‚ç–ß‚è‚Ü‚¹‚ñB - Copy ‚Ì‘ã‚í‚è‚É CopyForce ‚ðŒÄ‚яo‚·‚ƁAƒƒjƒ…[‚ð•\Ž¦‚µ‚È‚¢‚ŁA‹­§ã‘‚«‚µ‚Ü‚·B - - ¨ DeleteSameFileClass - - ŠÖ˜A - .SourcePath ‚́AƒRƒs[Œ³‚̃tƒHƒ‹ƒ_[‚̃pƒXB.DestinationPath ‚́AƒRƒs[æ‚̃tƒHƒ‹ƒ_[‚̃pƒXB - .SynchronizedPath ‚́A.DestinationPath ‚ɃRƒs[‚µ‚½ƒtƒ@ƒCƒ‹‚̃Rƒs[‚ª“ü‚è‚Ü‚·B - .SynchronizedPath ‚É‚ ‚éƒtƒ@ƒCƒ‹‚Æ .DestinationPath ‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì“à—e‚ªˆÙ‚È‚ê‚΁A - .DestinationPath ‚É‚ ‚éƒtƒ@ƒCƒ‹‚ªC³‚³‚ꂽ‚Æ”»’f‚³‚ê‚Ü‚·B - ƒeƒXƒg - - ¨ T_CopyDelNotOver ƒtƒHƒ‹ƒ_ - - ƒRƒs[æ‚É‚Ì‚Ý‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚́A‘¶Ý‚µ‘±‚¯‚Ü‚·B - - ¨ CommitCopy - - - - - - - - ReplaceShortcutFilesToFiles - - - Sub ReplaceShortcutFilesToFiles( FolderPath as string, Option_ as Empty ) - - ƒVƒ‡[ƒgƒJƒbƒgEƒtƒ@ƒCƒ‹‚ð’ʏí‚̃tƒ@ƒCƒ‹‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - FolderPath - Option_ - •ÏŠ·‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - - ¨ ReplaceShortcutFilesToFiles ƒRƒ}ƒ“ƒh - - ŠÖ˜A - ƒTƒu ƒtƒHƒ‹ƒ_[‚ðŠÜ‚ß‚Ä•ÏŠ·‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ CreateShortcut (Shell) - - - - - - - - ‚»‚Ì‘¼ - - ¨ ConvertToFullPath - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚Ì‘Š‘΃pƒX‚ðƒtƒ‹EƒpƒX‚É•ÏŠ·‚µ‚ăRƒs[‚µ‚Ü‚·B - - ¨ OpenForReplace - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚µ‚Ü‚·B - - ¨ SafeFileUpdate - - ƒtƒ@ƒCƒ‹‚ðˆÀ‘S‚ɍXV‚µ‚Ü‚·B - - ¨ CreateShortcut - - ƒVƒ‡[ƒgƒJƒbƒg‚ðì¬‚µ‚Ü‚·B - - ¨ CallForEach_copy - - •¡”‚̃tƒ@ƒCƒ‹‚ðƒtƒ@ƒCƒ‹ƒRƒs[‚Å‚·B - - ¨ MakeFileClass - - ƒtƒ@ƒCƒ‹‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð”äŠr‚µ‚āA•K—v‚È‚çƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - - - - - - - move - SrcPath ‚̃tƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðADstFolderPath ƒtƒHƒ‹ƒ_[‚Ì’†‚Ɉړ®‚µ‚Ü‚·B - - - Sub move( SrcPath as string, DstFolderPath as string ) - - yˆø”z - SrcPath - DstFolderPath - ˆÚ“®Œ³‚̃tƒ@ƒCƒ‹ƒpƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_[ƒpƒX - ˆÚ“®æ‚̃tƒHƒ‹ƒ_[ƒpƒX iƒtƒ@ƒCƒ‹ƒpƒX‚Í•s‰Âj - - ¨ copy - - - (src) - - - - move "data", "do_test"move "src\*", "src_copy" - - src ƒtƒHƒ‹ƒ_‚Ì“à—e‚ð src_copy ƒtƒHƒ‹ƒ_‚Ɉړ®‚µ‚Ü‚· - data ƒtƒHƒ‹ƒ_‚ð do_test ƒtƒHƒ‹ƒ_‚Ì’†‚Ɉړ®‚µ‚Ü‚· - ŽQl - ƒeƒXƒg - ˆÚ“®æ‚Ƀtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚́Aã‘‚«Šm”F‚µ‚È‚¢‚ŁAã‘‚«‚µ‚Ü‚·BˆÚ“®æ‚̃tƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚ªAˆÚ“®Œ³‚É–³‚­‚Ä‚àŽc‚è‚Ü‚·B - - ¨ T_Copy.vbs - - - T_Move2 - - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - - ¨ ReplaceFileNameWildcard - - - ¨ move_ren - - - ¨ SafeFileUpdate - - T_Move - - - - - - - move_ren - - - Sub move_ren( SrcPath as string, DstPath as string ) - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚Ì–¼‘O‚ð•Ï‚¦‚Ĉړ®‚µ‚Ü‚·B - yˆø”z - SrcPath - DstPath - ƒRƒs[Œ³‚̃pƒX - ƒRƒs[æ‚̃pƒX - SrcPath ‚ªƒtƒ@ƒCƒ‹‚È‚çADstPath ‚ÉŽw’肵‚½ƒpƒX‚àƒtƒ@ƒCƒ‹‚É‚µ‚Ä‚­‚¾‚³‚¢BSrcPath ‚ªƒtƒHƒ‹ƒ_‚È‚çADstPath ‚ÉŽw’肵‚½ƒpƒX‚àƒtƒHƒ‹ƒ_‚É‚µ‚Ä‚­‚¾‚³‚¢B - - (src) - - ˆÚ“®æ‚Ƀtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚́Aã‘‚«Šm”F‚µ‚È‚¢‚ŁAã‘‚«‚µ‚Ü‚·BˆÚ“®æ‚̃tƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚ªAˆÚ“®Œ³‚É–³‚­‚Ä‚àŽc‚è‚Ü‚·B (Ver 5.00ˆÈ~) - ˆÚ“®æ‚̃tƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚ªAˆÚ“®Œ³‚É–³‚¢‚Æ‚«‚́A‚»‚̃tƒ@ƒCƒ‹‚͍폜‚³‚ê‚Ü‚·B (Ver 5.00‚æ‚è‘O) - ŠÖ˜A - - ¨ move - - - ¨ ren - - ƒeƒXƒg - - ¨ T_Copy.vbs - - T_Move - T_Move2 - - ¨ vbslib.vbs - - ƒ\[ƒX - - - - - - - - - - - - - - - - - - - - - - - - - - - - unzip - - - Sub unzip( Src as string, Dst as string, Opt as integer ) - - ˆ³k (zipŒ`Ž®) ƒtƒHƒ‹ƒ_[‚ð‰ð“€‚µ‚Ü‚·B - - (src) - - F_IfNotExist - ‚·‚łɃtƒHƒ‹ƒ_‚ª‘¶Ý‚µ‚Ä‚¢‚½‚牽‚à‚µ‚Ü‚¹‚ñ‚·‚łɃtƒHƒ‹ƒ_‚ª‘¶Ý‚µ‚Ä‚¢‚½‚çƒGƒ‰[‚É‚µ‚Ü‚· - ‰ð“€‚·‚é‘O‚ɃtƒHƒ‹ƒ_‚ðíœ‚µ‚Ü‚· - Opt ˆø” - ®”Œ^‚Ì‚Æ‚«‚́AƒrƒbƒgƒtƒB[ƒ‹ƒh‚Ì Flags ‚Å‚·B - sample1 - - - - - - sample1.zip - file1.txt - file1.txt - sample1.zip - sample1 - [ ‘—‚é | - ˆ³k(zip)ƒtƒHƒ‹ƒ_ ] - ƒtƒHƒ‹ƒ_‚ð‰EƒNƒŠƒbƒN - Compressed Folders ] - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚ÅŠJ‚©‚È‚¢‚Æ‚«‚́A‰EƒNƒŠƒbƒN [ ƒvƒƒOƒ‰ƒ€‚©‚çŠJ‚­ | - ã‹L sample1.zip ‚́AŽŸ‚̂悤‚ɍ쐬‚µ‚Ü‚·B - - Opt - - sample1.zip ‚ðƒGƒNƒXƒvƒ[ƒ‰‚ÅŠJ‚­‚ƁAŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹‚P - - - unzip "sample1.zip", "sample1", F_AfterDelete - - ƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_[ - file1.txt iV‹Kì¬j - sample1 iV‹Kì¬j - - - - - - file1.txt - sample1 - sample1.zip - - - unzip "sample1.zip", "C:\folderA\sample1", F_AfterDelete - - sample1 - file1.txt - folderA - C:\ - ƒTƒ“ƒvƒ‹‚Q - sample1 - file1.txt - sample1.zip - - - - - - C:\folderA\ - - ¨ env - - ŠÂ‹«•Ï”‚ðŽw’è‚·‚é - yˆø”z - Src - Dst - ƒRƒs[Œ³ = ˆ³k (zipŒ`Ž®) ƒtƒHƒ‹ƒ_[i= zip ƒtƒ@ƒCƒ‹j‚̃pƒX - ƒRƒs[æ = ‰ð“€‚µ‚Ä‚Å‚«‚éƒtƒHƒ‹ƒ_[‚̃pƒX - Opt - Emtpy ‚Ü‚½‚́AƒIƒvƒVƒ‡ƒ“Eƒtƒ‰ƒO - ƒ_ƒEƒ“ƒ[ƒh‚µ‚½ zip ƒtƒ@ƒCƒ‹‚ð‰ð“€‚·‚邽‚߂ɁAvbslib ‚Ì unzip ‚ðŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢B - •s³‚È zip ƒtƒ@ƒCƒ‹‚ɑ΂·‚éƒeƒXƒg‚ð‚µ‚Ä‚¢‚Ü‚¹‚ñBWindows ‚̃GƒNƒXƒvƒ[ƒ‰[‚È‚Ç‚©‚ç“WŠJ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - ¨ Out of Writable Œx [E_OutOfWritable] - - - ¨ Opt ˆø” - - ‘Š‘΃pƒXŽw’è - ƒtƒ‹EƒpƒXŽw’èAƒCƒ“ƒXƒg[ƒ‹Œü‚¯ - ‰ð“€ - sample1 - sample1 - - ¨ SpecialFolders (Shell) - - “ÁŽêƒtƒHƒ‹ƒ_‚ðŽw’è‚·‚é - ŠÖ˜A - ƒtƒ@ƒCƒ‹F - - - zip.vbs - - - ¨ zip ˆ³k“WŠJ - - - ¨ T_Zip.vbs # [T_unzip] - - ƒeƒXƒg - ŠÖ˜A - - ¨ unzip2 - - F_AfterDelete - F_IfExistsErr - zip ƒtƒ@ƒCƒ‹‚Ì’†‚̃‹[ƒg‚É‚P‚‚̃tƒHƒ‹ƒ_[‚¾‚¯‚ª‚ ‚é‚Æ‚«‚́A‚»‚̃tƒHƒ‹ƒ_[‚Ì’†‚ð“WŠJ‚µ‚Ü‚·B - - ¨ unzip ƒRƒ}ƒ“ƒh - - ƒ\[ƒX - - ¨ zip.vbs - - boolean Œ^‚Ì‚Æ‚«‚́AŽŸ‚Ì‚Æ‚¨‚è‚Å‚·B - True - False - F_AfterDelete ‚Æ“¯‚¶B ‰ð“€‚·‚é‘O‚ɃtƒHƒ‹ƒ_‚ðíœ‚µ‚Ü‚·F_IfNotExist ‚Æ“¯‚¶B ‚·‚łɃtƒHƒ‹ƒ_‚ª‘¶Ý‚µ‚Ä‚¢‚½‚牽‚à‚µ‚Ü‚¹‚ñ - - - - - - - - - - - - - - zip ˆ³k“WŠJ - - ¨ unzip2 - - zip ƒtƒ@ƒCƒ‹‚ð‰ð“€‚µ‚Ü‚·B - scriptlib - ƒtƒ@ƒCƒ‹\¬ - ƒŠƒtƒ@ƒŒƒ“ƒX - ˆ³k (zipŒ`Ž®) ƒtƒHƒ‹ƒ_[‚ð‰ð“€‚µ‚Ü‚·B - - - Setting_getIncludePathes = Array(_ : - "zip\zip.vbs",_ - - setting - vbs_inc_setting.vbs - zip\unzip2.exe ‚Ì“à•”‚ÅŽg‚Á‚Ä‚¢‚é zlib ‚ɂ‚¢‚Ä - - ¨ scriptlib\zip\zip_readme.txt - - - zip_readme.txt - - - zip - - zip Œ`Ž®‚̈³kƒtƒ@ƒCƒ‹‚ðˆµ‚¢‚Ü‚·B - ƒ_ƒEƒ“ƒ[ƒh‚µ‚½ zip ƒtƒ@ƒCƒ‹‚ð‰ð“€‚·‚邽‚߂ɁAvbslib ‚Ì unzip ‚ðŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢B - •s³‚È zip ƒtƒ@ƒCƒ‹‚ɑ΂·‚éƒeƒXƒg‚ð‚µ‚Ä‚¢‚Ü‚¹‚ñBWindows ‚̃GƒNƒXƒvƒ[ƒ‰[‚È‚Ç‚©‚ç“WŠJ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ unzip - - vbslib - - - - - zip.vbs - - - - - - - - - - - - - - - - unzip2 - - - Sub unzip2( ZipPath as string, ExtractFolderPath as string ) - - zip ƒtƒ@ƒCƒ‹‚ð‰ð“€‚µ‚Ü‚·B ‰ð“€æƒtƒHƒ‹ƒ_[‚ðŽw’è‚Å‚«‚Ü‚·B - yˆø”z - ZipPath - ExtractFolderPath - zip ƒtƒ@ƒCƒ‹‚̃pƒX - ‰ð“€æƒtƒHƒ‹ƒ_[‚̃pƒX - - (src) - - - - unzip2 "sample1.zip", "C:\folderA" - - sample1 - file1.txt - folderA - C:\ - ƒTƒ“ƒvƒ‹ - sample1 - file1.txt - sample1.zip - C:\folderA - file2.txt - file2.txt - sample1.zip - - - - - - - - ExtractFolderPath ‚̃tƒHƒ‹ƒ_[‚Ì’†‚ɁAƒtƒHƒ‹ƒ_[‚ª‚Å‚«‚é‚©‚Ç‚¤‚©‚́Azip ƒtƒ@ƒCƒ‹‚Ì“à—e‚É‚æ‚è‚Ü‚·B zip ƒtƒ@ƒCƒ‹‚Ì’†‚̃‹[ƒg‚É zip ƒtƒ@ƒCƒ‹‚Æ - “¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚́A‚»‚̃tƒHƒ‹ƒ_[‚Ì’†‚ð“WŠJ‚µ‚Ü‚·B - - ¨ T_Zip.vbs # [T_unzip2] - - ƒeƒXƒg - ŠÖ˜A - - ¨ unzip - - ƒtƒ@ƒCƒ‹F - - - zip.vbs - - - ¨ zip, unzip.exe - - - - - - - - zip2 - - - Sub zip2( ZipPath as string, SourceFolderPath as string, IsFolderName as boolean ) - - ƒtƒHƒ‹ƒ_[‚ðˆ³k‚µ‚āAzip ƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B - yˆø”z - ZipPath - SourceFolderPathObj - zip ƒtƒ@ƒCƒ‹‚̃pƒX - ˆ³k‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - IsFolderName - zip ƒtƒ@ƒCƒ‹‚Ì’†‚ɁAZipPath ‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[–¼‚ð“ü‚ê‚é‚©‚Ç‚¤‚© - ŠÖ˜A - ƒeƒXƒg - ƒ\[ƒX - - ¨ zip.vbs - - - ¨ zlib (clib) - - - ¨ T_Zip.vbs - - T_zip2 - - - - - - - ren - - - Sub ren( src as string, dst as string ) - - src ‚©‚ç dst ‚Ƀtƒ@ƒCƒ‹–¼‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - src - dst - –¼‘O‚ð•ÏX‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX - •ÏXŒã‚̃tƒ@ƒCƒ‹–¼B ƒtƒHƒ‹ƒ_[EƒpƒX‚ÌŽw’è‚Í•s—vB - - (src) - - ƒTƒ“ƒvƒ‹ - - - ren "FolderA\File1.txt", "File2.txt" - - "FolderA\File1.txt" ƒtƒ@ƒCƒ‹‚ð "FolderA\File2.txt" ƒtƒ@ƒCƒ‹‚ɉü–¼‚µ‚Ü‚·B - - ¨ T_Ren.vbs # [main2] - - ƒeƒXƒg - dst ‚ɃtƒHƒ‹ƒ_[EƒpƒX‚ðŽw’肵‚Ä‚à–³Ž‹‚³‚ê‚Ü‚·B - - - ren "FolderA\File1.txt", "FolderB\File2.txt" - - ã‹L‚ðŽÀs‚µ‚½‚çAFolderB\File2.txt ‚Å‚Í‚È‚­AFolderA\File2.txt ‚Ƀtƒ@ƒCƒ‹‚ª‚ ‚éó‘Ô‚É‚È‚è‚Ü‚·B - •Ê‚̃tƒHƒ‹ƒ_[‚Ɉړ®‚·‚é‚Æ‚«‚́Amove ‚Ü‚½‚Í move_ren ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - ¨ Out of Writable Œx [E_OutOfWritable] - - ŠÖ˜A - - ¨ move_ren - - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - - - - - del - - - Sub del( path as string ) - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - - ¨ FileSystemObject::DeleteFile - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - - del "File1.txt" - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - ¨ Out of Writable Œx [E_OutOfWritable] - - - ¨ T_Copy.vbs # [T_Del] - - ƒeƒXƒg - yˆø”z - path - íœ‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX - "File1.txt" - - ¨ del_to_trashbox - - - ¨ del_confirmed - - - ¨ CallForEach_del - - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ vbslib_mini.vbs - - path ‚É Empty ‚ðŽw’肵‚½‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñB - path ˆø”‚ɁA - - PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg - - ‚àŽw’è‚Å‚«‚Ü‚·B - - - - - - - del_subfolder - - - Sub del_subfolder( Path as string or array of string ) - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B ƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚铯–¼‚Ì‚à‚Ì‚àŠÜ‚߂č폜‚µ‚Ü‚·B - - (src) - - - - del_subfolder "FolderA\text1.txt" - - ƒTƒ“ƒvƒ‹ - FolderA ƒtƒHƒ‹ƒ_[‚Æ‚»‚̃TƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é text1.txt ‚ðíœ‚µ‚Ü‚·B - íœ‚³‚ê‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Ì—áF - FolderA\sub1\text1.txtFolderA\sub2\text1.txt - FolderA\sub1\sub3\text1.txt - FolderA\sub1\text1.txt\file.txt - yˆø”z - Path - íœ‚·‚éƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚Í‚»‚Ì”z—ñ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒTƒuEƒtƒHƒ‹ƒ_[iƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒHƒ‹ƒ_[j‚ð‚·‚×‚Ä’²‚ׂāAPath ‚ÉŽw’肵‚½ƒpƒX‚́Aƒtƒ@ƒCƒ‹–¼‚Ì•”•ª‚Ɉê’v‚·‚é–¼‘O‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - íœ‚³‚ê‚È‚¢ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Ì—áF - FolderA\sub1\text2.txt - ƒeƒXƒg - - ¨ T_Copy.vbs # del_subfolder - - FolderA\sub1\sometext1.txt - "FolderA\text1.txt" - ƒTƒ“ƒvƒ‹ - - - del_subfolder "FolderA\*.txt" - - FolderA ƒtƒHƒ‹ƒ_[‚Æ‚»‚̃TƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é *.txt ‚ðíœ‚µ‚Ü‚·B - - - - - - - del_to_trashbox - - - Sub del_to_trashbox( path as string ) - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ð vbslib ‚̃Sƒ~” ‚ÖˆÚ“®‚µ‚Ü‚·B - - (src) - - Žw’肵‚½ƒpƒX‚Ƀtƒ@ƒCƒ‹‚©ƒtƒHƒ‹ƒ_[‚ª–³‚¢‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñB ƒGƒ‰[‚É‚à‚È‚è‚Ü‚¹‚ñB - ˆÚ“®‚Å‚«‚È‚©‚Á‚½‚Æ‚«‚́AƒGƒ‰[ 17 ‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - del_to_trashbox "File1.txt" - - yˆø”z - path - íœ‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - "File1.txt" - ƒeƒXƒg - - ¨ T_Trash.vbs # del_to_trashbox - - ŽQl - - ¨ Folder::MoveHere - - ƒSƒ~” ‚̏ꏊ‚́A - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - - ‚Ì’†‚Ì _RecycleBin ƒtƒHƒ‹ƒ_[‚Å‚·B - - - - - - - del_confirmed - - - Function del_confirmed( Path as string ) as boolean - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ª‚ ‚ê‚΁Aƒ†[ƒU‚ÉŠm”F‚µ‚Ä‚©‚çíœ‚µ‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_Del_Manually.vbs # [T_del_confirmed] - - yˆø”z - path - íœ‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX - ƒTƒ“ƒvƒ‹ - - - del_confirmed "File1.txt" If exist( "File1.txt" ) Then Error - - "File1.txt" - - - íœ‚µ‚Ä‚æ‚낵‚¢‚Å‚·‚©H : work\file1.txt (Y/N) - - Šm”F‰æ–Ê‚Ì—á - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒ†[ƒU[‚ª Y ‚ð‘I‚΂Ȃ©‚Á‚½‚çAíœ‚µ‚È‚¢‚Å‘±‚«‚ðŽÀs‚µ‚Ü‚·B - - - - - - - del_empty_folder - - - Sub del_empty_folder( FolderPath as string or array of string ) - - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ª“ü‚Á‚Ä‚¢‚È‚¢ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - yˆø”z - path - íœ‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚Í‚»‚Ì”z—ñ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - FolderPath ‚̃TƒuEƒtƒHƒ‹ƒ_[‚àA‚»‚Ì’†‚Ƀtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ª“ü‚Á‚Ä‚È‚¯‚ê‚΁Aíœ‚µ‚Ü‚·BÅŒã‚ªƒsƒŠƒIƒhi—áFFolder\. j‚Ì‚Æ‚«‚́AƒTƒuEƒtƒHƒ‹ƒ_[‚͍폜‚µ‚Ü‚¹‚ñB - - ¨ T_Copy.vbs - - ƒeƒXƒg - T_del_empty_folder - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - ‚Ì DeleteFolderPaths ƒvƒƒpƒeƒB - - PathDictionaryClass - - - - - - - - DeleteSameFileClass -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - - - Set o = new DeleteSameFileClasso.SourcePath = "work\Source" - o.DestinationPath = "work\Destination" - o.SynchronizedPath = "work\Synchronized" - o.Delete - - ƒTƒ“ƒvƒ‹ - ƒtƒHƒ‹ƒ_[‚Ì’†‚É“ü‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚Æ“¯‚¶“à—e‚Å‚ ‚ê‚΍폜‚µ‚Ü‚·B ‚½‚¾‚µA“à—e‚ªˆÙ‚È‚éƒtƒ@ƒCƒ‹‚́A - - SyncFilesMenu - - ƒƒjƒ…[‚Ɉꗗ‚µ‚Ü‚·B ƒƒjƒ…[‚ð•Â‚¶‚é‚܂ŁADelete ƒƒ\ƒbƒh‚©‚ç–ß‚è‚Ü‚¹‚ñB - Delete ‚Ì‘ã‚í‚è‚É DeleteForce ‚ðŒÄ‚яo‚·‚ƁAƒƒjƒ…[‚ð•\Ž¦‚µ‚È‚¢‚ŁA‹­§íœ‚µ‚Ü‚·BDelete ‚Ì‘ã‚í‚è‚É DeleteSameOnly ‚ðŒÄ‚яo‚·‚ƁAƒƒjƒ…[‚ð•\Ž¦‚µ‚È‚¢‚ŁAíœ‚à‚µ‚Ü‚¹‚ñB - .SourcePath ‚́A”äŠr‚·‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒXB.DestinationPath ‚́Aíœ‚·‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒXB - .SynchronizedPath ‚́A - - CopyNotOverwriteFileClass - - ‚Ì‚à‚Ì‚Æ“¯‚¶B - ƒeƒXƒg - - ¨ T_CopyDelNotOver ƒtƒHƒ‹ƒ_ - - - - - - - - mkdir - - - Function mkdir( Path as string ) - - ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚·B - yˆø”z - Path - •Ô‚è’l - ì¬‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - ì¬‚µ‚½ƒtƒHƒ‹ƒ_[‚̐” - c:\a ‚Æ‚¢‚¤‹ó‚̃tƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«Ac:\a\b ‚Æ‚¢‚¤ƒtƒHƒ‹ƒ_[‚ª‚È‚­‚Ä‚àAc:\a\b\c ‚̂悤‚ɃlƒXƒg‚µ‚āi‘·ƒtƒHƒ‹ƒ_[‚ðjŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒtƒ‹EƒpƒX‚ª250•¶ŽšˆÈã‚Ì’·‚¢ƒpƒX‚É‚È‚éƒtƒHƒ‹ƒ_[‚͍ì‚ê‚Ü‚¹‚ñB - - ¨ vbslib.vbs - - - - mkdir "sub" - - ŠÖ˜A - - ¨ T_File.vbs # [T_MkDir] - - ƒeƒXƒg - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - ¨ Out of Writable Œx [E_OutOfWritable] - - "sub" - ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚É sub ƒtƒHƒ‹ƒ_[‚ðì¬‚µ‚Ü‚·B - Path ‚ÉŽw’肵‚½êŠ‚ɁA‚·‚łɃtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñ‚µAƒGƒ‰[‚É‚à‚È‚è‚Ü‚¹‚ñB - ƒTƒ“ƒvƒ‹ - - ¨ FileSystemObject::CreateFolder - - - ¨ mkdir_for - - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒ\[ƒX - - ¨ vbslib_mini.vbs - - - - - - - - mkdir_for - - - Sub mkdir_for( FilePath as string ) - - Žw’è‚̃tƒ@ƒCƒ‹‚ðì¬‚·‚邽‚߂̃tƒHƒ‹ƒ_‚ðì¬‚µ‚Ü‚·B ƒtƒ@ƒCƒ‹‚͍쐬‚µ‚Ü‚¹‚ñB - yˆø”z - FilePath - ƒtƒ@ƒCƒ‹‚̃pƒX - - - mkdir_for "sub\file1.txt" - - sub\file1.txt ƒtƒ@ƒCƒ‹‚ðŠi”[‚·‚é sub ƒtƒHƒ‹ƒ_‚ðì¬‚µ‚Ü‚·B - - ¨ T_File.vbs # [T_MkDir] - - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - rmdir - - - Sub rmdir( Path as string ) - - ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - del ‚Å‚àArmdir ‚Æ“¯‚¶‚悤‚ɃtƒHƒ‹ƒ_‚ðíœ‚Å‚«‚Ü‚·B - - (src) - - yˆø”z - Path - íœ‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - - - rmdir "sub" - - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_Copy.vbs # [T_Del] - - - ¨ del - - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - exist - - - Function exist( path as string ) as boolean - - ƒtƒHƒ‹ƒ_[‚Ü‚½‚̓tƒ@ƒCƒ‹‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - - If exist( "file1.txt" ) Then ... - - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ FileSystemObject::FileExists - - ŠÖ˜A - - ¨ FileSystemObject::FolderExists - - - ¨ GetExistPathInSetting - - - ¨ AssertExist - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_File.vbs # [T_Exist] - - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ exist_ex - - - ¨ vbslib_mini.vbs - - Empty ‚ðŽw’肵‚½‚çAFalse ‚ª•Ô‚è‚Ü‚·B - - - - - - - exist_ex - - - Set c = g_VBS_LibIf exist_ex( "a.txt", c.CaseSensitive ) Then - - - - Function exist_ex( Path as string, Opt as Empty or integer ) as boolean - - ƒtƒHƒ‹ƒ_[‚Ü‚½‚̓tƒ@ƒCƒ‹‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - Opt - ‘¶Ý‚𒲂ׂéƒpƒX - ƒIƒvƒVƒ‡ƒ“A Empty ‚Ü‚½‚Í c.CaseSensitive - •Ô‚è’l - ‘¶Ý‚·‚é‚©‚Ç‚¤‚© - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_File.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - T_Exist - - ¨ exist - - - - - - - - IsEmptyFolder - - - Function IsEmptyFolder( in_Path as string ) as boolean - - ‹ó‚̃tƒHƒ‹ƒ_[‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_Path - ’²‚ׂéƒpƒX - •Ô‚è’l - ‹ó‚̃tƒHƒ‹ƒ_[‚©‚Ç‚¤‚© - ƒeƒXƒg - - ¨ T_File.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - T_IsEmptyFolder - ‰½‚à‚È‚¢‚Æ‚±‚ë‚ðŽw‚·ƒpƒX‚ðŽw’肵‚½‚çAFalse ‚©•Ô‚è‚Ü‚·B - - - - - - - type_ - - - Sub type_( Path as string ) - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•\Ž¦‚µ‚Ü‚·B - yˆø”z - Path - •\Ž¦‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - type ‚́AVBScript ‚Ì—\–ñŒê‚Ȃ̂ŁAtype ‚ÌŒã‚É––”ö‚ɃAƒ“ƒ_[ƒXƒRƒA‚ð•t‚¯‚½–¼‘O‚É‚µ‚Ä‚¢‚Ü‚·B - - - type_ "result.txt" - - ƒTƒ“ƒvƒ‹F - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - - - - - - ReadFile - - - Function ReadFile( Path as string ) as string - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì‘S‘Ì‚ð“ǂݍž‚Ý‚Ü‚·B - yˆø”z - Path - •Ô‚è’l - “ǂݍž‚ÞƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e - ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚Å‚àƒGƒ‰[‚ɂȂ炸A"" ‚ð•Ô‚µ‚Ü‚·BƒGƒ‰[‚É‚·‚é‚Æ‚«‚ÍŽŸ‚̂悤‚É‚µ‚Ü‚·B - ‘½‚­‚̏ꍇAs––‚ɉüs•¶Žš‚ª‚ ‚è‚Ü‚·B ReadFile ‚Ŏ擾‚µ‚½––”ö‚ɉüs•¶Žš‚ª‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - - Text1 - - - - ReadFile( "a.txt" ) = "Text1"+vbCRLF - - a.txt - - CreateFile - - ‚ō쐬‚µ‚½ƒtƒ@ƒCƒ‹‚́A‰üs•¶Žš‚Í•t‚«‚Ü‚¹‚ñB - - ¨ ReadAll - - - - text = ReadFile( "a.txt" ) - - ƒTƒ“ƒvƒ‹F - - - Set file = OpenForRead( "a.txt" ) text = ReadAll( file ) - - - ¨ T_File.vbs # [T_ReadFile] - - ŠÖ˜A - ƒeƒXƒg - - ¨ ReadFileInTag - - - ¨ CreateFile - - •¶ŽšƒR[ƒh‚ðŽw’è‚·‚é‚Æ‚«‚́A - - new_TextFileCharSetStack - - ‚ðŽg‚Á‚Ä - ‚­‚¾‚³‚¢B ‚½‚¾‚µAShift-JIS, Unicode, UTF-8(BOM‚ ‚è) ‚́AŽg‚í‚È‚­‚Ä‚àŽ©“®“I‚É•¶ŽšƒR[ƒh‚𔻒肵‚āA³‚µ‚­“ǂݍž‚Ý‚Ü‚·B - - - Set cs = new_TextFileCharSetStack( "EUC-JP" ) t = ReadFile( "a.txt") - cs = Empty - - - FilePathClass - - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ vbslib_mini.vbs - - - - - - - - ReadFileInTag - - - Function ReadFileInTag( Path as string, StartOfText as string, EndOfText as string ) as string - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚éŽw’è‚ÌŠJŽnƒ^ƒO‚ƏI—¹ƒ^ƒO‚ÌŠÔ‚É‚ ‚éƒeƒLƒXƒg‚ð“ǂݍž‚Ý‚Ü‚·B - yˆø”z - Path - StartOfText - “ǂݍž‚ÞƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - “ǂݍž‚ޔ͈͂̐擪‚É‚ ‚éƒ^ƒOiƒeƒLƒXƒgjA‚Ü‚½‚Í Emptyiæ“ª‚©‚çj - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—eB ƒ^ƒOA‚¨‚æ‚сAæ“ª‚Æ––”ö‚̉üs‚͏œ‚­ - “ǂݍž‚ޔ͈̖͂–”ö‚É‚ ‚éƒ^ƒOiƒeƒLƒXƒgjA‚Ü‚½‚Í Emptyi––”ö‚܂Łj - •Ô‚è’l - EndOfText - “ǂݍž‚݃Tƒ“ƒvƒ‹ - StartOfText = "<Tag>", EndOfText = "</Tag>" ‚Æ‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹ - •Ô‚è’l - - - abc<Tag>123</Tag>def - - - - 123 - - - - - abc<Tag>123 - 456 - </Tag>def - - - - 123456 - - i456‚ÌŒã‚ɉüs‚È‚µj - ƒTƒ“ƒvƒ‹ - - - Dim text - CreateFile "index.html", "abc<P class=""new"">123</P>def" - text = ReadFileInTag( "index.html", "<P class=""new"">", "</P>" ) : Assert text = "123" - - CreateFile "index.html", "abc<P>def" - text = ReadFileInTag( "index.html", "<P>", Empty ) : Assert text = "def" - text = ReadFileInTag( "index.html", Empty, "<P>" ) : Assert text = "abc" - - - ¨ T_File.vbs # [T_ReadFileInTag] - - ƒeƒXƒg - ŠÖ˜A - - ¨ sscanf - - - ¨ ReplaceRange (ReplaceTextFile1) - - - (src) - - Žw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚· - •¶Žš—ñ‚Ì“r’†‚ðŽæ‚èo‚µ‚Ü‚· - - - - - - - ReadAll - - - Function ReadAll( FileStream as TextStream ) as string - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð‚·‚×‚ÄƒŠ[ƒh‚µ‚Ü‚·B - yˆø”z - FileStream - •Ô‚è’l - ŠJ‚¢‚Ä‚¢‚é“ǂݍž‚Þƒtƒ@ƒCƒ‹ - ÅŒã‚܂ŃŠ[ƒh‚µ‚½ƒeƒLƒXƒg - ‚ƈقȂèAƒtƒ@ƒCƒ‹ƒTƒCƒY‚ª 0 ‚Ì‚Æ‚«‚Å‚àAƒGƒ‰[‚É‚È‚è‚Ü‚¹‚ñB - - TextStream::ReadAll - - - (src) - - - ¨ ReadFile - - ŠÖ˜A - - - - - - - ReadBinaryFile - - - Set bin = ReadBinaryFile( "unicode_sample.txt" ) If bin(0) = &hFF and bin(1) = &hFE Then - echo "This is unicode file." - End If - - - - Function ReadBinaryFile( Path as string ) as BinaryArray - - ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚Ì‘S‘Ì‚ð“ǂݍž‚Ý‚Ü‚·B - yˆø”z - Path - •Ô‚è’l - ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚̃pƒX - ƒoƒCƒiƒŠ[Eƒf[ƒ^ - ŠÖ˜A - ƒeƒXƒg - "unicode_sample.txt" - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ Load (BinaryArray) - - - ¨ T_Binary.vbs - - - ¨ System.vbs - - - ¨ BinaryArray ƒNƒ‰ƒX - - - ¨ new_BinaryArray - - - - - - - - IsSameTextFile - ƒeƒXƒg - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚ð”äŠr‚µ‚Ü‚·B •¶ŽšƒR[ƒh‚â‰üs•¶Žš‚ªˆÙ‚È‚Á‚Ä‚¢‚Ä‚à\‚¢‚Ü‚¹‚ñB - - - Function IsSameTextFile( PathA as string, PathB as string, in_out_Options as variant ) as boolean - - yˆø”z - PathA - CharSetA - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ A ‚̃pƒX - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ A ‚Ì•¶ŽšƒR[ƒhƒZƒbƒg (*1) - •Ô‚è’l - ‚Q‚‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚© - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ B ‚Ì•¶ŽšƒR[ƒhƒZƒbƒg (*1) - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ B ‚̃pƒX - CharSetB - PathB - - ¨ new_TextFileCharSetStack - - (*1) - •¶ŽšƒR[ƒh‚ɂ‚¢‚ẮA - ‚½‚¾‚µABOM ‚ª‚ ‚é‚Æ‚«‚âAShift JIS ‚Ì‚Æ‚«‚́AEmpty ‚ðŽw’è‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Assert IsSameTextFile( "FileA.txt", "FileB.txt", Empty ) - - in_out_Options - ƒIƒvƒVƒ‡ƒ“A‚Ü‚½‚Í Empty - - ¨ T_fc.vbs # [T_IsSameTextFile] - - - ¨ fc ƒRƒ}ƒ“ƒh - - ŠÖ˜A - c.SkipLeftSpaceLine - Options_ ˆø” - PathA ‚̃tƒ@ƒCƒ‹‚É‚ ‚é‹ós‚Í”äŠr‚µ‚È‚¢ - Empty ‚Ü‚½‚́A‰º‹L‚̒萔‚Ì orA‚Ü‚½‚́AOptionsFor_IsSameTextFile_Class ‚ðŽw’è‚Å‚«‚Ü‚·Bc ‚́Ag_VBS_Lib ‚Ì•Ô‚è’l‚Å‚·B - c.RightHasPercentFunction - PathB ‚̃tƒ@ƒCƒ‹‚ɂ́A - - % ‚ðŽg‚Á‚½•ÏŠ·Ž® - - ‚ðŠÜ‚Þ - - ¨ T_fc.vbs # [T_IsSameTextFileRegExp] - - c.ErrorIfNotSame - “à—e‚ªˆÙ‚È‚Á‚Ä‚¢‚½‚çAƒGƒ‰[‚É‚·‚é - - - Function IsSameTextFile_Old( PathA as string, CharSetA as string, PathB as string, CharSetB as string, Options_ as integer ) as boolean - - - - Assert IsSameTextFile_Old( "FileA.txt", Empty, "FileB.txt", "EUC-JP", Empty ) - - IsSameTextFile ‚́A - ‚Å‚·B - - ”äŠrŠÖ”Œ^ - - OptionsFor_IsSameTextFile_Class - .CharSetA - .CharSetB - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ A ‚Ì•¶ŽšƒR[ƒhƒZƒbƒg (*1) - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ B ‚Ì•¶ŽšƒR[ƒhƒZƒbƒg (*1) - vbslib4 ‚Ì IsSameTextFile ‚́AIsSameTextFile_Old ‚É’u‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ TextFileExtension (g_Vers) - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚̐ݒè - - - - - - - IsSameBinaryFile - ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚ð”äŠr‚µ‚Ü‚·B - - - Function IsSameBinaryFile( PathA as string, PathB as string, Opt as integer ) as boolean - - yˆø”z - PathA - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ A ‚̃pƒX - •Ô‚è’l - ‚Q‚‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚© - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ B ‚̃pƒX - PathB - Opt - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - - - Assert IsSameBinaryFile( "FileA.jpg", "FileB.jpg", Empty ) - - ƒeƒXƒg - - ¨ T_fc.vbs - - - ¨ fc ƒRƒ}ƒ“ƒh - - ŠÖ˜A - - ¨ FileT_isSameBinaryFile (clib) - - PathA ‚© PathB ‚Ì‚Ç‚¿‚ç‚©‚̃tƒ@ƒCƒ‹‚ª‚È‚¢‚Æ‚«‚́AFalse ‚ð•Ô‚µ‚Ü‚·BPathA ‚© PathB ‚Ì—¼•û‚̃tƒ@ƒCƒ‹‚ª‚È‚¢‚Æ‚«‚́ATrue ‚ð•Ô‚µ‚Ü‚·B - T_IsSameBinaryFile - - ¨ vbslib.vbs - - ƒ\[ƒX - IsSameBinaryFile ‚́A - ‚Å‚·B - - ”äŠrŠÖ”Œ^ - - - ¨ TextFileExtension (g_Vers) - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚̐ݒè - - - - - - - IsSameFolder - - - Function IsSameFolder( PathA as string, PathB as string, in_out_Options as variant ) as boolean - - - - If IsSameFolder( folder_A, folder_B, Empty ) Then - - ƒtƒHƒ‹ƒ_[‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚©”äŠr‚µ‚Ü‚·B - yˆø”z - in_out_Options - ƒIƒvƒVƒ‡ƒ“A‚Ü‚½‚Í Empty - ŠÖ˜A - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_IsSameFolder - PathA - ”äŠr‚·‚éƒtƒHƒ‹ƒ_[ A ‚̃pƒX - ”äŠr‚·‚éƒtƒHƒ‹ƒ_[ B ‚̃pƒX - PathB - Empty ‚Ü‚½‚Í ”äŠr‚µ‚È‚¢ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[–¼ - ‚Q‚‚̃tƒHƒ‹ƒ_[‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚© - •Ô‚è’l - .ExceptNames - ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚Ì”äŠr‚́AƒfƒtƒHƒ‹ƒg‚ł́A - - IsSameBinaryFile - - - ¨ T_fc.vbs - - - ¨ fc (”äŠr) - - T_IsSameFolder_Echo - - ¨ vbslib.vbs - - in_out_Options ˆø” - c.EchoV_NotSame - c.NotSubFolder - ˆá‚¢‚ª‚ ‚Á‚½‚Æ‚«‚ɁA‚»‚̃pƒX‚ð echo_v ‚Å•\Ž¦‚µ‚Ü‚· - ƒTƒuEƒtƒHƒ‹ƒ_[‚Í’²‚ׂ܂¹‚ñ - Empty ‚Ü‚½‚́A‰º‹L‚̒萔‚Ì orA‚Ü‚½‚́A - - ¨ ‰º‹L - - - ¨ ‰º‹L - - Thumb.db ‚Ȃǂ̉B‚µƒtƒ@ƒCƒ‹‚ðŽw’è‚·‚ê‚΁A‚»‚̃tƒ@ƒCƒ‹‚Í”äŠr‘Ώۂł͂Ȃ­‚µ‚Ü‚·B - ‚ªŽg‚¦‚Ü‚·B - - ³‹K•\Œ» - - PathA ‚Æ PathB ‚Ƀtƒ@ƒCƒ‹‚̃pƒX‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - OptionsFor_IsSameFolder_Class - as array of string - - - Set options = new OptionsFor_IsSameFolder_Classoptions.BitFlags = c.EchoV_NotSame - options.ExceptNames = Array( "Thumbs.db" ) - If IsSameFolder( folder_A, folder_B, options ) Then - - IsSameFolder ‚́A - ‚Å‚·B - - ”äŠrŠÖ”Œ^ - - .IsSameFileFunction - ƒtƒ@ƒCƒ‹‚ð”äŠr‚·‚éŠÖ”B - - ”äŠrŠÖ”Œ^ - - .IsSameFileFunction_Parameter - IsSameFileFunction ‚ÉŽw’肵‚½ŠÖ”‚Ì‘æ3ˆø”‚É“n‚·’l - T_IsSameFolder_File - Šg’£Žq‚É‚æ‚Á‚Ä”äŠr‚·‚鏈—‚ð•Ï‚¦‚½‚¢‚Æ‚«‚́AŠg’£Žq‚Å•ªŠò‚·‚éŠÖ”‚ðì¬‚µ‚āAƒIƒvƒVƒ‡ƒ“‚Ì IsSameFileFunction ‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - - ¨ MD5 ƒŠƒXƒg - - c ‚́Ag_VBS_Lib ‚Ì•Ô‚è’l‚Å‚·B - ‚ðŽw’è‚Å‚«‚Ü‚·B - - OptionsFor_IsSameFolder_Class - - - ¨ ‰º‹L - - ƒTƒ“ƒvƒ‹ - ‚Å”äŠr‚µ‚Ü‚·B - Žw’肵‚½—¼•û‚̃tƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́ATrue ‚ð•Ô‚µ‚Ü‚·B - - - - - - - - - - - MD5 ƒŠƒXƒg - ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚Ì - - MD5 - - ‚ðˆê——‚µ‚½ƒeƒLƒXƒgƒtƒ@ƒCƒ‹B - ì¬‚µ‚½ƒtƒHƒ‹ƒ_[(A)‚Ì“à—e‚ªAˆÈ‘OŒÅ’肵‚½ƒtƒHƒ‹ƒ_[(B)‚Ì“à—e‚Æ“¯‚¶‚Å‚ ‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚·‚é‚Æ‚«AƒtƒHƒ‹ƒ_[(B)‚ɑΉž‚·‚é MD5 ƒŠƒXƒg‚ƌĂ΂ê‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ª‚ ‚ê‚΁A - ƒtƒHƒ‹ƒ_[(B) ‚ª‚È‚­‚Ä‚àƒ`ƒFƒbƒN‚ª‚Å‚«‚Ü‚·B - ŽQl - ˆ³kƒtƒ@ƒCƒ‹‚ð“WŠJ‚µ‚½ƒtƒHƒ‹ƒ_[‚âƒpƒbƒ`‚ð‚ ‚Ä‚½ƒtƒHƒ‹ƒ_[‚ª³‚µ‚­•œŒ³‚Å‚«‚½‚±‚Æ‚ð•ÛØ‚Å‚«‚Ü‚·B - - ¨ ‘‹‚Ì“m - CRCMD5ƒŠƒXƒg‚ðˆêŠ‡ì¬‚â˜A‘±”äŠr‚µ‚ÄŒ‹‰Ê‚ðƒ^ƒu‚Ő؂è‘Ö‚¦•\Ž¦‚·‚éƒ\ƒtƒg (Web) - - - ¨ ƒnƒbƒVƒ…’l‚ð—˜—p‚µ‚ătƒ@ƒCƒ‹‚Ì“¯ˆê«‚ðƒ`ƒFƒbƒN‚·‚é | —IT (Web) - - MD5 ƒŠƒXƒg - •œŒ³‚µ‚½ƒtƒHƒ‹ƒ_[ - - - - - - ƒ`ƒFƒbƒN - - ¨ MakeFolderMD5List ŠÖ” - - - ¨ CheckFolderMD5List ŠÖ” - - FileA.txt - FileB.txt - - - fadc3390060b1ba5ef3bef593b7c930d FileA.txt60631deb298f23dc7e3a4ada23d8372c FileB.txt - - - - ƒtƒ@ƒCƒ‹–¼i‘Š‘΃pƒXj - - MD5 - - - ¨ MD5List ƒRƒ}ƒ“ƒh - - - ¨ NotExistFileMD5 - - ŠÖ˜A - ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢‚Æ‚« - - ¨ MD5CacheClass - - - - - - - - MakeFolderMD5List - - - Sub MakeFolderMD5List( FolderPath as string, MD5ListFilePath as string ) - - Œã‚ŃtƒHƒ‹ƒ_[‚ª³‚µ‚­•œŒ³‚Å‚«‚½‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚Å‚«‚é‚悤‚ɁAMD5 ƒŠƒXƒg‚ðì¬‚µ‚Ü‚·B - yˆø”z - FolderPath - MD5ListFilePath - ‘Ώۂ̃tƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚Í‚»‚ÌŽ«‘ - MD5 ƒŠƒXƒg‚̃tƒ@ƒCƒ‹ƒpƒX - ŠÖ˜A - ƒeƒXƒg - ƒ\[ƒX - - ¨ CheckFolderMD5List - - T_MD5List - - ¨ T_fc.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - << MD5 ƒŠƒXƒg - - ƒtƒ@ƒCƒ‹–¼‚ª Ascii •¶Žš‚¾‚¯‚Ì‚Æ‚«‚́AAscii Œ`Ž®ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ª‚Å‚«‚Ü‚·BAscii •¶ŽšˆÈŠO‚ªŠÜ‚Ü‚ê‚é‚Æ‚«‚́AUnicode Œ`Ž®ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ª‚Å‚«‚Ü‚·B - FolderPath ˆø” - •¡”‚̑ΏۃtƒHƒ‹ƒ_[ - •¡”‚̑Ώۂ̃tƒHƒ‹ƒ_[‚ɑ΂·‚é MD5ƒŠƒXƒg‚ð‚P‚‚̃tƒ@ƒCƒ‹‚ɏo—Í‚·‚é‚Æ‚«‚́AFolderPath ˆø”‚ÉŽ«‘Œ^‚ðŽw’肵‚Ü‚·B - EKey: MD5ƒŠƒXƒg‚ÉŠÜ‚Ü‚ê‚éƒpƒX‚̍¶‚É•t‚¯‚镶Žš—ñ - EItem: ‘Ώۂ̃tƒHƒ‹ƒ_[‚̃pƒX - - - 202cb962ac59075b964b07152d234b70 %A%\example.txtfd758aae4cede6a4d6e44ef59b18e799 %B%\example.txt - - MD5List.txt: - - - MakeFolderMD5List "C:\Target", "MD5List.txt" - - ƒTƒ“ƒvƒ‹ - - - MakeFolderMD5List Dict(Array( "%A%\", "C:\TargetA", "%B%\", "C:\TargetB" )), _ "MD5List.txt" - - ƒTƒ“ƒvƒ‹ - ‘ΏۃtƒHƒ‹ƒ_[‚ÉŠÜ‚Ü‚ê‚é MD5ƒŠƒXƒg - ‘Ώۂ̃tƒHƒ‹ƒ_[‚Ì’†‚É MD5ƒŠƒXƒg‚ðì¬‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB ‚È‚º‚È‚çAMD5ƒŠƒXƒg‚ÌMD5‚ªì¬‚·‚é‘O‚ÌMD5‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚©‚ç‚Å‚·B - - ÅI“I‚ɑΏۂ̃tƒHƒ‹ƒ_[‚É MD5ƒŠƒXƒg‚ðŠÜ‚ß‚½‚¢‚Æ‚«‚́Aˆê“xAƒeƒ“ƒ|ƒ‰ƒŠ[ƒtƒHƒ‹ƒ_[ - ‚È‚Ç‚ÉMD5ƒŠƒXƒg‚ðì¬‚µ‚Ä‚©‚çŠÜ‚ß‚Ä‚­‚¾‚³‚¢B ‚½‚¾‚µA‘O‰ñŠÜ‚ß‚½ MD5ƒŠƒXƒg‚ð - íœ‚µ‚Ä‚©‚çì¬‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ Save (MD5CacheClass) - - - - - - - - CheckFolderMD5List - - - Sub CheckFolderMD5List( FolderPath as string, MD5ListFilePath as string, Opt as Empty ) - - MD5 ƒŠƒXƒg‚ðŽg‚Á‚āAƒtƒHƒ‹ƒ_[‚ª³‚µ‚­•œŒ³‚Å‚«‚½‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - yˆø”z - FolderPath - MD5ListFilePath - ƒ`ƒFƒbƒN‘Ώۂ́i•œŒ³‚µ‚½jƒtƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚Í‚»‚ÌŽ«‘ - MD5 ƒŠƒXƒg‚̃tƒ@ƒCƒ‹ƒpƒX - ŠÖ˜A - ƒeƒXƒg - ³‚µ‚­•œŒ³‚Å‚«‚Ä‚¢‚ê‚΁A‚»‚̂܂܊֐”‚©‚ç•Ô‚è‚Ü‚·B³‚µ‚­•œŒ³‚Å‚«‚Ä‚¢‚È‚¯‚ê‚΁ADiff ƒc[ƒ‹‚ō·•ª‚ª•\Ž¦‚³‚êAƒGƒ‰[‚É‚È‚è‚Ü‚·B - - AssertFC - - - ¨ MakeFolderMD5List - - T_MD5List - - ¨ T_fc.vbs - - - << MD5 ƒŠƒXƒg - - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - Opt - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ‚Æ“¯‚¶“®‚«‚Å‚·B - ‚±‚ê‚́A - - MakeFolderMD5List - - FolderPath ˆø”‚́A - ‚Æ“¯—l‚ÉŽ«‘i•¡”‚̑ΏۃtƒHƒ‹ƒ_[j‚ðŽw’è‚Å‚«‚Ü‚·B - Diff ƒc[ƒ‹‚̍¶‘¤‚ªƒtƒ@ƒCƒ‹‚É‚ ‚éi‰ß‹Ž‚́jMD5ƒŠƒXƒgA‰E‘¤‚ªŒ»Ý‚̃tƒHƒ‹ƒ_[‚Ì MD5ƒŠƒXƒg‚Å‚·B - ‘ΏۃtƒHƒ‹ƒ_[‚ÉŠÜ‚Ü‚ê‚é MD5ƒŠƒXƒg - ‘Ώۂ̃tƒHƒ‹ƒ_[‚Ì’†‚É MD5ƒŠƒXƒg‚ª‚ ‚é‚Æ‚«‚́A‚»‚ÌMD5ƒŠƒXƒg‚Ì’†‚É‚Í‚»‚ÌMD5ƒŠƒXƒgƒtƒ@ƒCƒ‹‚Ì MD5‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚¹‚ñB ‚È‚º‚È‚çAMD5ƒŠƒXƒg‚̃tƒ@ƒCƒ‹‚Ì MD5 ‚ðŠÜ‚ñ‚¾ - MD5ƒŠƒXƒg‚ª‚Å‚«‚È‚¢‚©‚ç‚Å‚·B - - ‘Ώۂ̃tƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é MD5ƒŠƒXƒg‚ðAˆê“xAƒeƒ“ƒ|ƒ‰ƒŠ[ƒtƒHƒ‹ƒ_[‚ȂǂɈړ®‚µ‚Ä‚©‚çA - MD5 ƒŠƒXƒg‚ðŽg‚Á‚āAƒtƒHƒ‹ƒ_[‚ª³‚µ‚­•œŒ³‚Å‚«‚½‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ IsSameHashValueOfLeafPathDictionary (MD5CacheClass) - - - - - - - - MD5CacheClass - ƒtƒ@ƒCƒ‹‚̃pƒX‚ƁA - - MD5 - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ‚̃nƒbƒVƒ…’l‚ÌŠÖ˜A‚ð•\Œ»‚·‚鎫‘B - Ž«‘‚Ì“à—e‚̓tƒ@ƒCƒ‹‚É•Û‘¶(Save)Eƒtƒ@ƒCƒ‹‚©‚ç•œ‹A(Load)‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒnƒbƒVƒ…’l‚ðŒvŽZ(Scan)‚·‚é‚Æ‚«‚́A‘O‰ñŒvŽZ‚µ‚½‚Æ‚«‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ƈقȂéƒtƒ@ƒCƒ‹‚¾‚¯ÄŒvŽZ‚·‚é - ‚±‚ƂŁA‚‘¬‚É MD5 ‚ÌŽ«‘‚ðXV‚µ‚Ü‚·B - - MD5 ƒŠƒXƒg‚̃tƒ@ƒCƒ‹‚ðì¬‚µ‚Ä‚¨‚¯‚΁AƒtƒHƒ‹ƒ_[‚̃TƒCƒY‚ðíŒ¸‚·‚邽‚ß“¯‚¶ƒnƒbƒVƒ…’l‚̃tƒ@ƒCƒ‹‚ð - ˆêŽž“I‚ɍ폜iFragmentj‚µ‚½‚èA•K—v‚ÈŽž‚Ƀtƒ@ƒCƒ‹‚𕜋AiDefragmentj‚µ‚½‚è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒeƒXƒg - T_MD5Cache - - ¨ T_fc.vbs - - - - Set hashes = new MD5CacheClasshashes.Initialize hashes.c.TimeStamp - hashes.TargetPaths = "C:\Folder" - hashes.Scan Empty, Empty, False - hashes.Save "_HashCache.txt" - - ƒTƒ“ƒvƒ‹ - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv•t‚«‚Ì MD5ƒŠƒXƒg‚àˆµ‚¦‚Ü‚·B ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªˆá‚Á‚½ƒtƒ@ƒCƒ‹‚¾‚¯ÄŒvŽZ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - MD5 - - ƒtƒ@ƒCƒ‹–¼i‘Š‘΃pƒXj - - - - - 2015-12-28T11:13:34+09:00 fadc3390060b1ba5ef3bef593b7c930d FileA.txt2016-02-20T11:01:04+09:00 60631deb298f23dc7e3a4ada23d8372c FileB.txt - - FileB.txt - FileA.txt - ƒnƒbƒVƒ…’l‚̂݃`ƒFƒbƒNAƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªˆá‚Á‚½ƒtƒ@ƒCƒ‹‚¾‚¯ÄŒvŽZ - - - - - - •œŒ³‚µ‚½ƒtƒHƒ‹ƒ_[ - MD5 ƒŠƒXƒg - - - - - - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv - - - - - - - TargetPaths - - - Dim MD5CacheClass::TargetPaths as string or PathDictionaryClass - - MD5ƒŠƒXƒg‚Ì’†‚Ì‘Š‘΃pƒX‚̊‚Æ‚È‚éƒpƒXA‚Ü‚½‚́AMD5ƒŠƒXƒg‚ð\¬‚·‚éƒtƒ@ƒCƒ‹‚̃ŠƒXƒgB - - PathDictionaryClass - - ‚P‚‚̃tƒ@ƒCƒ‹ƒpƒX‚𕶎š—ñŒ^‚ÅŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - - - - - - - DefaultHashFileName - - - Dim MD5CacheClass::DefaultHashFileName as string - - •Û‘¶‚·‚é‚Æ‚«‚̃fƒtƒHƒ‹ƒg‚̃tƒ@ƒCƒ‹–¼B Scan ‚·‚é‚Æ‚«‚ɃfƒtƒHƒ‹ƒg‚ŃXƒLƒbƒv‚·‚éƒtƒ@ƒCƒ‹–¼B - - - - - - - GetHashFromStepPath - - - Function MD5CacheClass::GetHashFromStepPath( in_StepPath as string ) as string - - ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX‚©‚çAƒtƒ@ƒCƒ‹ŒÅ—L‚̃nƒbƒVƒ…’l‚ð•Ô‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒnƒbƒVƒ…’l‚ª“o˜^‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΁AEmpty ‚ð•Ô‚µ‚Ü‚·B - ‘Š‘΃pƒX‚̊ƒpƒX - - Load ƒƒ\ƒbƒh - - - Scan ƒƒ\ƒbƒh - - ‚Ü‚½‚Í - ‚Ì in_TargetPaths ˆø”‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚̃pƒXi•¶Žš—ñj‚ªA - ‘Š‘΃pƒX‚̊ƒpƒX‚É‚È‚è‚Ü‚·B in_TargetPaths ˆø”‚É PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚ðŽw’肵‚½‚Æ‚«‚́A‚»‚Ì BasePath ƒvƒƒpƒeƒB‚ªŠî€ƒpƒX‚É‚È‚è‚Ü‚·B - ŽQl - - ¨ GetBasePath - - - - - - - - GetFirstStepPathFromHash - - - Function MD5CacheClass::GetFirstStepPathFromHash( in_HashValue as string ) as string - - ƒtƒ@ƒCƒ‹ŒÅ—L‚̃nƒbƒVƒ…’l‚©‚çA‘¶Ý‚·‚é‚P‚‚̃tƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX‚ð•Ô‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ŽQl - - ¨ ‘Š‘΃pƒX‚̊ƒpƒX - - - - - - - - SetHashValue - - - Sub MD5CacheClass::SetHashValue( in_StepPath as string, in_HashValue as string ) - - ƒtƒ@ƒCƒ‹‚̃pƒX‚ɁAŒvŽZÏ‚݂̃tƒ@ƒCƒ‹ŒÅ—L‚̃nƒbƒVƒ…’l‚ðÝ’肵‚Ü‚·B - ƒnƒbƒVƒ…’l‚ðŒvŽZ‚·‚é‚æ‚è‚à‘‚­ˆ—‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - in_HashValue ˆø”‚É Empty ‚ðŽw’è‚·‚é‚ƁAƒŠƒXƒg‚©‚珜ŠO‚³‚ê‚Ü‚·B‚·‚łɏœŠO‚³‚ê‚Ä‚¢‚é‚Æ‚«‚͉½‚à‚¹‚¸AƒGƒ‰[‚É‚à‚È‚è‚Ü‚¹‚ñB - yˆø”z - in_StepPath - in_HashValue - ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒXB Šî€‚Í - io—́j in_StepPath ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l - - ¨ ‘Š‘΃pƒX‚̊ƒpƒX - - - - - - - - Load - - - Sub MD5CacheClass::Load( in_HashCachePath as string, in_TargetPaths as string or PathDictionaryClass ) - - ŒvŽZÏ‚݂̃tƒ@ƒCƒ‹ŒÅ—L‚̃nƒbƒVƒ…’l‚ª‚½‚­‚³‚ñ‹L˜^‚³‚ꂽƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚µ‚Ü‚·B - yˆø”z - in_HashCachePath - in_TargetPaths - ƒnƒbƒVƒ…’l‚ª‚½‚­‚³‚ñ‹L˜^‚³‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX - EmptyA‚Ü‚½‚́AƒXƒLƒƒƒ“‚·‚é‘Ώۂ̃pƒX - in_TargetPaths ‚ÉŽw’肵‚½ƒtƒ‹ ƒpƒX‚ð Me.TargetPaths ‚ɐݒ肵‚Ü‚·Bin_TargetPaths ‚É Empty ‚ðŽw’肵‚½‚çAin_HashCachePath ‚̐eƒtƒHƒ‹ƒ_[‚̃pƒX‚ð in_TargetPaths ‚É - Žw’肵‚½‚Æ‚«‚Æ“¯‚¶“®‚«‚ð‚µ‚Ü‚·B PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - T_MD5Cache - - ¨ T_fc.vbs - - in_HashCachePath ‚̊ƒpƒX‚́AƒJƒŒƒ“ƒg ƒtƒHƒ‹ƒ_[‚Å‚·B - - - - - - - Save - - - Sub MD5CacheClass::Save( in_OutHashCachePath as string or Empty ) - - ƒtƒ@ƒCƒ‹ŒÅ—L‚̃nƒbƒVƒ…’l‚ðƒtƒ@ƒCƒ‹‚É•Û‘¶‚µ‚Ü‚·B - yˆø”z - in_OutHashCachePath - ƒnƒbƒVƒ…’l‚ð‚½‚­‚³‚ñ‹L˜^‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - - Scan - - ‚È‚Ç‚Å“o˜^‚³‚ꂽƒnƒbƒVƒ…’l‚ƃ^ƒCƒ€ ƒXƒ^ƒ“ƒv‚ðo—Í‚µ‚Ü‚·B - - - 2999-12-31T00:00:00Z af7da95e0ba5ff3c49b5c11d3645db85 t10.txt2999-12-31T00:00:00Z 4787fe8ae24c12988db6b8dbaf686b20 t11.txt - 2999-12-31T00:00:00Z a461d688d013e47c4010387e7922940d t12.txt - - ƒTƒ“ƒvƒ‹ - •Û‘¶‚³‚ꂽƒtƒ@ƒCƒ‹‚Ì“à—e‚Ì—á - ª‘Š‘΃pƒX - - ªMD5 - - - ªW3C-DTF - - - - g_FileHashCache.RemoveAll Set cache = new MD5CacheClass - cache.Scan "Folder", Empty, False - cache.Save "_HashCache.txt" - - ƒTƒ“ƒvƒ‹ - ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l‚ðŒvŽZ‚µ‚Ä•Û‘¶‚µ‚Ü‚· - ƒ\[ƒX - - ¨ ToolsLib.vbs - - in_OutHashCachePath ‚ª Empty ‚Ì‚Æ‚«‚́AMe.DefaultHashFileName ‚É•Û‘¶‚µ‚Ü‚·B - Šî€‚Í Scan Žž‚̃pƒX - ƒeƒXƒg - T_MD5Cache - - ¨ T_fc.vbs - - - - - - - - Scan - - - Sub MD5CacheClass::Scan( in_TargetPaths as Empty or string or PathDictionaryClass, - in_ScanFilterPaths as Empty or string or PathDictionaryClass, - in_IsCompareTimeStamp as boolean ) - - ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l‚ðŒvŽZ‚µ‚Ä“o˜^‚µ‚Ü‚·B - yˆø”z - in_TargetPaths - ƒXƒLƒƒƒ“‚·‚é‘Ώۂ̃pƒX - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃tƒBƒ‹ƒ^[ - in_ScanFilterPaths - in_IsCompareTimeStamp - ƒ^ƒCƒ€ ƒXƒ^ƒ“ƒv‚ª•ÏX‚³‚ꂽ‚Æ‚«‚¾‚¯ÄŒvŽZ‚·‚é‚©‚Ç‚¤‚© - ‘¶Ý‚µ‚È‚¢ƒtƒ@ƒCƒ‹‚́AƒnƒbƒVƒ…‚̃ŠƒXƒg‚©‚珜ŠO‚³‚ê‚Ü‚·B - in_TargetPaths ‚ª Empty ‚Ì‚Æ‚«‚́AMe.TargetPaths ‚ðŽg‚¢‚Ü‚·B Empty ‚Å‚È‚¯‚ê‚΁AMe.TargetPaths ‚ðã‘‚«‚µ‚Ü‚·B - Me.TargetPaths ‚Æ in_ScanFilterPaths ‚Ì—¼•û‚ÅŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚ðA“o˜^‚µ‚Ü‚·B - - in_ScanFilterPaths ‚ª Empty ‚Ì‚Æ‚«‚́AMe.TargetPaths ‚¾‚¯‚ðŽg‚¢‚Ü‚·B - ‚µ‚½ƒtƒHƒ‹ƒ_[‚ɑ΂µ‚Ä - Fragment - Scan ‚·‚é‚Æ‚«‚́A’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - T_MD5Cache - - ¨ T_fc.vbs - - - - - - - - Fragment - - - Sub MD5CacheClass::Fragment( in_ScanFilterPaths as Empty or string or PathDictionaryClass, - ref_CopiedCache as MD5CacheClass, in_IsCheckFileHash as boolean ) - - “o˜^‚³‚ê‚Ä‚¢‚éƒnƒbƒVƒ…’l‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚ª‚ ‚ê‚΁A‚P‚Â‚ðœ‚¢‚č폜‚µ‚Ü‚·B - yˆø”z - in_ScanFilterPaths - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃tƒBƒ‹ƒ^[ - ƒnƒbƒVƒ…’l‚ª“o˜^‚³‚ê‚Ä‚¢‚é•Ê‚̃LƒƒƒbƒVƒ… - ref_CopiedCache - in_IsCheckFileHash - íœ‚·‚é‚Æ‚«‚ɃnƒbƒVƒ…’l‚ðÄŒvŽZ‚µ‚ă`ƒFƒbƒN‚·‚é‚©‚Ç‚¤‚© - Me ‚Æ in_ScanFilterPaths ‚Ì—¼•û‚ÅŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚ªAíœ‚³‚ê‚éŒó•â‚Å‚·Bin_ScanFilterPaths ‚ª Empty ‚Ì‚Æ‚«‚́AMe ‚¾‚¯‚ðŽg‚¢‚Ü‚·B - "Me.Defragment" ‚Å•œ‹A‚Å‚«‚éŒÀ‚èA“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B"Me" ‚É“ü‚Á‚Ä‚¢‚éƒpƒX‚ªŽw‚·ƒtƒ@ƒCƒ‹‚Æ“¯‚¶“à—ei“¯‚¶ƒnƒbƒVƒ…’lj‚Ì - ƒtƒ@ƒCƒ‹‚ªA"in_CopiedCache" ‚É“ü‚Á‚Ä‚¢‚éƒpƒX‚ªŽw‚·ƒtƒ@ƒCƒ‹ - ‚É‚ ‚é‚Æ‚«A"Me" ‚É“ü‚Á‚Ä‚¢‚éƒpƒX‚̃tƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B - "Me" ‚É“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ª•¡”‚ ‚é‚Æ‚«‚àA‚P‚Â‚ðœ‚¢‚ătƒ@ƒCƒ‹‚ðíœ - ‚µ‚Ü‚·B - "ref_CopiedCache.DictionaryFromHash( hash )( 0 )" ‚ªŽw‚·ƒpƒX‚Ƀtƒ@ƒCƒ‹‚ª‘¶Ý‚·‚é‚悤‚É "ref_CopiedCache.DictionaryFromHash( hash )" ”z—ñ‚Ì—v‘f‚Ì - ‡”Ô‚ª“ü‚ê‘Ö‚í‚è‚Ü‚·B íœ‚·‚é‘O‚̃tƒ@ƒCƒ‹‚̃Rƒs[‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚ª - ƒSƒ~” ‚É“ü‚è‚Ü‚·B - íœ‚³‚ꂽƒtƒ@ƒCƒ‹‚́A - - Defragment - - ‚ŁA•œ‹A‚Å‚«‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - T_MD5Cache_Fragment - - ¨ T_fc.vbs - - - - - - - - Defragment - - - Sub MD5CacheClass::Defragment( in_ScanFilterPaths as Empty or string or PathDictionaryClass, - in_CopiedCache as MD5CacheClass ) - - ƒnƒbƒVƒ…’l‚ª“o˜^‚³‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ª‚È‚¯‚ê‚΁A“¯‚¶ƒnƒbƒVƒ…’l‚̃tƒ@ƒCƒ‹‚©‚çƒRƒs[‚µ‚Ü‚·B - yˆø”z - in_ScanFilterPaths - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃tƒBƒ‹ƒ^[ - ƒnƒbƒVƒ…’l‚ª“o˜^‚³‚ê‚Ä‚¢‚é•Ê‚̃LƒƒƒbƒVƒ… - ref_CopiedCache - Me ‚Æ in_ScanFilterPaths ‚Ì—¼•û‚ÅŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚ªAƒRƒs[‚³‚ê‚éŒó•â‚Å‚·Bin_ScanFilterPaths ‚ª Empty ‚Ì‚Æ‚«‚́AMe ‚¾‚¯‚ðŽg‚¢‚Ü‚·B - Me ‚Ì’†‚̃nƒbƒVƒ…’l‚Æ“¯‚¶ƒnƒbƒVƒ…’l‚ðŽ‚Â ref_CopiedCache ‚Ì’†‚Ì"in_CopiedCache.DictionaryFromHash( hash )( 0 )" ‚ªŽw‚·ƒtƒ@ƒCƒ‹‚ðA - - Fragment - - Me.TargetPaths ‚Ì’†‚ɃRƒs[‚·‚邱‚Æ‚É‚æ‚Á‚āA - ‚ō폜‚³‚ꂽƒtƒ@ƒCƒ‹‚𕜋A‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - T_MD5Cache_Fragment - - ¨ T_fc.vbs - - - - Set cache = new MD5CacheClass cache.Load "_work\Folders_1_PartHash.txt", "_work\defragmented" - - Set copied_cache = new MD5CacheClass - copied_cache.Load "_work\Folders_1_Hash.txt", "_work\copy" - - cache.Defragment Empty, copied_cache - - ƒTƒ“ƒvƒ‹ - ƒRƒs[æ‚̃tƒHƒ‹ƒ_[‚ðŽw’è‚·‚é‚Æ‚«‚́AMe.TargetPaths ‚ðƒRƒs[æ‚̃tƒHƒ‹ƒ_[‚ɐݒ肵‚Ä - - Load - - ‚Ì in_TargetPaths ˆø”‚ɃRƒs[æ‚̃tƒHƒ‹ƒ_[‚ðŽw’肵‚Ä‚©‚ç - Defragment ‚µ‚Ä‚­‚¾‚³‚¢B - ‚©‚ç Defragment ‚·‚é‚©A - - - - - - - ‚¾‚¯iMe ‚Ì’†‚Å—Bˆêj‚ ‚é‚Æ‚«‚́Ain_MoveTargets ‚ÉŽw’肵‚½ƒŠƒXƒg‚Ì’†‚É‚ ‚铯‚¶ƒnƒbƒVƒ…’l‚̃pƒX‚ɁAƒtƒ@ƒCƒ‹‚ðˆÚ“®‚µ‚Ü‚·B in_MoveTargets ‚ÉŽw’肵‚½ƒŠƒXƒg‚Ì’†‚É‚È‚¢ƒtƒ@ƒCƒ‹‚́A‚»‚̃tƒ@ƒCƒ‹‚Æ - Me ‚Ì’†‚̃nƒbƒVƒ…’l‚ðíœ‚µ‚Ü‚·B‚à‚µAin_MoveTargets ‚ÉŽw’肵‚½ƒŠƒXƒg‚ª•s‘«‚µ‚Ä‚¢‚é‚ƁA - Delete - - - Sub MD5CacheClass::Delete( in_DeletingFolderPath as string, in_MoveTargets as array of MD5CacheClass ) - - ƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚·B - yˆø”z - in_DeletingFolderPath - íœ‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - ŽQÆ‚µ‚Ä‚¢‚éƒtƒ‰ƒOƒƒ“ƒg‚ª‚ ‚é‰Â”\«‚ª‚ ‚éƒnƒbƒVƒ…‚ÌŽ«‘‚Ì”z—ñ - in_MoveTargets - - Fragment - - - Defragment - - ‚Å‚«‚È‚­‚È‚é‚̂ŁA’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - ‚ō폜‚³‚ꂽƒtƒ@ƒCƒ‹‚Æ“¯‚¶ƒnƒbƒVƒ…’l‚̃tƒ@ƒCƒ‹‚ªAíœ‚µ‚悤‚Æ‚µ‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚Ì’† - - - - - - - Verify - - - Sub MD5CacheClass::Verify( in_ScanFilterPaths as Empty or string or PathDictionaryClass ) - - ‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l‚ª³‚µ‚¢‚©‚Ç‚¤‚©‚ðÄŒvŽZ‚µ‚ă`ƒFƒbƒN‚µ‚Ü‚·B - yˆø”z - in_ScanFilterPaths - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃tƒBƒ‹ƒ^[ - Me ‚É“o˜^‚³‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚Ì‚¤‚¿A‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚ɂ‚¢‚āAƒnƒbƒVƒ…’l‚ª³‚µ‚¢‚©‚Ç‚¤‚©‚ðÄŒvŽZ‚µ‚āAMe ‚É“o˜^‚³‚ê‚Ä‚¢‚éƒnƒbƒVƒ…’l‚Æ“™‚µ‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - “™‚µ‚­‚È‚¢ƒtƒ@ƒCƒ‹‚ª‚ ‚Á‚½‚çA‚»‚±‚ŃGƒ‰[‚É‚È‚è‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - T_MD5Cache_Fragment - - ¨ T_fc.vbs - - ƒtƒ@ƒCƒ‹‚Ì‘¶Ý‚ɂ‚¢‚ă`ƒFƒbƒN‚·‚é‚Æ‚«‚́A - - ¨ CheckFileExistsAnywhereInFileList - - - - - - - - CheckFileExistsAnywhereInFileList - - - Sub MD5CacheClass::CheckFileExistsAnywhereInFileList( _ in_HashFilePath as string or PathDictionaryClass of Nothing ) - - ˆê——ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽƒnƒbƒVƒ…’l‚ƁA“¯‚¶“à—e‚̃tƒ@ƒCƒ‹‚ª•Ê‚É‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - yˆø”z - in_HashFilePath - ƒnƒbƒVƒ…’l‚ª‘‚©‚ꂽˆê——ƒtƒ@ƒCƒ‹‚̃pƒX - ƒ\[ƒX - - ¨ ToolsLib.vbs - - “à•”‚ł́A"Me.DictionaryFromHash( hash )( 0 )" ‚ªŽw‚·ƒpƒX‚ɁAƒtƒ@ƒCƒ‹‚ª‘¶Ý‚·‚é‚悤‚É "Me.DictionaryFromHash( hash )" ”z—ñ‚Ì—v‘f‚̏‡”Ô‚ª“ü‚ê‘Ö‚í‚è‚Ü‚·B - ŠY“–‚·‚éƒnƒbƒVƒ…’l‚ðŽ‚Âƒtƒ@ƒCƒ‹‚Ì“à—e‚̓`ƒFƒbƒN‚µ‚Ü‚¹‚ñB ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðƒ`ƒFƒbƒN‚·‚é‚Æ‚«‚́A - - ¨ Verify - - - ¨ Save - - ƒeƒXƒg - T_MD5Cache_Fragment - - ¨ T_fc.vbs - - - PathDictionaryClass - - in_HashFilePath ‚ªŽw‚·ƒpƒXˆÈŠO‚ɁAMe ‚ªŽw‚·ƒpƒX‚Ƀtƒ@ƒCƒ‹‚ª‚ ‚ê‚΁A‚»‚ê‚ðƒRƒs[‚µ‚Ä•œŠˆiDefragmentj‚Å‚«‚é‚̂ŁA‚»‚̏ꍇ‚̓Gƒ‰[‚É‚Í‚È‚è‚Ü‚¹‚ñB - - - - - - - IsSameHashValuesOfLeafPathDictionary - - - Sub MD5CacheClass::IsSameHashValuesOfLeafPathDictionary( arg_2ndLeafPathDictionary as string or LeafPathDictionary, - in_2ndBasePath as MD5CacheClass ) - - ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l‚̃Zƒbƒg‚ªAMe ‚É“o˜^‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Æ“¯‚¶‚©”äŠr‚µ‚Ü‚·B - yˆø”z - arg_2ndLeafPathDictionary - ’²‚ׂéƒtƒHƒ‹ƒ_[A‚Ü‚½‚́Aƒtƒ@ƒCƒ‹‚̏W‡ - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃pƒX - in_2ndBasePath - - - –¢Šm”F - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - LeafPathDictionary - - - - - - - - MD5CacheFileClass - ‚ÅŠÇ—‚·‚éƒtƒ@ƒCƒ‹‚Ì‘®«B - .HashValue - MD5 ƒnƒbƒVƒ…’l - .TimeStamp - string - Date - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv - - MD5CacheClass - - - - - - - - fc (”äŠr) - - - Function fc( PathA as string, PathB as string ) - - ƒtƒ@ƒCƒ‹A‚Ü‚½‚̓tƒHƒ‹ƒ_‚ª“¯ˆê‚©‚Ç‚¤‚©‚ð”äŠr‚µ‚Ü‚·B - yˆø”z - PathA - PathB - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ƒpƒXAA‚Ü‚½‚̓tƒHƒ‹ƒ_ƒpƒXA - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ƒpƒXBA‚Ü‚½‚̓tƒHƒ‹ƒ_ƒpƒXB - •Ô‚è’l - “¯ˆê=True - ƒTƒ“ƒvƒ‹F - - - Assert fc( "result.txt", "ans.txt" ) - - vbslib.vbs ‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_‚ɁAfeq.exe ‚ª•K—v‚Å‚·B - - (src) - - •W€o—́F ƒtƒ@ƒCƒ‹‚Ì“à—e‚ª“¯‚¶‚¾‚Á‚½‚Æ‚« - - - fc "result.txt", "ans.txt"same. - - - - fc "result.txt", "ans.txt"different. - - •W€o—́F ƒtƒ@ƒCƒ‹‚Ì“à—e‚ªˆá‚Á‚½‚Æ‚« - •W€o—́F ƒtƒHƒ‹ƒ_‚Ì“à—e‚ª“¯‚¶‚¾‚Á‚½‚Æ‚« - - - fc "folder1", "folder2"same. - - •W€o—́F ƒtƒHƒ‹ƒ_‚Ì“à—e‚ªˆá‚Á‚½‚Æ‚« - - - fc "folder1", "folder2"Not found "sub\file1.txt" in "folder1" - Not found "sub2" in "folder2" - Not same "sub\file2.txt" - different. - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - - If not fc( "result.txt", "ans.txt" ) Then raise E_TestFail,"" - - - ¨ T_fc ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - ƒ\[ƒX - - ¨ feq ƒtƒHƒ‹ƒ_[ - - feq.exe ‚̃\[ƒX - - ¨ T_feq ƒtƒHƒ‹ƒ_[ - - - - - - - - fc_r - - - Function fc_r( path_a as string, path_b as string, redirect_path as string ) as boolean - - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚©’²‚ׂ܂·B - yˆø”z - path_a - path_b - ‚P‚–ڂ̃tƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃pƒX - ‚Q‚–ڂ̃tƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃pƒX - redirect_path - ’²‚ׂ½Œ‹‰Ê‚̏ڍׂ̏o—͐æ‚̃tƒ@ƒCƒ‹ƒpƒXAEmptyA"nul" ‰Â - •Ô‚è’l - “¯‚¶‚©‚Ç‚¤‚© - vbslib.vbs ‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_‚ɁAfeq.exe ‚ª•K—v‚Å‚·B - - (src) - - redirect_path ‚Ì’l - o—͐æ - - ‚»‚Ì‘¼ - "nul" - ‚È‚µ - Empty - ‚È‚µ - "" - •W€o—Í - ƒtƒ@ƒCƒ‹ - - ¨ fc - - o—Í“à—e‚ɂ‚¢‚ẮA - - - - - - - fc_ex - - - Function fc_ex( PathA as string, PathB as string, Opt as fc_option ) as boolean - - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚©’²‚ׂ܂·B - yˆø”z - PathA - ‚P‚–ڂ̃tƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃pƒX - Opt - Empty ‚Ü‚½‚Í ƒIƒvƒVƒ‡ƒ“ - •Ô‚è’l - “¯‚¶‚©‚Ç‚¤‚© - vbslib.vbs ‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_‚ɁAfeq.exe ‚ª•K—v‚Å‚·B - PathB - ‚Q‚–ڂ̃tƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃pƒX - - - Class fc_option Public FcOptionIniPath - Public FcResultRedirectPath - Public m_bStdOut - Public IsStartDiffIfNotSame - Public IsXmlComparedAsBinary - End Class - - Opt ˆø”Afc_option - ƒIƒvƒVƒ‡ƒ“Žw’èƒtƒ@ƒCƒ‹ fc.ini ‚̃pƒX - FcOptionIniPathAƒIƒvƒVƒ‡ƒ“Žw’èƒtƒ@ƒCƒ‹ fc.ini - - - [Excludes]A = obj - A = proj\Debug - : : - - ”äŠr‚ðs‚í‚È‚¢ƒtƒ@ƒCƒ‹‚̈ꗗ - –¢‘Ήž - IsStartDiffIfNotSame - ˆá‚¢‚ª”­Œ©‚³‚ꂽ‚çAdiff ‚ð‹N“®B ‹N“®‚µ‚½‚çAFalse ‚É‚È‚è‚Ü‚· - diff ƒc[ƒ‹‚́A - - Setting_getDiffCmdLine - - ‚Őݒ肵‚Ü‚·B - Œ‹‰Ê‚ðo—Í‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - –¢‘Ήž - –¢‘Ήž - XML ‚Æ‚µ‚Ä“¯‚¶‚Å‚àAƒeƒLƒXƒg‚ªˆÙ‚È‚ê‚΁AˆÙ‚È‚é‚Æ”»’è‚·‚é - IsXmlComparedAsBinary - False ‚È‚çA•¶ŽšƒR[ƒh‚â‹ó”’•¶Žš‚Ȃǂ̈Ⴂ‚ª‚ ‚Á‚Ä‚àAXML ƒhƒLƒ…ƒƒ“ƒg‚̃f[ƒ^‚ª“¯‚¶‚Å‚ ‚ê‚Γ¯‚¶‚Æ”»’肵‚Ü‚·B - ƒfƒtƒHƒ‹ƒgiEmptyj‚Í True ‚Å‚·B - - ¨ T_XML.vbs # [T_CompareXml] - - ƒeƒXƒg - - (src) - - - - - - - - set_fc_option - - - set_fc_option( new fc_option ).m_bStartDiff = TrueIf not fc( file_a, file_b ) Then Fail - If not fc( file_a, file_c ) Then Fail - set_fc_option Empty - - - - Function set_fc_option( opt as fc_option ) as fc_option - - - fc - - ‚̃IƒvƒVƒ‡ƒ“‚ðÝ’肵‚Ü‚·B ƒfƒoƒbƒO—p‚Å‚·B - ƒTƒ“ƒvƒ‹F fc ‚ňႢ‚ª”­Œ©‚³‚ꂽ‚çA‚»‚̃tƒ@ƒCƒ‹‚ɑ΂µ‚Ä diff ‚ð‹N“®‚µ‚Ü‚·B - ‚±‚̃IƒvƒVƒ‡ƒ“‚́Afc, fc_r, fc_ex ‚Ì‚·‚ׂĂɐݒ肳‚êAset_fc_option Empty ‚·‚é‚Ü‚Å—LŒø‚Å‚·B - •Ô‚è’l‚́Aopt ˆø”‚ª‚»‚Ì‚Ü‚Ü•Ô‚è‚Ü‚·B - - fc_option - - - - - - - - ƒ}[ƒWAdiff - - ¨ ThreeWayMerge - - - ¨ FourWayMerge - - - ¨ diff - - - - - - - - diff - - - Function diff( in_LeftPath as string, in_RightPath as string, in_OutputPath as string, in_out_Option ) as string - - diff ‚ðŽÀs‚µ‚āAƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚Ì“à—e‚ð”äŠr‚µ‚Ü‚·B - yˆø”z - in_LeftPath - ‚P‚–ڂ̔äŠr‚·‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒX - in_RightPath - ‚Q‚–ڂ̔äŠr‚·‚éƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒX - in_OutputPath - ”äŠr‚µ‚½Œ‹‰Ê‚ðo—Í‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - in_out_Option - Empty - - ¨ ToolsLib.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Diff.vbs - - T_ParseUnifiedDiff - - - 1<<<<<<< Left.txt - LLL - ======= - RRR - >>>>>>> Right.txt - 2 - 3 - - ƒTƒ“ƒvƒ‹ - Output.txt - diff ŠÖ”‚́A“à•”‚Å scriptlib\GPL ‚É“ü‚Á‚Ä‚¢‚é - ‚ðƒRƒ}ƒ“ƒhƒ‰ƒCƒ“Œo—R‚Å - - Diffutils - - ŒÄ‚яo‚µADiffutils ‚̏o—́uƒf[ƒ^v‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B ‚±‚Ì‚½‚߁AGPL ‚Ì”h¶ƒvƒƒOƒ‰ƒ€‚ÉŠY“–‚µ‚È‚¢i—¼—§‚·‚é•K—v‚ª‚È‚¢j‚à‚̂ƍl‚¦‚Ä‚¢‚Ü‚·B - diff ŠÖ”‚Ì“à•”‚Æ Diffutils - - ¨ GPL ‚̃vƒƒOƒ‰ƒ€‚ðŠÜ‚Þ vbslib ‚̍Ĕz•z‚Ì’ˆÓ“_ - - ŽQl - - Windows ‚Ì GNU UNIX ƒRƒ}ƒ“ƒh‚Ì’ˆÓ - - ‚ðŽç‚邽‚߂̏ˆ—‚ªs‚í‚ê‚Ä‚¢‚Ü‚·B - Žg‚¢ˆÕ‚­‚·‚邽‚߁AThreeWayMerge ‚Ì“à•”‚Å - - - 1LLL - 2 - 3 - - - - 1RRR - 2 - 3 - - Left.txt - Right.txt - - - diff "Left.txt", "Right.txt", "Output.txt", Empty - - •Ô‚è’l - ”äŠr‚µ‚½Œ‹‰Êiin_OutputPath = Empty ‚Ì‚Æ‚«j - ”äŠr‚·‚éƒeƒLƒXƒg‚ª“¯‚¶“à—e‚¾‚Á‚½‚Æ‚«‚́A‚»‚Ì“à—e‚ª‚»‚̂܂܏o—Í‚³‚ê‚Ü‚·B - - - - - - - ParseUnifiedDiff - - - Function ParseUnifiedDiff( in_UnifiedDiff as string ) as UnifiedDiffClass - - ‚̏o—́iunified Œ`Ž®j‚ð‰ðÍ‚µ‚Ü‚·B - - diff - - UnifiedDiffClass - array < UnifiedOneDifferenceClass > - UnifiedDiffClass - .Differences - .PlusStart.PlusOver - .MinusStart - .MinusOver - integerinteger - integer - integer - ƒf[ƒ^\‘¢ - yˆø”z - in_UnifiedDiff - •Ô‚è’l - diff ‚̏o—́iunified Œ`Ž®j - ‰ðÍŒ‹‰Ê - ’ljÁŠJŽns”ԍ†’ljÁ‚ÌŽŸ‚̍s”ԍ† - íœŠJŽns”ԍ† - íœ‚ÌŽŸ‚̍s”ԍ† - - ¨ UnifiedDiffClass - - - (src) - - ƒ\[ƒX - ƒeƒXƒg - - ¨ ToolsLib.vbs - - T_ParseUnifiedDiff - - ¨ T_Diff.vbs - - - ¨ diff ‚̏o—ÍŒ`Ž® - - - - - - - - ThreeWayMerge - - ¨ T_Diff.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - Sub ThreeWayMerge( in_BasePath as string, in_LeftPath as string, in_RightPath as string, in_MergedOutputPath as string, in_out_Option as ThreeWayMergeOptionClass ) - - 3ƒEƒFƒC ƒ}[ƒWi3•ûŒüƒ}[ƒWj‚ð‚µ‚Ü‚·B - yˆø”z - in_BasePath - in_LeftPath - ƒuƒ‰ƒ“ƒ`‚·‚é‘O‚̃eƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒX - ƒuƒ‰ƒ“ƒ` Left ‚ōXV‚µ‚½ƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒX - in_RightPath - ƒuƒ‰ƒ“ƒ` Right ‚ōXV‚µ‚½ƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒX - - Windows ‚Ì GNU UNIX ƒRƒ}ƒ“ƒh‚Ì’ˆÓ - - ‚ðŽç‚邽‚߂̏ˆ—‚ªs‚í‚ê‚Ä‚¢‚Ü‚·B - ThreeWayMerge ‚Ì“à•”‚Æ Diffutils - in_MergedOutputPath - 3ƒEƒFƒCƒ}[ƒW‚µ‚½Œ‹‰Ê‚ðo—Í‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - - - Base - - - - Left - - - - Right - - - - - - - - - - - - - - Merged - - - - - - - - - - - - ƒRƒ“ƒtƒŠƒNƒg‚ª”­¶‚µ‚½‚çAE_Conflict ƒGƒ‰[‚É‚È‚è‚Ü‚·B ƒGƒ‰[‚Ì‚Æ‚«‚Å‚àAin_MergedOutputPath ˆø”‚É“n‚µ‚½ƒpƒX‚Ƀtƒ@ƒCƒ‹‚ªo—Í‚³‚êA‰º‹L‚̂悤‚É - ƒRƒ“ƒtƒŠƒNƒg‚µ‚½‚±‚Æ‚ðŽ¦‚·“à—e‚ªo—Í‚³‚ê‚Ü‚·B - in_out_Option - Empty ‚Ü‚½‚̓IƒvƒVƒ‡ƒ“ - - - <<<<<<< Left.txtLLL - ||||||| Base.txt - ======= - RRR - >>>>>>> Right.txt - - Left.txt - - - LLL - - Right.txt - - - RRR - - ƒJƒbƒRF - ˆÓ–¡F - Base.txt - T_ThreeWayMerge ‚È‚Ç - - ¨ ThreeWayMergeOptionClass - - - ¨ ThreeWayMerge ‚ÌŠg’£Ž©“®ƒ}[ƒW - - ŽQl - Žg‚¢ˆÕ‚­‚·‚邽‚߁AThreeWayMerge ‚Ì“à•”‚Å - ThreeWayMerge ‚́A“à•”‚Å scriptlib\GPL ‚É“ü‚Á‚Ä‚¢‚é - ‚ðƒRƒ}ƒ“ƒhƒ‰ƒCƒ“Œo—R‚Å - - Diffutils - - ŒÄ‚яo‚µADiffutils ‚̏o—́uƒf[ƒ^v‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B ‚±‚Ì‚½‚߁AGPL ‚Ì”h¶ƒvƒƒOƒ‰ƒ€‚ÉŠY“–‚µ‚È‚¢i—¼—§‚·‚é•K—v‚ª‚È‚¢j‚à‚̂ƍl‚¦‚Ä‚¢‚Ü‚·B - - ¨ GPL ‚̃vƒƒOƒ‰ƒ€‚ðŠÜ‚Þ vbslib ‚̍Ĕz•z‚Ì’ˆÓ“_ - - ŽQl - - ¨ ThreeWayMerge ƒRƒ}ƒ“ƒh - - ŠÖ˜A - - ¨ UpdateModule ƒRƒ}ƒ“ƒh - - - - - - - ¨ ThreeWayMerge ƒRƒ}ƒ“ƒh‚̃\[ƒX - - - - - - - - ThreeWayMergeOptionClass - - ¨ ThreeWayMerge ‚ÌŠg’£Ž©“®ƒ}[ƒW - - - ThreeWayMerge - - .IsAutoMergeEx - .SingletonKeywords - - << ThreeWayMerge - - .UniqueLineKeywords - True = Šg’£Ž©“®ƒ}[ƒWiƒfƒtƒHƒ‹ƒgjAFalse = diff3 ‚Ì -E ‘Š“– - - ¨ ³‹K•\Œ» - - - ¨ LoadThreeWayMergeOptionClass - - ŠÖ˜A - ƒ\[ƒX - - ¨ ToolsLib.vbs - - .IsConflictError - ¡‚܂łɃRƒ“ƒtƒŠƒNƒg‚ª”­¶‚µ‚½‚©‚Ç‚¤‚©B ‰Šú’l=False - .IsEnableToRaiseConflictError - ƒRƒ“ƒtƒŠƒNƒg‚ª”­¶‚µ‚½‚çƒGƒ‰[‚É‚·‚é‚©‚Ç‚¤‚©B ‰Šú’l=True - .MergeTemplate - ƒRƒ“ƒtƒŠƒNƒg‚ª”­¶‚µ‚½‚Æ‚«‚Ì’u‚«Š·‚¦ƒeƒ“ƒvƒŒ[ƒgB - - new_ReplaceTemplateClass ŠÖ” - - ‚Ì•Ô‚è’lB - - ¨ ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹‚ɂ́AMergeTemplatePath ƒ^ƒO‚ɁAnew_ReplaceTemplateClass ŠÖ”‚̈ø”‚É“n‚·ƒpƒX‚ðŽw’肵‚Ü‚·B - - ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - ‚̃^ƒO–¼‚Æ“¯‚¶‚Å‚·B ˆê•”ˆÙ‚È‚é–¼‘O‚Ì‚à‚͉̂º‹L‚É“Á‹L‚µ‚Ä‚¢‚Ü‚·B - ‚̃IƒvƒVƒ‡ƒ“‚̃Nƒ‰ƒX‚Å‚·B - - ¨ ReplaceTemplate.xml - - - ƒVƒ“ƒOƒ‹ƒgƒ“ ƒL[ƒ[ƒh - - - ƒ†ƒj[ƒN ƒ‰ƒCƒ“ ƒL[ƒ[ƒh - - ‚Ì”z—ñB ³‹K•\Œ»‚ÅŽw’è - ‚Ì”z—ñB ³‹K•\Œ»‚ÅŽw’è - .IsOutEach - ƒRƒ“ƒtƒŠƒNƒg‚ª”­¶‚µ‚½‚çA‚»‚ꂼ‚êi¶‚ƉEj‚ð•À‚ׂ邩‚Ç‚¤‚©B‰Šú’l=False - .BreakStepNum - ƒXƒeƒbƒvŽÀs‚ðŠJŽn‚·‚éƒXƒeƒbƒv”ԍ†AEmpty=ƒXƒeƒbƒvŽÀs‚µ‚È‚¢ - ƒeƒXƒg - - ¨ T_Diff.vbs - - T_ThreeWayMerge* - - ¨ FileWatcher - - ‰Šú’l=Empty - ƒXƒeƒbƒvŽÀs‚ÌÚ× - - - - - - - LoadThreeWayMergeOptionClass - - - Function LoadThreeWayMergeOptionClass( in_Path as string ) as ThreeWayMergeOptionClass - - ‚̃IƒuƒWƒFƒNƒg‚ðƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹‚©‚烍[ƒh‚µ‚Ü‚·B - yˆø”z - in_Path - ƒ[ƒh‚·‚éƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹‚̃pƒX - - ThreeWayMergeOptionClass - - - ¨ ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - ŽQl - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ’ˆÓ - ThreeWayMergeSet ƒ^ƒO‚̓[ƒh‚µ‚Ü‚¹‚ñB - ‚э[ƒh‚µ‚Ü‚·B - - SyncFilesX_Class::LoadScanListUpAll - - - - - - - - ThreeWayMerge ‚́A - ThreeWayMerge ‚ÌŠg’£Ž©“®ƒ}[ƒW - Add : ’ljÁ‚µ‚½ƒP[ƒX - - - Both - - - - <<<<<<< Base.txt======= - Both - >>>>>>> Right.txt - - - ¨ diff3 ‚̏ڍׂȃTƒ“ƒvƒ‹ - - ŽQl - diff3 -A ‚̏o—Í - Ž©“®ƒ}[ƒWŒã - Left ‚Æ Right ‚Ì—¼•û‚Å“¯‚¶“à—e‚ð’ljÁ‚µ‚½‚à‚̂́A‚»‚Ì‚Ü‚ÜŽc‚·B - “¯‚¶“à—e‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Ƃ́Aƒ`ƒFƒbƒNÏ‚݂̉”\«‚ª‚‚¢B - - - <<<<<<< Left.txtLLL - ||||||| Base.txt - ======= - RRR - >>>>>>> Right.txt - - - - LLL - RRR - - Left ‚Æ Right ‚Ì—¼•û‚ňقȂé“à—e‚ð’ljÁ‚µ‚½‚à‚̂́A‚»‚ꂼ‚ê‚ðŽc‚·B - ‚»‚ꂼ‚ꂪ•Ê‚Ì–Ú“I‚ŒljÁ‚µ‚½‰Â”\«‚ª‚‚¢B - - - BothLLL - - Both - RRR - - - - <<<<<<< Left.txtBoth - LLL - ||||||| Base.txt - ======= - Both - RRR - >>>>>>> Right.txt - - Left ‚Æ Right ‚Ì—¼•û‚ňقȂé“à—e‚ð’ljÁ‚µ‚½‚à‚̂́A‚»‚ꂼ‚ê‚ðŽc‚·B - ‚»‚ꂼ‚ꂪ•Ê‚Ì–Ú“I‚ŒljÁ‚µ‚½‰Â”\«‚ª‚‚¢B - “¯‚¶“à—e‚ª‚ ‚é•”•ª‚́A‰Šú‰»ŠÖ”‚ȂǁA‚»‚ꂼ‚ê‚Å•K—v‚È - ƒP[ƒX‚ª‚ ‚éB - - - Both - - Modify : •ÏX‚µ‚½ƒP[ƒX - Ž©“®ƒ}[ƒWŒã - diff3 -A ‚̏o—Í - - - <<<<<<< Base.txtBefore - ======= - Both - >>>>>>> Right.txt - - Left ‚Æ Right ‚Ì—¼•û‚Å“¯‚¶“à—e‚ɕύX‚µ‚½‚à‚̂́A‚»‚Ì‚Ü‚ÜŽc‚·B - “¯‚¶“à—e‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Ƃ́Aƒ`ƒFƒbƒNÏ‚݂̉”\«‚ª‚‚¢B - - - <<<<<<< Left.txtBoth - LLL - ||||||| Base.txt - Before1 - Before2 - ======= - Both - RRR - >>>>>>> Right.txt - - iƒRƒ“ƒtƒŠƒNƒg ƒGƒ‰[AƒJƒbƒR•t‚«‚Ì‚Ü‚ÜŽc‚·j - Left ‚Æ Right ‚Ì—¼•û‚ňقȂé“à—e‚ɕύX‚µ‚½‚à‚̂́AƒRƒ“ƒtƒŠƒNƒg ƒGƒ‰[‚É‚·‚éB iŽè“®‚Å’¼‚·j - •”•ª“I‚É“¯‚¶‚Å‚àA•ÏX‚µ‚½“à—e‚ªŒë‚Á‚Ä‚¢‚é‰Â”\«‚ª‚‚¢B - Delete : íœ‚µ‚½ƒP[ƒX - diff3 -A ‚̏o—Í - Ž©“®ƒ}[ƒWŒã - - - <<<<<<< Base.txtBoth - ======= - >>>>>>> Right.txt - - i–³‚­‚·j - “¯‚¶ŒÂŠ‚ðíœ‚µ‚½‚à‚̂́A‚»‚̂܂܍폜‚·‚éB - “¯‚¶‰ÓŠ‚̍폜‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Ƃ́Aƒ`ƒFƒbƒNÏ‚݂̉”\«‚ª‚‚¢B - - - <<<<<<< Left.txt||||||| Base.txt - Both - LLL - ======= - LLL - >>>>>>> Right.txt - - iƒRƒ“ƒtƒŠƒNƒg ƒGƒ‰[AƒJƒbƒR•t‚«‚Ì‚Ü‚ÜŽc‚·j - ˆÙ‚È‚é”͈͂ðíœ‚µ‚½‚à‚̂́AƒRƒ“ƒtƒŠƒNƒg ƒGƒ‰[‚É‚·‚éB iŽè“®‚Å’¼‚·‚©A“Á’è‚Ì“à—e‚Å’u‚«Š·‚¦‚éj - íœ‚µ‚½”͈͂ªŒë‚Á‚Ä‚¢‚é‰Â”\«‚ª‚‚¢B - - - <<<<<<< Left.txtUniqueLineKeyword A - ||||||| Base.txt - ======= - UniqueLineKeyword A - UniqueLineKeyword B - >>>>>>> Right.txt - - - - UniqueLineKeyword AUniqueLineKeyword B - - Left ‚Æ Right ‚Ì—¼•û‚ňقȂé“à—e‚ð’ljÁ‚µ‚½‚à‚̂́A‚Q‚–ڈȍ~‚Ì“¯‚¶“à—e‚̍s‚ð’ljÁ‚µ‚È‚¢B - —áF #include - ‚½‚¾‚µA·•ª‚ª‚ ‚Á‚½‘OŒã‚É‚àƒ†ƒj[ƒN ƒ‰ƒCƒ“ ƒL[ƒ[ƒh‚ª‚ ‚èA - ‚»‚ê‚ç‚̍s‚ɁA’ljÁ‚µ‚½“à—e‚Æ“¯‚¶“à—e‚̍s‚ª‚ ‚ê‚΁AˆêØ’ljÁ‚µ‚È‚¢B - - - <<<<<<< Left.txtLLL - ||||||| Base.txt - Before - ======= - RRR - >>>>>>> Right.txt - - Left ‚Æ Right ‚Ì—¼•û‚ňقȂé“à—e‚ɕύX‚µ‚½‚à‚̂́AƒRƒ“ƒtƒŠƒNƒg ƒGƒ‰[‚É‚·‚éB iŽè“®‚Å’¼‚·‚©A“Á’è‚Ì“à—e‚Å’u‚«Š·‚¦‚éj - •ÏX‚µ‚½“à—e‚ªŒë‚Á‚Ä‚¢‚é‰Â”\«‚ª‚‚¢B - iƒRƒ“ƒtƒŠƒNƒg ƒGƒ‰[AƒJƒbƒR•t‚«‚Ì‚Ü‚ÜŽc‚·j - - - <<<<<<< Left.txtSingletonKeyword L - ||||||| Base.txt - SingletonKeyword B - ======= - SingletonKeyword R - >>>>>>> Right.txt - - i—vÝ’èj‚ª‚ ‚é“à—e‚ðA - - - SingletonKeyword R - - Left ‚Æ Right ‚Ì—¼•û‚ňقȂé“à—e‚ɕύX‚µ‚½‚à‚̂́A‰E‚ðŽc‚·B - ‚½‚¾‚µAƒ}[ƒWŒã‚É“‡‚µ‚½“à—e‚É•Ï‚¦‚½‚Ù‚¤‚ª—Ç‚¢B - ƒpƒbƒ`‚ð‚ ‚Ä‚½‚Ù‚¤i‰Ej‚ª“Á’¥‚ð•\‚µ‚Ä‚¢‚邽‚߁B - —áF ƒvƒƒWƒFƒNƒg–¼‚ȂǁA‚P‚‚µ‚©Ý’è‚Å‚«‚È‚¢Ý’è - ƒVƒ“ƒOƒ‹ƒgƒ“ ƒL[ƒ[ƒh - ƒ†ƒj[ƒN ƒ‰ƒCƒ“ ƒL[ƒ[ƒh - i—vÝ’èj‚ª‚ ‚é“à—e‚ðA - - ƒ†ƒj[ƒN ƒ‰ƒCƒ“ ƒL[ƒ[ƒh - - - ƒVƒ“ƒOƒ‹ƒgƒ“ ƒL[ƒ[ƒh - - ‚â - ‚È‚Ç‚ðÝ’è‚·‚é‚ƁA‚æ‚葽‚­‚Ì - ƒP[ƒX‚ÅŽ©“®“I‚Ƀ}[ƒW‚ðs‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - << ThreeWayMerge - - - ThreeWayMergeOptionClass - - ::IsAutoMergeEx = False ‚̏ꍇ‚́Adiff3 -E ‚Æ“¯‚¶ - ƒ}[ƒW‚ðs‚¢‚Ü‚·B True ‚ɐݒ肵‚½ê‡‚́A“à•”‚Å diff3 -A ‚ðŽg‚Á‚ďڍׂȍ·•ª‚𒲂ׁA‚æ‚葽‚­‚̃P[ƒX‚ÅŽ©“®“I‚Ƀ}[ƒW‚ðs‚¢AƒRƒ“ƒtƒŠƒNƒg‚·‚éƒP[ƒX‚ðŒ¸‚ç‚µ‚Ü‚·B - - ¨ ThreeWayMergeOptionClass - - ::UniqueLineKeywords - ::SingletonKeywords - - ¨ ThreeWayMergeOptionClass - - Ý’è - Ý’è - - Diffutils ‚Ì diff3 - - s‚¤‚悤‚É‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ‚ªƒRƒ“ƒtƒŠƒNƒg‚Æ‚·‚éƒP[ƒX‚Å‚àA‚»‚̈ꕔ‚̃P[ƒX‚ŁAŽ©“®“I‚Ƀ}[ƒW‚ð - - ¨ ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - - ReplaceTemplate.xml - - ‚â - - - - - - - FourWayMerge - - - –¢‘Ήž - - - ¨ version control - Git 4-way merge - Stack Overflow (Web) - - 4-way merge: left-base, left, right-base, right, merged result. - LeftBase - Left - LeftMerged - RightBase - Right - RightMerged - - - 12 - Left - 4 - 5 - - - - 1AddLeft - 2 - Left - 4 - 5 - - - - 1AddLeft - 2 - Left - 4 - <<<<<<< Add - AddRight - ======= - >>>>>>> Delete - 5 - - - - 12 - Right - 4 - 5 - - - - 12 - Right - 4 - AddRight - 5 - - - - 1<<<<<<< Add - AddLeft - ======= - >>>>>>> Delete - 2 - Right - 4 - AddRight - 5 - - - - - - - - - - - - - - - - - - - - - - ŽQl - LeftBase ‚Æ RightBase ‚Ì‚Q‚‚̂قړ¯‚¶ƒeƒLƒXƒg‚ª‚ ‚é‚Æ‚«A‘o•û‚ł̕ҏW‚ð‚à‚¤•Ð•û‚É”½‰f‚³‚¹‚éƒ}[ƒW‚Å‚·B 4-way merge ‚́Aˆê”Ê“I‚ÉŽg‚í‚ê‚Ä‚¢‚é—pŒê‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - - - - - - “¯Šú iƒtƒ@ƒCƒ‹j - - ¨ SyncFilesX_Class (SyncFilesX ƒRƒ}ƒ“ƒh‚̃Nƒ‰ƒX) - - - ¨ IsSynchronizedFilesX - - - ¨ SyncFilesMenu - - ‚±‚±‚Å‚Ì“¯Šú‚Ƃ́AƒRƒs[‚µ‚Ä‚Q‚‚ɂȂÁ‚½ƒtƒ@ƒCƒ‹‚̕Еû‚ª•ÏX‚³‚ꂽ‚Æ‚«A‚à‚¤•Ð•û‚É”½‰f‚·‚邱‚Æ‚Å‚·B‚Q‚‚̃tƒ@ƒCƒ‹‚̍·•ª‚ª­‚µ‚µ‚©‚È‚¢‚Æ‚«‚ɁA•Ð•û‚̃tƒ@ƒCƒ‹‚ª•ÏX‚³‚ꂽ‚Æ‚«A‚à‚¤•Ð•û‚É”½‰f‚·‚邱‚Æ‚à - ŠÜ‚Ý‚Ü‚·B - - ¨ PatchAndBackUpDictionaryClass - - - ¨ ModuleAssortClass (ModuleAssort ƒRƒ}ƒ“ƒh‚̃Nƒ‰ƒX) - - - - - - - - SyncFilesX_Class (SyncFilesX ƒ\[ƒX) - - SyncFilesX - - ‚ðƒXƒNƒŠƒvƒg‚ÅŽÀs‚·‚é‚Æ‚«‚ÉŽg‚¤ƒNƒ‰ƒXB - “à•”ƒf[ƒ^\‘¢ - ArrayClass< SyncFilesX_SetClass > - ArrayClass< SyncFilesX_FileClass > - .Files - .Sets - - SyncFilesX_Class - - .BaseStepPath - .WorkStepPath - string - string - - (src) - - - (src) - - - (src) - - ƒR[ƒ‹ƒcƒŠ[ - SyncFilesX_Class::OpenFileCUI - - SyncFilesX_Class::OpenCUI - - - SyncFilesX_Class::LoadScanListUpAll - - SyncFilesX_App - - (src) - - - (src) - - // ƒZƒbƒg‚ƃtƒ@ƒCƒ‹‚ð‘I‘ð - - (src) - - - (src) - - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_SyncFilesX ƒtƒHƒ‹ƒ_[ - - - ¨ SyncFilesX ‚ðŽg‚¤ƒc[ƒ‹‚ðƒeƒXƒg‚·‚é‚É‚Í (SyncForTest) - - ŠÖ˜A - .IsNextAutoCommit - boolean - .IsNextAutoMergeFromBase - boolean - SyncFilesX_Class::LoadScanListUp_Sub - // ”äŠrƒŠƒXƒg‚̍쐬 - SyncFilesX_Class::Merge ‚ðŒÄ‚яo‚·‚ƁASyncFilesX ‚́Aƒ}[ƒW ƒ‚[ƒhiMe.IsMerged = Truej‚É‚È‚è‚Ü‚·B - ‚±‚̃‚[ƒh‚ł́ASyncFilesX_FileClass ‚Ȃǂ̃ƒ“ƒo[•Ï”‚́AˆÈ‰º‚̃Šƒ“ƒNæ‚̂悤‚È - ˆÓ–¡‚É•Ï‚í‚è‚Ü‚·B - - ¨ SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - - - - - - - - LoadScanListUpAll (SyncFilesX_Class) - - - Sub SyncFilesX_Class::LoadScanListUpAll( SettingFilePath as string, XML_String as string ) - - SyncFilesX ‚̐ݒè‚ðƒ[ƒh‚µ‚āA“¯Šú‚̏󋵂𒲂ׂ܂·B - yˆø”z - SettingFilePath - XML_String - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX - Ý’è“à—eiXMLŒ`Ž®j - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - SettingFilePath ˆø”‚́A‘Š‘΃pƒX‚̊‚Æ‚µ‚ÄŽg‚í‚ê‚Ü‚·B - - << SyncFilesX_Class - - - - - - - - GetWritableFolders (SyncFilesX_Class) - - - Function SyncFilesX_Class::GetWritableFolders() as array of string - - SyncFilesX ‚ðŽg‚¤Û‚É•K—v‚ƂȂ鏑‚«ž‚Ý‹–‰Â‚·‚éƒpƒX‚Ì”z—ñ‚ð•Ô‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ‘‚«ž‚Ý‹–‰Â‚·‚éƒpƒX‚Ì”z—ñ - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - << SyncFilesX_Class - - - LoadScanListUpAll - - ‚э[ƒh‚µ‚½Ý’è‚Ì“à—e‚É‚æ‚Á‚Ä•Ô‚è’l‚Í•Ï‚í‚è‚Ü‚·B - - - - - - - Merge (SyncFilesX_Class) - - - Sub SyncFilesX_Class::Merge( in_MergeOption as ThreeWayMergeOptionClass ) - - 3way ƒ}[ƒW‚ðs‚¢‚Ü‚·B - yˆø”z - in_MergeOption - - ¨ ThreeWayMergeOptionClass - - - ƒtƒHƒ‹ƒ_[‚Ì 3ƒEƒFƒC ƒ}[ƒW - - ‚ð‚·‚é ThreeWayMergeSet ƒ^ƒO‚ª‚ ‚é‚Æ‚«‚ɌĂяo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - - - - - GetIsAllSynchronized (SyncFilesX_Class) - - << SyncFilesX_Class - - - - Function SyncFilesX_Class::GetIsAllSynchronized() as boolean - - ‘S‚Ẵtƒ@ƒCƒ‹‚ª“¯ŠúÏ‚Ý‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - ƒtƒ@ƒCƒ‹‚ª’ljÁ‚³‚ꂽê‡‚́A“¯ŠúÏ‚Ý‚Å‚Í‚È‚¢‚Æ”»’肵‚Ü‚·B - - - - - - - GetIsAllBaseSynchronized (SyncFilesX_Class) - - << SyncFilesX_Class - - - - Function SyncFilesX_Class::GetIsAllBaseSynchronized() as boolean - - ‘S‚Ẵx[ƒX‚̃tƒ@ƒCƒ‹‚ª“¯ŠúÏ‚Ý‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - ƒ[ƒN‚̃tƒ@ƒCƒ‹‚ª“¯ŠúÏ‚Ý‚©‚Ç‚¤‚©‚ɂ͉e‹¿‚µ‚Ü‚¹‚ñB - - - - - - - GetCountOfNotSynchronized (SyncFilesX_Class) - - << SyncFilesX_Class - - - - Function SyncFilesX_Class::GetCountOfNotSynchronized() as integer - - ‘S‚Ẵtƒ@ƒCƒ‹‚ª“¯ŠúÏ‚Ý‚Å‚Í‚È‚¢ƒZƒbƒg‚̐”‚ð•Ô‚µ‚Ü‚·B - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - - - - - - OpenCUI (SyncFilesX_Class) - - - Function SyncFilesX_Class::OpenCUI() as array of string - - “¯Šú‚ð‚Æ‚éì‹Æ‚ðs‚¤ƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX‚ðŠJ‚«‚Ü‚·B - yˆø”z - •Ô‚è’l - "Exit" ‚Ü‚½‚Í "Rescan" - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - << SyncFilesX_Class - - ì‹Æ‚ªI‚í‚é‚ƁA–{ŠÖ”‚©‚ç•Ô‚è‚Ü‚·B - - - - - - - SyncFilesX ‚ðŽg‚¤ƒc[ƒ‹‚ðƒeƒXƒg‚·‚é‚É‚Í (SyncForTest) - SyncFilesX ‚ðŽg‚¤ƒc[ƒ‹‚ðƒeƒXƒg‚Ì’†‚ɁAƒRƒ“ƒtƒŠƒNƒg‚µ‚½ó‘Ô‚ðƒ†[ƒU[‚ª‰ðŒˆ‚µ‚½ƒP[ƒX‚̃eƒXƒg‚ª‚ ‚é‚Æ‚«‚́ASyncFilesX ‚̃tƒ@ƒCƒ‹‚ð‘I‘ð‚·‚éƒƒjƒ…[‚ŁASyncForTest ‚ÆŽ©“®“I‚É“ü—Í‚·‚é‚悤‚É - ‚·‚ê‚΁AƒeƒXƒg‚ð‚·‚é‚Æ‚«‚Ƀ†[ƒU[‚Ì‘€ì‚ª•K—v‚È‚­‚È‚è‚Ü‚·B - - ¨ T_SyncFilesX.vbs - - ŽQl - ‚Ì T_SyncFilesX_Test - ÔŽš‚͍XV‚ª‚ ‚Á‚½‚±‚Æ‚ðŽ¦‚µ‚Ü‚·B - ‘O‰ñ‚Ì“¯Šú‚Å“¯‚¶“à—e‚É‚È‚Á‚Ä‚¢‚½‚Æ‚«A‚©‚A - @@ƒx[ƒX‚¾‚¯‚ðXV‚µ‚½‚Æ‚«‚́A - @@@@ƒ[ƒN‚Ì“à—e‚ªAƒx[ƒX‚Ì“à—e‚É‚È‚è‚Ü‚·B - @@ƒ[ƒN‚¾‚¯‚ðXV‚µ‚½‚Æ‚«‚́A - @@@@‚È‚É‚à‚µ‚Ü‚¹‚ñBi“¯ŠúÏ‚Ý‚É‚Í‚µ‚Ü‚·j - @@ƒx[ƒX‚ƃ[ƒN‚Ì—¼•û‚ðXV‚µ‚½‚Æ‚«‚́A - @@@@‚È‚É‚à‚µ‚Ü‚¹‚ñB i“¯‚¶“à—e‚ÌŠÖŒW‚©‚çAˆÙ‚È‚é“à—e‚ÌŠÖŒW‚É•Ï‚í‚è‚Ü‚·ji“¯ŠúÏ‚Ý‚É‚Í‚µ‚Ü‚·j - ‘O‰ñ‚Ì“¯Šú‚ňقȂé“à—e‚É‚È‚Á‚Ä‚¢‚½‚Æ‚«A‚©‚A - @@ƒx[ƒX‚ðXV‚µ‚½‚Æ‚«‚́iƒ[ƒN‚ðXV‚µ‚½‚©‚Ç‚¤‚©‚ÉŠÖ‚í‚炸jA - @@@@XV‚µ‚½“à—e‚ªƒ[ƒN‚Æ“¯‚¶“à—e‚È‚ç - @@@@@@‚È‚É‚à‚µ‚Ü‚¹‚ñBi“¯ŠúÏ‚Ý‚É‚Í‚µ‚Ü‚·j - @@@@XV‚µ‚½“à—e‚ªƒ[ƒN‚ƈقȂé“à—e‚È‚ç - @@@@@@ƒ[ƒN‚Ì“à—e‚ªAƒx[ƒX‚Ì“à—e{‰üs{ƒ[ƒN‚Ì“à—e‚É‚È‚è‚Ü‚·B - @@ƒ[ƒN‚¾‚¯‚ðXV‚µ‚½‚Æ‚«‚́A - @@@@‚È‚É‚à‚µ‚Ü‚¹‚ñBi“¯ŠúÏ‚Ý‚É‚Í‚µ‚Ü‚·j - ‘O‰ñ‚Ì“¯ŠúŒã - ƒx[ƒX - ƒ[ƒN - ¡‰ñ‚Ì“¯Šú‘O - ¡‰ñ‚Ì“¯ŠúŒã - - old - old - ƒ[ƒN - ƒx[ƒX - ƒ[ƒN - ƒx[ƒX - new - old - new base - old work - old work - old base - new - new - new work - new base - new base - new work - old - old - new base - new baseold work - new basenew work - new base - old work - new work - new base - old base - old work - old work - old work - old work - old work - old base - SyncForTest ‚ł́Aƒ[ƒN‚ªƒx[ƒX‚ɍ‡‚킹‚é‚悤‚ɁAƒ[ƒN‚Ì‚ÝŽ©“®“I‚ɕύX‚µAƒx[ƒX‚͕ύX‚µ‚Ü‚¹‚ñB - old - new - old - new - old - old - old work - old base - old base - old base - old base - old base - new work - old base - old work - old base - old base - new work - - - - - - - ƒo[ƒWƒ‡ƒ“ƒAƒbƒv ƒCƒ“ƒXƒg[ƒ‰[‚Æ‚µ‚Ä‚Ì SyncFilesX - ƒeƒXƒg - - (src) - - T_SyncFilesX_SyncVersionUp - - - <?xml version="1.0" encoding="Shift_JIS"?><SyncFilesX - xml:space="preserve" - restart_vbs = "${UpdaterRoot}\Updating 1.00 to 2.00.vbs" - clean_root = "${UpdaterRoot}"> - <Variable name="${UpdaterRoot}" value="${USERPROFILE}\Desktop\T_SyncVersionUp_Updater"/> - <SynchronizingSet - base_name="ƒAƒvƒŠ ver1" - work_name="ƒAƒvƒŠ ver2" - synced_base = "${UpdaterRoot}\1 version 1" - synced_path = "${UpdaterRoot}\2 version 2" - base = "${UpdaterRoot}\3 back up" - path = "${UpdaterRoot}\4 updating"> - - <Folder path="."/> - <File base="move from.txt" path="move to.txt"/> - <File base="move modified from.txt" path="move modified to.txt"/> - <File base="move modified update from.txt" path="move modified update to.txt"/> - <File base="move update from.txt" path="move update to.txt"/> - <File path="update compatible.txt" same="Compatible"/> - <File path="update compatible modified.txt" same="Compatible"/> - - </SynchronizingSet> - </SyncFilesX> - - - ¨ 1.00 to 2.00.xml - - SyncFilesX ‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃o[ƒWƒ‡ƒ“ƒAƒbƒv‚ð‚·‚éƒCƒ“ƒXƒg[ƒ‰[‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ƒx[ƒX‹Œ”ŁAƒ[ƒNV”ŁA“¯ŠúÏ‚Ý(Old)‰ŠúÝ’èA“¯Šú‘O(New)ƒ†[ƒU[Ý’èiƒo[ƒWƒ‡ƒ“ ƒAƒbƒv‘ΏہjA‚Æ‚µ‚ÄŽg‚¢AŽ©“®“I‚Ƀ†[ƒU[Ý’è‚ðXV‚Å‚«‚È‚¢‚Æ‚«‚ɁAŽè“®‚ŕҏW‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - ‚½‚¾‚µAƒ†[ƒU[‚Æ‚µ‚ẮA‚·‚ׂĎ©“®“I‚ɍXV‚Å‚«‚邱‚Æ‚ª–]‚Ü‚ê‚Ü‚·B - ‰º‹L‚Ì XML ƒtƒ@ƒCƒ‹‚ƁA - - SyncFilesX_Class - - ‚Ì UpdateCUI ƒƒ\ƒbƒh‚ðŽg‚¢‚Ü‚·B - SyncFilesX_Class ‚ðŽg‚¤ƒXƒNƒŠƒvƒg‚́A‰º‹L‚̃eƒXƒg‚ðŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢B - - << SyncFilesX_Class - - ‚±‚Ì XML ‚Ì’†‚Å’è‹`‚µ‚½ - - <Variable> ƒ^ƒO‚É‚æ‚é•Ï” - - ‚́AƒpƒX‚ðŽw’è‚·‚é‘®«‚È‚Ç‚ÅŽg—p‚·‚邱‚Æ‚ª - ‚Å‚«‚Ü‚·B ‹ï‘Ì“I‚ɂ́Arestart_vbsAclean_rootAbase_nameAwork_nameAsynced_baseAsynced_pathAbaseApathB - - - - - - - LoadRootPaths (SyncFilesX_Class) - - - Sub SyncFilesX_Class::LoadRootPaths( SettingFilePath as string, XML_String as string ) - - SyncFilesX ‚̐ݒè‚ðƒ[ƒh‚µ‚Ü‚·B - yˆø”z - SettingFilePath - XML_String - Ý’èƒtƒ@ƒCƒ‹‚̃pƒX - Ý’è“à—eiXMLŒ`Ž®j - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - SettingFilePath ˆø”‚́A‘Š‘΃pƒX‚̊‚Æ‚µ‚ÄŽg‚í‚ê‚Ü‚·B - - << SyncFilesX_Class - - - - - - - - UpdateCUI (SyncFilesX_Class) - - - Sub SyncFilesX_Class::UpdateCUI() - - ƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚̍ì‹Æ‚ðs‚¤ƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX‚ðŠJ‚«‚Ü‚·B - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - ì‹Æ‚ªI‚í‚é‚ƁA–{ŠÖ”‚©‚ç•Ô‚è‚Ü‚·B - - << ƒo[ƒWƒ‡ƒ“ƒAƒbƒv ƒCƒ“ƒXƒg[ƒ‰[ - - - - - - - - CustomUpdateFunction (SyncFilesX_Class) - CustomUpdateFunctionParameter (SyncFilesX_Class) - - - Dim SyncFilesX_Class::CustomUpdateFunction as Sub ( CustomUpdateFunctionParameter ) - - - - Dim SyncFilesX_Class::CustomUpdateFunctionParameter as Variant - - Žè“®‚Å“¯Šú‚·‚éì‹Æ‚ªI—¹‚µ‚½Œã‚ÅŽÀs‚·‚éŠÖ”B - - - - - - - CustomRestartCodeForRestartVBS (SyncFilesX_Class) - CustomUpdateCodeForRestartVBS (SyncFilesX_Class) - - - Dim SyncFilesX_Class::CustomRestartCodeForRestartVBS as string - - ’²®ƒƒjƒ…[‚ƃCƒ“ƒXƒg[ƒ‹‚ðÄ“xŽÀs‚·‚éƒXƒNƒŠƒvƒg‚É–„‚ߍž‚ÞƒR[ƒhB - - - Dim SyncFilesX_Class::CustomUpdateCodeForRestartVBS as string - - - - - - - - IsSynchronizedFilesX - - - If IsSynchronizedFilesX( new_FilePathForFileInScript( "SyncFilesX.vbs" ) ) Then - - - - Function IsSynchronizedFilesX( Path as string or FilePathClass ) as boolean - - ‚Å“¯Šú‚ª•K—v‚ȃtƒ@ƒCƒ‹‚ª‚·‚ׂē¯ŠúÏ‚Ý‚Å‚ ‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - •Ô‚è’l - ŠÖ˜A - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_SyncFilesX_CommandLine - - SyncFilesX - - ‚̐ݒèƒtƒ@ƒCƒ‹‚ւ̃pƒXA‚Ü‚½‚́A - - FilePathClass - - ‚·‚ׂē¯ŠúÏ‚Ý‚Å‚ ‚é‚©‚Ç‚¤‚© - - - If IsSynchronizedFilesX( "SyncFilesX.xml" ) Then - - - ¨ SyncFilesMenuLib.vbs - - - ¨ T_SyncFilesX.vbs - - - ¨ SyncFilesX - - - SyncFilesX - - - - - - - - ModuleAssortClass - - ModuleAssort - - - ¨ Assort - - - ¨ Commit - - - ¨ CheckOut - - ƒvƒƒWƒFƒNƒg‚̃tƒHƒ‹ƒ_[‚©‚çAŠeŽíƒ‚ƒWƒ…[ƒ‹‚̃tƒHƒ‹ƒ_[‚ÖƒRƒs[‚µ‚Ü‚·B - Žw’肵‚½ƒvƒƒWƒFƒNƒg‚̍\¬‚ð Projects.xml ‚É‹L˜^‚µ‚Ü‚·B - ŠeŽíƒ‚ƒWƒ…[ƒ‹‚̃}ƒXƒ^[ ƒtƒHƒ‹ƒ_[‚©‚çƒRƒs[‚µ‚āAƒvƒƒWƒFƒNƒg‚𕜌³‚µ‚Ü‚·B - ‚ðƒXƒNƒŠƒvƒg‚ÅŽÀs‚·‚é‚Æ‚«‚ÉŽg‚¤ƒNƒ‰ƒXB - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - ¨ MakePatch - - - ¨ ExpandPatch - - ƒpƒbƒ`Œ`Ž®‚É‚È‚Á‚Ä‚¢‚éƒ}ƒXƒ^[ ƒ‚ƒWƒ…[ƒ‹‚ðŠ®‘S‚ÈŒ`‚É•ÏŠ·‚µ‚Ü‚·B - ƒ}ƒXƒ^[ ƒ‚ƒWƒ…[ƒ‹‚ðƒpƒbƒ`Œ`Ž®‚É•ÏŠ·‚µ‚Ü‚·B - - ¨ ƒR[ƒ‹ƒcƒŠ[ - - “à•”‚Å - ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B - - g_FileHashCache - - - - - - - - ƒR[ƒ‹ƒcƒŠ[ - '// Set "Me.SynchronizeTargetGraph" - <SynchronizedWith> ‚̏o—Í - ModuleAssortClass::OpenSetting - Me_SetStatusOfSynchronizedWith - '// Set "target.SynchronizedWithArray" - ModuleAssortClass::Assort - - (src) - - - (src) - - - (src) - - ModuleAssortClass::OpenSetting - '// Set "Me.FileMaps" : "ModuleAssort_WorkingClass" - ModuleAssortClass::Assort - '// Copy files to "Reading-" folder - '// ƒ[ƒLƒ“ƒO ƒtƒHƒ‹ƒ_[‚ð”äŠr‚µ‚āA“¯‚¶ƒtƒHƒ‹ƒ_[‚ðíœ‚·‚éB - '// ƒ[ƒLƒ“ƒO ƒtƒHƒ‹ƒ_[‚ƃRƒ~ƒbƒg‚ð”äŠr‚µ‚āA“¯‚¶ƒtƒHƒ‹ƒ_[‚ðíœ‚·‚éB - '// Rename "Reading-" folder to "Work-" folder - '// Save "_Modules.xml" file - Me_AddSynchronizedTag - - (src) - - BreadthFirstSearch - - (src) - - - ¨ vbslib Prompt.vbs - - ModuleAssort - - - - - - - LoadProjectList (ModuleAssortClass) - - - Sub ModuleAssortClass::LoadProjectList( in_ProjectListPath as string ) - - Projects.xml ƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚µ‚Ü‚·B - yˆø”z - in_ProjectListPath - Projects.xml ƒtƒ@ƒCƒ‹‚̃pƒX - - << ModuleAssortClass - - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - - - - - - CheckOut (ModuleAssortClass) - - << ModuleAssortClass - - - - Sub ModuleAssortClass::CheckOut( in_ProjectName as string, in_RevisionName as string, in_OutPath as string ) - - ŠeŽíƒ‚ƒWƒ…[ƒ‹/ƒ^[ƒQƒbƒg/ƒŠƒrƒWƒ‡ƒ“ ‚̃tƒHƒ‹ƒ_[‚©‚çƒRƒs[‚µ‚āAƒvƒƒWƒFƒNƒg‚𕜌³‚µ‚Ü‚·B - yˆø”z - in_ProjectName - in_RevisionName - ƒRƒ~ƒbƒg‚·‚éƒvƒƒWƒFƒNƒg‚Ì–¼‘O - ƒRƒ~ƒbƒg‚·‚éƒvƒƒWƒFƒNƒg‚̃ŠƒrƒWƒ‡ƒ“–¼ - in_OutPath - •œŒ³‚·‚éƒvƒƒWƒFƒNƒg‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - ƒTƒ“ƒvƒ‹ - - - Set sync = new ModuleAssortClass sync.LoadProjectList "Projects.xml" - sync.CheckOut "Project_X", "01", "C:\TestProject" - - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - - - - - - OpenSetting (ModuleAssortClass) - - - Sub ModuleAssortClass::OpenSetting( in_SettingPath as string ) - - ƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚µ‚Ü‚·B - yˆø”z - in_SettingPath - ModuleAssort.moas ƒtƒ@ƒCƒ‹‚̃pƒX - - ModuleAssort.moas - - - << ModuleAssortClass - - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - - - - - - Assort (ModuleAssortClass) - - - Sub ModuleAssortClass::Assort() - - ƒvƒƒWƒFƒNƒg‚̃tƒHƒ‹ƒ_[‚©‚çAŠeŽíƒ‚ƒWƒ…[ƒ‹/ƒ^[ƒQƒbƒg/ƒŠƒrƒWƒ‡ƒ“ ‚̃tƒHƒ‹ƒ_[‚ÖƒRƒs[‚µ‚Ü‚·B - - << ModuleAssortClass - - - ¨ ModuleAssort - - ŽQl - ƒTƒ“ƒvƒ‹ - - - Set sync = new ModuleAssortClass sync.OpenSetting "ModuleAssort.moas" - sync.Assort - - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - - - - - - Commit (ModuleAssortClass) - - - Sub ModuleAssortClass::Commit( in_ProjectName as string, in_RevisionName as string, in_Comment as string ) - - Žw’肵‚½ƒvƒƒWƒFƒNƒg‚̍\¬‚ð Projects.xml ‚É‹L˜^‚·‚邱‚ƂŁAƒRƒ~ƒbƒg‚µ‚Ü‚·B - yˆø”z - in_ProjectName - in_RevisionName - ƒRƒ~ƒbƒg‚·‚éƒvƒƒWƒFƒNƒg‚Ì–¼‘O - ƒRƒ~ƒbƒg‚·‚éƒvƒƒWƒFƒNƒg‚̃ŠƒrƒWƒ‡ƒ“–¼ - in_Comment - ƒŠƒrƒWƒ‡ƒ“‚ÉŠÖ‚·‚éƒRƒƒ“ƒg - ƒRƒ~ƒbƒg‚µ‚½ƒvƒƒWƒFƒNƒg‚̃ŠƒrƒWƒ‡ƒ“‚́A - - CheckOut - - ‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set sync = new ModuleAssortClass sync.OpenSetting "ModuleAssort.moas" - sync.Commit "Project_X", "01", "ƒRƒƒ“ƒg" - - - ModuleAssort.moas ƒtƒ@ƒCƒ‹ - - ‚ÉŽw’肳‚ê‚Ä‚¢‚È‚¢ƒtƒ@ƒCƒ‹‚ª‚ ‚é‚ƁAƒRƒ~ƒbƒg‚µ‚Ä‚àŒ³‚̃vƒƒWƒFƒNƒg‚ªŠ®‘S‚É - Žæ‚èo‚¹‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B ‚»‚Ì‚½‚߁AƒRƒ~ƒbƒg‚µ‚½Œã‚́ACheckOut ‚µ‚ÄŠ®‘S‚ÉŽæ‚èo‚¹‚邱‚Æ‚ðƒ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B - - << ModuleAssortClass - - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - - - - - - - ExpandPatch (ModuleAssortClass) - - - Sub ModuleAssortClass::ExpandPatch( in_PatchMasterPath as string ) - - ƒpƒbƒ`Œ`Ž®‚É‚È‚Á‚Ä‚¢‚éƒ}ƒXƒ^[ ƒ‚ƒWƒ…[ƒ‹‚ðŠ®‘S‚ÈŒ`‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - in_PatchMasterPath - ƒpƒbƒ`Œ`Ž®‚É‚È‚Á‚Ä‚¢‚éƒ}ƒXƒ^[ƒtƒHƒ‹ƒ_[‚̃pƒX - - << ModuleAssortClass - - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - ƒpƒbƒ`Œ`Ž®‚̃tƒHƒ‹ƒ_[‚Ì–¼‘O‚́Aƒx[ƒX‚̃^[ƒQƒbƒg‚ªƒpƒbƒ`‚Æ“¯‚¶‚È‚çA"iƒŠƒrƒWƒ‡ƒ“–¼j-Patch-of-iƒx[ƒX‚̃ŠƒrƒWƒ‡ƒ“–¼j"A‚»‚¤‚Å‚È‚¯‚ê‚΁A - "iƒŠƒrƒWƒ‡ƒ“–¼j-Patch-of-iƒx[ƒX‚̃^[ƒQƒbƒg–¼j-iƒx[ƒX‚̃ŠƒrƒWƒ‡ƒ“–¼j" ‚Å‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B - Š®‘S‚ÈŒ`‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚́A"iƒŠƒrƒWƒ‡ƒ“–¼j-Full" ‚É‚È‚è‚Ü‚·B - - - - - - - MakePatch (ModuleAssortClass) - - << ModuleAssortClass - - - - Sub ModuleAssortClass::MakePatch( in_FullSetMasterPath as string, in_BaseMasterPath as string ) - - ƒ}ƒXƒ^[ ƒ‚ƒWƒ…[ƒ‹‚ðƒpƒbƒ`Œ`Ž®‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - in_FullSetMasterPath - ƒpƒbƒ`Œ`Ž®‚É•ÏŠ·‚·‚éƒ}ƒXƒ^[ƒtƒHƒ‹ƒ_[‚̃pƒX - ƒpƒbƒ`‚̃x[ƒX‚Æ‚·‚éƒ}ƒXƒ^[ƒtƒHƒ‹ƒ_[‚̃pƒX - in_BaseMasterPath - ƒ\[ƒX - - ¨ SyncFilesMenuLib.vbs - - ƒpƒbƒ`Œ`Ž®‚̃tƒHƒ‹ƒ_[‚Ì–¼‘O‚́Aƒx[ƒX‚̃^[ƒQƒbƒg‚ªƒpƒbƒ`‚Æ“¯‚¶‚È‚çA"iƒŠƒrƒWƒ‡ƒ“–¼j-Patch-of-iƒx[ƒX‚̃ŠƒrƒWƒ‡ƒ“–¼j" ‚É‚È‚èA‚»‚¤‚Å‚È‚¯‚ê‚΁A - "iƒŠƒrƒWƒ‡ƒ“–¼j-Patch-of-iƒx[ƒX‚̃^[ƒQƒbƒg–¼j-iƒx[ƒX‚̃ŠƒrƒWƒ‡ƒ“–¼j" ‚É‚È‚è‚Ü‚·B - - - - - - - SyncFilesMenu - •¡”‚̃tƒHƒ‹ƒ_[‚É‚ ‚é•¡”‚̃tƒ@ƒCƒ‹‚̍·•ª‚𒲂ׂāADiff ƒc[ƒ‹‚âƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ðŠJ‚­ƒƒjƒ…[‚ð•\Ž¦‚·‚邱‚ƂŁAŽè“®‚Ńtƒ@ƒCƒ‹‚Ì“à—e‚𓯂¶‚É‚·‚éì‹Æ‚ðŽx‰‡‚µ‚Ü‚·B - .AddRootFolder - Function AddRootFolder( IndexNum, RootFolderPath ) - .AddFile - .IsCompareTimeStamp - .IsCompareContents - .Compare - Sub Compare() - Sub AddFile( StepPath ) - boolean - boolean - Sub OpenSyncMenu() - .OpenSyncMenu - - ¨ T_SyncFiles.vbs # main - - ƒeƒXƒg - - ¨ SyncFilesMenuLib.vbs - - .IsSameFolder - Function IsSameFolder( FolderAIndexNum, FolderBIndexNum ) - ƒTƒ“ƒvƒ‹EƒR[ƒh - - - Set menu = new SyncFilesMenu menu.IsCompareTimeStamp = False - menu.Lead = "Comparing Base, Update1 and Update2" - menu.AddRootFolder 0, "Folder0" - menu.AddRootFolder 1, "Folder1" - menu.AddRootFolder 2, "Folder2" - menu.RootFolders(0).Label = "Base" - menu.RootFolders(1).Label = "FolderA" - menu.RootFolders(2).Label = "FolderB" - menu.AddFile "File1.txt" - menu.AddFile "File2.txt" - menu.AddFile "File3.txt" - menu.Compare - menu.OpenSyncMenu - - ƒf[ƒ^\‘¢ - SyncFilesRoot<array> - .StepPath - .AbsPath - .Files( Key:StepPath ) - SyncFilesFile<dic> - SyncFilesMenu - .RootFolders( Index:Num ) - .IsSameBinary[ n ] - string - string - boolean - - - Comparing Base, Update1 and Update2 1. NotSame.txt : Base‚FolderA, Base‚FolderB, FolderA‚FolderB - 2. NotSameNo0.txt : Base ‚É‘¶Ý‚µ‚Ü‚¹‚ñ, FolderA‚FolderB - 3. Only0.txt : Base ‚Ì‚Ý‚É‘¶Ý‚µ‚Ü‚· - 4. SameAll.txt : “¯‚¶“à—e - 99. –ß‚é - ƒtƒ@ƒCƒ‹‚̔ԍ†‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ >1 - - NotSame.txt - 1. Diff ƒc[ƒ‹‚ðŠJ‚­ - 4. Base ‚̃tƒ@ƒCƒ‹‚ðŠJ‚­ - 5. FolderA ‚̃tƒ@ƒCƒ‹‚ðŠJ‚­ - 6. FolderB ‚̃tƒ@ƒCƒ‹‚ðŠJ‚­ - 99. –ß‚é - ‘€ì‚̔ԍ†‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢ > - - ƒTƒ“ƒvƒ‹‰æ–Ê - ”äŠr‚·‚éƒtƒ@ƒCƒ‹‚́AAddFile ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä‚P‚‚P‚ÂŽw’肵‚Ä‚­‚¾‚³‚¢B - - (src) - - - (src) - - - (src) - - - (src) - - - (src) - - .IsCallViaFile - boolean - CallViaFile ‚ðŒÄ‚Ôƒƒjƒ…[ 80 ‚ð’ljÁ‚·‚é‚©‚Ç‚¤‚© - .RootFolders(i).Label - ƒ‰ƒxƒ‹B i ‚́AAddFile ‚Ì FileNum - ƒtƒ@ƒCƒ‹‚ª“¯‚¶‚©‚Ç‚¤‚©‚́AReadFile ‚Ì•Ô‚è’l‚ª“¯‚¶‚©‚Ç‚¤‚©‚Å”»’肵‚Ü‚·B - - .SetParentFolderProxyName - - eƒtƒHƒ‹ƒ_[‚ÌŽw’è‚ðAƒTƒuEƒtƒHƒ‹ƒ_[‚É’u‚«Š·‚¦‚é - ŠÖ˜A - - ¨ SyncFilesX - - ƒ\[ƒX - StepPath ‚ð”z—ñ‚É‚·‚é‚ƁA‚»‚ꂼ‚ê‚̃tƒHƒ‹ƒ_[‚ňقȂ鑊‘΃pƒX‚ðÝ’è‚Å‚«‚Ü‚·B ‚»‚Ì”z—ñ‚Ì—v‘f”‚́AAddRootFolder - ‚ðŒÄ‚яo‚µ‚½‰ñ”‚Ɉê’v‚³‚¹‚Ä‚­‚¾‚³‚¢B - .AddFileWithLabel - Sub AddFileWithLabel( Label, StepPath ) - Label ˆø”‚ª’ljÁ‚³‚ꂽ AddFileBƒtƒ@ƒCƒ‹‚ð‘I‚Ôƒƒjƒ…[‚ŁAƒtƒ@ƒCƒ‹–¼‚̉E‚É•\Ž¦‚µ‚Ü‚·B - - - - - - - SetParentFolderProxyName (SyncFilesMenu) - - - Sub SyncFilesMenu::SetParentFolderProxyName( IndexNum as integer, Name as string ) - - eƒtƒHƒ‹ƒ_[‚ÌŽw’è‚ðAƒTƒuEƒtƒHƒ‹ƒ_[‚É’u‚«Š·‚¦‚é‚悤‚ɐݒ肵‚Ü‚·B - yˆø”z - IndexNum - Name - ƒtƒHƒ‹ƒ_[”ԍ† - ƒTƒuEƒtƒHƒ‹ƒ_[–¼ - - ¨ T_SyncFiles.vbs # T_SyncFilesParent - - ƒeƒXƒg - - - Set menu = new SyncFilesMenumenu.IsCompareTimeStamp = False - menu.AddRootFolder 0, "Folder0" - menu.AddRootFolder 1, "Folder1" - menu.SetParentFolderProxyName 1, "_parent" - menu.AddFile "..\Sample.txt" - - ƒTƒ“ƒvƒ‹ - _parent - ã‹L‚̏ꍇAFolder0\..\Sample.txt ‚ƁAFolder1\_parent\Sample.txt ‚ð”äŠr‚µ‚Ü‚·B - - (src) - - - - - - - - SynchronizeFolder - - - SynchronizeFolder "C:\FolderA", "C:\FolderB", "C:\Synchronized", "*", Empty - - - - Sub SynchronizeFolder( FolderA_Path as string, FolderB_Path as string, SynchronizedPath as string, Mask as string, in_out_Options as Empty ) - - ‚Q‚‚̃tƒHƒ‹ƒ_[‚𓯊ú‚µ‚Ü‚·B - yˆø”z - FolderA_Path - FolderB_Path - “¯Šú‚ð‚Æ‚éƒtƒHƒ‹ƒ_[‚̃pƒX - “¯Šú‚ð‚Æ‚é‚à‚¤‚P‚‚̃tƒHƒ‹ƒ_[‚̃pƒX - SynchronizedPath - “¯Šú‚µ‚½“à—e‚ð‚Æ‚Á‚Ä‚¨‚­ƒtƒHƒ‹ƒ_[‚̃pƒX - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - Mask - in_out_Options - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒtƒ@ƒCƒ‹–¼‚̃tƒBƒ‹ƒ^[iƒƒCƒ‹ƒhƒJ[ƒhj - ƒeƒXƒg - - ¨ T_SynchronizeFolder.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - —¼•û‚̃tƒHƒ‹ƒ_[‚É‚ ‚铯‚¶–¼‘O‚̃tƒ@ƒCƒ‹‚ªXV‚³‚ê‚Ä‚¢‚½‚çAŽè“®‚ōXV‚·‚é‚悤‚ɃGƒ‰[‚ª•\Ž¦‚³‚ê‚Ü‚·B hint_path ‚É‚Å‚«‚½ƒtƒ@ƒCƒ‹‚ɁAŽè“®‚Å“¯Šú‚·‚é•K—v‚ª‚ ‚é - ƒtƒ@ƒCƒ‹‚̃pƒX‚ª‘‚©‚ê‚Ä‚¢‚Ü‚·B íœ‚³‚ꂽƒtƒ@ƒCƒ‹‚âAƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ª‰ß‹Ž‚É - –ß‚Á‚½ƒtƒ@ƒCƒ‹‚àŽè“®‚Å“¯Šú‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - - - <ERROR msg="Ž©“®‚Å“¯Šú‚Å‚«‚È‚¢ƒtƒ@ƒCƒ‹‚ª‚ ‚è‚Ü‚·" hint_path="C:\hint.txt"/> - - - - >SynchronizeFolder A: "C:\FolderA" - B: "C:\FolderB" - ˆÈ‰º‚̃tƒ@ƒCƒ‹‚ªA—¼•û‚̃tƒHƒ‹ƒ_[‚ŕύX‚³‚ê‚Ü‚µ‚½B - - "1.txt" - Updated: "C:\FolderA\1.txt" - Updated: "C:\FolderB\1.txt" - - —áF C:\hint.txt - - - If TryStart(e) Then On Error Resume Next - SynchronizeFolder folder_A, folder_B, folder_S, "*.h", Empty - - If TryEnd Then On Error GoTo 0 - If e.num <> 0 Then - Set root = LoadXML( e.desc, F_Str ) - hint_path = root.getAttribute( "hint_path" ) - echo "" - echo "Ž©“®‚Å“¯Šú‚Å‚«‚È‚¢ƒtƒ@ƒCƒ‹‚̃pƒX‚ðAƒeƒLƒXƒgEƒGƒfƒBƒ^[‚Å•\Ž¦‚µ‚Ü‚·B" - start GetEditorCmdLine( hint_path ) - e.Raise - End If - - ƒTƒ“ƒvƒ‹ - ƒGƒ‰[‚ª‚ ‚Á‚½‚çA‚»‚Ì“à—e‚ðƒGƒfƒBƒ^[‚ÅŠJ‚­ - ŠÖ˜A - - ¨ SyncFilesX - - ŽQl - - ¨ SyncFilesX_Class (SyncFilesX ƒ\[ƒX) - - - - - - - - ‚»‚Ì‘¼ - - ¨ PatchAndBackUpDictionaryClass - - - - - - - - ƒL[ƒ[ƒh‚́A•K‚¸ - grep (ŒŸõ) - - - Function grep( Parameters as string, OutPath as string ) as array of GrepFound - - ƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŽw’肵‚½ƒL[ƒ[ƒh‚ðŠÜ‚ލs‚ðŒŸõ‚µ‚Ü‚·B - yˆø”z - Parameters - OutPath - ƒIƒvƒVƒ‡ƒ“‚ƁAƒL[ƒ[ƒh‚ƁAŒŸõ‘ΏۃtƒHƒ‹ƒ_[‚⃏ƒCƒ‹ƒhƒJ[ƒhi•¡”‰Âj - Empty ‚Ü‚½‚Í ŒŸõŒ‹‰Ê‚̏o—͐æ‚̃tƒ@ƒCƒ‹EƒpƒX - •Ô‚è’l - - GrepFound ƒIƒuƒWƒFƒNƒg - - - - founds = grep( "-r ""define"" ""..\FolderA\*""", Empty ) '// as array of GrepFound - '// •Ô‚è’l‚̃Tƒ“ƒvƒ‹ - '// UBound( founds ) ‚́AŒ©‚‚©‚Á‚½s”|‚P - '// founds(0).Path = "..\FolderA\grep_target1.txt" - '// founds(0).LineNum = 2 - '// founds(0).LineText = " #define string" - - For Each found In founds - echo found.LineText - Next - - Parameters ‚́ALinux ‚Ì - ƒTƒ“ƒvƒ‹ - "define" ‚ðŒŸõ‚·‚éB Œ‹‰Ê‚Í•Ô‚è’l‚Ŏ擾‚·‚éBŒŸõ‘Ώۃtƒ@ƒCƒ‹‚́A..\FolderA ƒtƒHƒ‹ƒ_[‚ŁAƒTƒuEƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚éB(-r) - - - grep_target1.txt:2: define stringgrep_target3.txt:2: define string - grep_target3.txt:4: define text - sub\grep_target1.txt:2: define string - - - ƒTƒ“ƒvƒ‹ - - - grep "-r -i define *.txt *.ini", "grep_out.txt" - - grep_out.txt ƒtƒ@ƒCƒ‹‚̃Tƒ“ƒvƒ‹ - "define" ‚ðŒŸõ‚·‚éB Œ‹‰Ê‚́A"grep_out.txt" ƒtƒ@ƒCƒ‹‚ɏo—Í‚·‚éBŒŸõ‘Ώۃtƒ@ƒCƒ‹‚́AŠg’£Žq‚ª .txt ‚Æ .ini ‚ŁAƒTƒuEƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚éB(-r) - ‘啶Žš¬•¶Žš‚Í‹æ•Ê‚µ‚È‚¢B(-i) - ‚ÅŽw’肵‚Ä‚­‚¾‚³‚¢B - - ³‹K•\Œ» - - - ¨ ³‹K•\Œ» - - ŽQl - - ¨ T_Grep.vbs - - ƒeƒXƒg - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - GrepFound - - GrepFound - - ŠÖ˜A - - ¨ sscanf - - •¶Žš—ñ‚Ì“r’†‚ðŽæ‚èo‚µ‚Ü‚·B - Parameters ‚ÉŽw’肵‚½ŒŸõ‘Ώۂ̃pƒX‚ªA‘Š‘΃pƒX‚È‚çAPath ƒvƒƒpƒeƒB‚à‘Š‘΃pƒX‚É‚È‚è‚Ü‚·B ‚»‚Ì‚Æ‚«‚̊ƒtƒHƒ‹ƒ_[‚́AƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B - GrepFound::Path ƒvƒƒpƒeƒB - - ¨ grep ƒRƒ}ƒ“ƒh (vbslib) - - \* - - ¨ findstr (DOS) - - ŒÝŠ·« - "|" iƒo[ƒ`ƒJƒ‹ƒ‰ƒCƒ“j‚́AOR ‚̈Ӗ¡‚É‚È‚è‚Ü‚·B"|" ‚ðŒŸõ‚µ‚½‚¢‚Æ‚«‚́A"\|" ‚̂悤‚ɃGƒXƒP[ƒv‚µ‚Ä‚­‚¾‚³‚¢B - "-" ‚ðŒŸõ‚µ‚½‚¢‚Æ‚«‚́A"\-" ‚̂悤‚ɃGƒXƒP[ƒv‚µ‚Ä‚­‚¾‚³‚¢B - "/"iƒXƒ‰ƒbƒVƒ…j‚́Aˆê”Ê•¶Žš‚Å‚ ‚èAƒGƒXƒP[ƒv‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - + ‚̃ƒ^•¶Žš‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ ŒÝŠ·« - - ƒTƒ“ƒvƒ‹ - - - Set c = g_VBS_Lib founds = grep( "-r -l ""define"" ""..\FolderA\*""", c.NotEchoStartCommand ) - For Each found In founds - echo found.Path - Next - - ƒtƒ@ƒCƒ‹EƒpƒX‚̈ꗗ‚𓾂éi-l ƒIƒvƒVƒ‡ƒ“j - OutPath ˆø”‚Æ•Ô‚è’l - g_VBS_Lib.NotEchoStartCommand ‚ðŽw’è‚·‚é‚ƁAŒ©‚‚©‚Á‚½êŠ‚ɂ‚¢‚āAecho •\Ž¦‚µ‚È‚­‚È‚è‚Ü‚·B - ’PŒê’PˆÊ‚Í‚Å‚«‚Ü‚¹‚ñB - -u ƒIƒvƒVƒ‡ƒ“‚ª‚È‚¯‚ê‚΁A“à•”‚ŁAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì findstr ƒRƒ}ƒ“ƒh‚ðŽg—p‚µ‚Ü‚·B-u ƒIƒvƒVƒ‡ƒ“‚ª‚ ‚ê‚΁A“à•”‚ŁAVBScript.RegExp ‚ðŽg—p‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ FindStringLines - - ƒL[ƒ[ƒh‚ª‚ ‚és‚¾‚¯’Šo‚µ‚Ü‚·B - ‚½‚¾‚µAƒIƒvƒVƒ‡ƒ“‚́A-r ‚Æ -i ‚Æ -l ‚Æ --include ‚Ì‚ÝŽw’è‚Å‚«‚Ü‚·B@@-r : ƒTƒuƒtƒHƒ‹ƒ_[‚àŒŸõ‘Ώۂɂ·‚é - @@-i : ‘啶Žš‚Ə¬•¶Žš‚ð‹æ•Ê‚µ‚È‚¢‚ÅŒŸõ‚·‚é - @@-l : ƒtƒ@ƒCƒ‹‚̃pƒX‚̂ݏo—Í‚·‚é - -L : ƒL[ƒ[ƒh‚ðŠÜ‚Ü‚È‚¢ƒtƒ@ƒCƒ‹‚̃pƒX‚ðo—Í‚·‚é - -c : ƒL[ƒ[ƒh‚ðŠÜ‚ލs‚̐”‚ðŽæ“¾‚·‚邾‚¯‚Ì‚½‚߁A•Ô‚è’l‚Ì LineNum ‚ð‹‚ß‚éˆ—‚ð‚µ‚È‚¢ - @@--include : Šg’£Žq‚ðŽw’è‚·‚é - ‚̃pƒ‰ƒ[ƒ^[‚Æ“¯‚¶‚Å‚·B - - grep ƒRƒ}ƒ“ƒh - - -u ƒIƒvƒVƒ‡ƒ“ivbslib ƒIƒŠƒWƒiƒ‹j‚ðŽw’肵‚È‚¢‚ƁAUnicode ƒeƒLƒXƒg‚ɂ̓qƒbƒg‚µ‚Ü‚¹‚ñB - - ¨ grep ƒRƒ}ƒ“ƒh (Linux) - - - ¨ GrepKeyword - - ŠÖ˜A - \ •¶Žš‚Í bash ‚ðŒo—R‚µ‚½‚Æ‚«‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B ‚‚܂èA\\ ‚ª \ ‚ɁA\" ‚ª " ‚É’u‚«Š·‚í‚Á‚½Œã‚Ì•¶Žš—ñ‚ªA³‹K•\Œ»‚É“K—p‚³‚ê‚Ü‚·B - —áF - - - \( - - ‚ðŽw’è‚·‚é‚ƁAˆê”Ê•¶Žš‚́i§Œä•¶Žš‚Å‚È‚¢j - - - \\( - - - - ( - - - - \\\\ - - ‚ðŽw’è‚·‚é‚ƁAˆê”Ê•¶Žš‚́i§Œä•¶Žš‚Å‚È‚¢j - - - \ - - ‚Ü‚½‚Í - OutPath ˆø”‚É ŒŸõŒ‹‰Ê‚̏o—͐æ‚̃tƒ@ƒCƒ‹EƒpƒX‚ðŽw’è‚·‚é‚ƁA - —áF - Œ‹‰Ê‚ðƒtƒ@ƒCƒ‹‚ɏo—Í‚·‚é - - ‰º‹L‚̃Tƒ“ƒvƒ‹ - - •\Ž¦‚³‚êA•Ô‚è’l‚Í Empty ‚É‚È‚è‚Ü‚·B •Ô‚è’l‚ð GrepFound ƒIƒuƒWƒFƒNƒg‚Ì”z—ñ‚É‚µ‚½‚¢‚Æ‚«‚́AOutPath ˆø”‚É Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - ‚̂悤‚É - - RunProg - - “¯—lA - - EchoOff ƒIƒuƒWƒFƒNƒg - - ‚ðŽg‚Á‚½‚èAOutPath ˆø”‚É - ‚Ì”z—ñA‚Ü‚½‚Í Empty - -u ƒIƒvƒVƒ‡ƒ“‚ðŽw’肵‚½‚Æ‚«‚́A“à•”‚Å - - VBScript.RegExp - - ‚ªŽg‚í‚ê‚Ü‚·B - - ExpandWildcard_Sort •Ï” - - ‚ªŽg‚¦‚Ü‚·B ‚½‚¾‚µA-u ƒIƒvƒVƒ‡ƒ“‚ª•t‚¢‚Ä‚¢‚È‚¢‚Æ–³Ž‹‚³‚ê‚Ü‚·B - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚¾‚¯‚ðŒŸõ‘Ώۂɂ·‚é - ƒTƒ“ƒvƒ‹ - - - Set ds = new CurDirStack - extensions = g_Vers("TextFileExtension").Keys - extensions = CSVFrom( extensions ) - extensions = Replace( extensions, ",", " *." ) - extensions = Left( "*." + extensions, Len( extensions ) ) - - cd "..\FolderA" - founds = grep( "-r ""define"" "+ extensions, Empty ) '// as array of GrepFound - For Each found In founds - echo found.Path - Next - - - - - - - - SortGrepFoundArray - - - Sub SortGrepFoundArray( Founds as array of GrepFound ) - - GrepFound ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚Ì”z—ñ‚ðƒ\[ƒg‚µ‚Ü‚·B - yˆø”z - Founds - GrepFound ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚Ì”z—ñ - - GrepFound - - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ ExpandWildcard_Sort •Ï” - - - - - - - - GrepClass - - ¨ T_Grep.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - T_GrepClass1 - T_Grep1 ‚Ì *_U (grep -u ‚Ì“à•”‚ÅŽg‚Á‚Ä‚¢‚éj - ƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŽw’肵‚½ƒL[ƒ[ƒh‚ðŠÜ‚ލs‚ðŒŸõ‚µ‚Ü‚·B - .IsRecurseSubFolders - ƒTƒuEƒtƒHƒ‹ƒ_[‚àÄ‹A“I‚ÉŒŸõ‘Ώۂɂ·‚éBExecute ‚Ì TargetPath ˆø”‚É PathDictionaryClass - ‚ðŽw’肵‚½‚Æ‚«‚́A–³Ž‹‚³‚ê‚Ü‚· - .IsOutFileNameOnly - boolean - boolean - ƒtƒ@ƒCƒ‹–¼‚̂ݏo—Í‚·‚é - .IsInvertMatch - ƒL[ƒ[ƒh‚Ƀ}ƒbƒ`‚µ‚È‚¢‚à‚Ì‚ðo—Í‚·‚é - boolean - .IsHitCount - LineNum ‚ð‹‚ß‚éˆ—‚ð‚µ‚È‚¢ - boolean - .IgnoreCase - .Pattern - string - boolean - ŒŸõƒL[ƒ[ƒh - - i³‹K•\Œ»j - - ‘啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚È‚¢‚©‚Ç‚¤‚© - - .Execute - - Function - Žw’肵‚½ƒtƒ@ƒCƒ‹‚Ì’†‚ɑ΂µ‚āAŒŸõ‚ðŽÀs‚·‚é - \ ‚́Abash ‚ðŒo—R‚µ‚È‚¢‚Æ‚«‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B"" ‚ðŽw’è‚·‚é‚Æ .IsOutFileNameOnly = True ‚È‚çA - ‚·‚ׂẴtƒ@ƒCƒ‹‚ðŒŸõŒ‹‰Ê‚ÉŠÜ‚ß‚Ü‚·B - - VBScript.RegExp - - ‚É‚ ‚郁ƒ“ƒo[‚Æ“¯‚¶‚à‚̂́A“¯‚¶–¼‘O‚É‚µ‚Ä‚¢‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set a_grep = new GrepClassa.grep.Pattern = "</?xml>" - founds = a_grep.Execute( "folder\*.txt" ) - - - - - - - - Execute (GrepClass) - - - Function GrepClass::Execute( TargetPath as variant ) as array of GrepFound - - ƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŽw’肵‚½ƒL[ƒ[ƒh‚ðŠÜ‚ލs‚ðŒŸõ‚µ‚Ü‚·B - yˆø”z - TargetPath - ŒŸõ‘ΏۃtƒHƒ‹ƒ_[‚⃏ƒCƒ‹ƒhƒJ[ƒhi•¡”‰ÂjA‚Ü‚½‚Í - •Ô‚è’l - - GrepFound ƒIƒuƒWƒFƒNƒg - - - GrepFound - - ‚Ì”z—ñA‚Ü‚½‚Í Empty - - PathDictionaryClass - - - << GrepClass - - TargetPath ˆø”‚́A - - VBScript.RegExp - - ‚Ì Execute ƒƒ\ƒbƒh‚̈ø”‚ƈقȂè‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - founds = a_grep.Execute( "folder\*.txt" ) - - - - founds = a_grep.Execute( Array( "folder_A\*.txt", "folder_B\*.txt" ) ) - - - - paths = ArrayFromWildcard( "folder" )paths.AddRemove "folder\.svn" - founds = a_grep.Execute( paths ) - - - - - - - - ToRegExpPattern - - - Function ToRegExpPattern( NotEscapedString as string ) as string - - egrep Žd—lEVBScript Žd—l‚̐³‹K•\Œ»‚ÅŽg‚í‚ê‚郁ƒ^•¶Žš‚àŒŸõ‚Å‚«‚é‚悤‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - NotEscapedString - ƒƒ^•¶Žš‚àŠÜ‚މ”\«‚ª‚ ‚錟õƒL[ƒ[ƒh - •Ô‚è’l - ƒƒ^•¶Žš‚ðƒGƒXƒP[ƒv‚µ‚½ŒŸõƒL[ƒ[ƒh - - - Assert ToRegExpPattern( "[0](1)\" ) = "\[0\]\(1\)\\" - - ƒTƒ“ƒvƒ‹ - - ¨ VBScript.RegExp - - ŽQl - ƒ\[ƒX - - ¨ GrepKeyword - - ŠÖ˜A - - ¨ T_Grep.vbs # [T_GrepKeyword] - - ƒeƒXƒg - - ¨ vbslib.vbs - - - ¨ ³‹K•\Œ» - - - ¨ ŒÝŠ·« i³‹K•\Œ»j - - ToOldRegExpPattern - - - Function ToOldRegExpPattern( NotEscapedString as string ) as string - - grep Žd—l‚̐³‹K•\Œ»‚ÅŽg‚í‚ê‚郁ƒ^•¶Žš‚àŒŸõ‚Å‚«‚é‚悤‚É•ÏŠ·‚µ‚Ü‚·B - - - Assert ToOldRegExpPattern( "[0](1)\" ) = "\[0\](1)\\" - - ToRegExpPattern - - ¨ vbslib.vbs - - ToOldRegExpPattern - - - - - - - GrepKeyword - EGrepKeyword - - - Function GrepKeyword( NotEscapedString as string ) as string - - ŒŸõƒL[ƒ[ƒh‚ð grep ‚â egrep ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÉŽw’è‚·‚éŒ`Ž®‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - NotEscapedString - •Ô‚è’l - ŒŸõƒL[ƒ[ƒh - grep ‚â egrep ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÉŽw’è‚·‚éŒ`Ž® - - - Function EGrepKeyword( NotEscapedString as string ) as string - - •Ô‚è’l‚ð grep ‚â egrep ‚̃pƒ‰ƒ[ƒ^[‚ÉŽw’è‚·‚é‚Æ‚«‚́A" " ‚ň͂ñ‚Å‚­‚¾‚³‚¢B' ' ‚ň͂܂Ȃ¢‚Å‚­‚¾‚³‚¢B ‚È‚º‚È‚ç \ ‚ªƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̃GƒXƒP[ƒvŠJŽn•¶Žš‚Å‚Í‚È‚­ - ‚È‚é‚©‚ç‚Å‚·B - - - Assert GrepKeyword( "---\" ) = "\---\\\\" - - - - grep -r "\---" * - - - (src) - - - (src) - - - ¨ T_Grep.vbs # [T_GrepKeyword] - - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - GrepExpression - - (src) - - - - Function GrepExpression( RegularExpression as string ) as string - - RegularExpression - - ³‹K•\Œ» - - RegularExpression ˆø”‚ÉŽw’肵‚½ \ •¶Žš‚Í bash ‚ðŒo—R‚µ‚È‚¢‚Æ‚«‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B —áF \\\\ = \ •¶Žš‚ª‚Q‚‚ðƒL[ƒ[ƒh‚Æ‚·‚é - RegularExpression ˆø”‚̐擪‚ɁA- ‚ðŽw’肵‚½‚Æ‚«‚ɃIƒvƒVƒ‡ƒ“‚ƈµ‚í‚ê‚È‚¢‚悤‚ɁA - æ“ª‚É \ ‚ª•t‚¢‚½‚à‚Ì‚ª•Ô‚è‚Ü‚·B - RegularExpression ˆø” - - - Assert GrepExpression( "---\" ) = "\---\\" - - - - Assert GrepExpression( "abc[A-Z]\def" ) = "abc[A-Z]\\def" - - - - Assert GrepKeyword( "abc[0]\def" ) = "abc\\[0\\]\\\\def" - - ŠÖ˜A - - ¨ ToRegExpPattern - - - - - - - - find - - - Function find( keyword as string, path as string ) as string - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŽw’肵‚½ƒL[ƒ[ƒh‚ðŠÜ‚ލs‚ð‚Ü‚Æ‚ß‚Ä•Ô‚µ‚Ü‚·B - yˆø”z - keyword - ŒŸõ‚·‚éƒL[ƒ[ƒh - ƒL[ƒ[ƒh‚ðŠÜ‚ލsA‚Ü‚½‚Í•¡”s - •Ô‚è’l - path - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - - (src) - - ƒTƒ“ƒvƒ‹F - - - lines = find( "<ERROR", "Test_logs.txt" ) - - Test_logs.txt ƒtƒ@ƒCƒ‹‚̃Tƒ“ƒvƒ‹ - - - start main.vbs<ERROR msg='not found symbol'/> - Fail. - - •Ô‚è’l‚̃Tƒ“ƒvƒ‹ - - - <ERROR msg='not found symbol'/> - - ŠÖ˜A - - ¨ FindStringLines - - - - - - - - find_c - - - Function find_c( keyword as string, path as string ) as integer - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŽw’肵‚½ƒL[ƒ[ƒh‚ðŠÜ‚ލs”‚ð•Ô‚µ‚Ü‚·B - yˆø”z - keyword - path - ŒŸõ‚·‚éƒL[ƒ[ƒh - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - ƒL[ƒ[ƒh‚ðŠÜ‚ލs” - •Ô‚è’l - - (src) - - - - - - - - SearchStringTemplate - ƒeƒXƒg - - ¨ T_fc.vbs - - - - Function SearchStringTemplate( FolderPath as string, RegularExpressionPart as string, TemplateStrings as array of string, Opt as Empty ) as array of array of GrepFound - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ðƒL[ƒ[ƒh‚ÅŒŸõ‚µA‚ǂ̃eƒ“ƒvƒŒ[ƒg‚ƈê’v‚·‚é‚©‚ðˆê——‚µ‚Ü‚·B - yˆø”z - FolderPath - RegularExpressionPart - ŒŸõ‘ΏۃtƒHƒ‹ƒ_[‚⃏ƒCƒ‹ƒhƒJ[ƒh - ƒeƒ“ƒvƒŒ[ƒg‚Ì’†‚É‚ ‚éƒL[ƒ[ƒhB•¡”s•s‰Â - TemplateStrings - ƒeƒ“ƒvƒŒ[ƒgi•¡”s‰ÂjA‚Ü‚½‚́A‚»‚Ì”z—ñ - •Ô‚è’l - - ¨ ³‹K•\Œ» - - - GrepFound ƒIƒuƒWƒFƒNƒg - - ‚Ì”z—ñ‚Ì”z—ñ - •Ô‚è’l( i ) ‚́ATemplateStrings( i ) ‚̃eƒ“ƒvƒŒ[ƒg‚Ƀ}ƒbƒ`‚µ‚½êŠ‚ðŽ¦‚· GrepFound ƒIƒuƒWƒFƒNƒg‚Ì”z—ñ‚Å‚·B •Ô‚è’l( UBound( TemplateStrings ) + 1 ) ‚́A‚ǂ̃eƒ“ƒvƒŒ[ƒg‚É‚àƒ}ƒbƒ`‚µ‚È‚©‚Á‚½ - êŠ‚ðŽ¦‚· GrepFound ƒIƒuƒWƒFƒNƒg‚Ì”z—ñ‚Å‚·B -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒ\[ƒX - GrepFound ƒIƒuƒWƒFƒNƒg‚̃ƒ“ƒo[•Ï”‚Ì“à—e‚́AŽŸ‚Ì’Ê‚è‚Å‚·B - .Path - .LineNum - .LineText - ƒtƒ@ƒCƒ‹–¼ - Empty - Array( ƒeƒ“ƒvƒŒ[ƒg‚ÌŠJŽnˆÊ’ui1ˆÈãj, ƒeƒ“ƒvƒŒ[ƒg‚ÌŽŸ‚̈ʒu ) - GetEchoStr ‚É“n‚·‚ƁAŽŸ‚̂悤‚É•Ï‚í‚è‚Ü‚·B - ƒeƒ“ƒvƒŒ[ƒg‚Ƀ}ƒbƒ`‚µ‚½ƒtƒ@ƒCƒ‹‚Ì’†‚Ì“à—eB •¡”s‚̏ꍇ‚ ‚è - s”ԍ† - ƒtƒ@ƒCƒ‹–¼ - .LineText - .LineNum - .Path - T_SearchStringTemplate - ŠÖ˜A - - ¨ PartCmp - - - - founds = SearchStringTemplate( "TargetFolder", "(((", _ "/***********" +vbCRLF+ _ - "((( ${FunctionName} ))$\{)" +vbCRLF+ _ - "************/" +vbCRLF, Empty ) - - Assert founds(0)(0).LineNum = 1 '// ƒ}ƒbƒ`‚µ‚½ - Assert founds(0)(1).LineNum = 5 '// ƒ}ƒbƒ`‚µ‚½ - Assert founds(1)(0).LineNum = 9 '// ƒ}ƒbƒ`‚µ‚È‚©‚Á‚½ - - ƒTƒ“ƒvƒ‹ - TargetFolder ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚©‚ç "(((" ‚ðŒŸõ‚µAŒ©‚‚©‚Á‚½ˆÊ’u‚ɁAƒeƒ“ƒvƒŒ[ƒgi‰º‹L‚Ì•¡”s‚Ì•¶Žš—ñj ‚ªƒ}ƒbƒ`‚µ‚Ä‚¢‚é‚à‚̂ƁAƒ}ƒbƒ`‚µ‚Ä‚¢‚È‚¢ - ‚à‚Ì‚É•ª‚¯‚Ü‚·B - - - /***********((( FuncA ))${) - ************/ - - /*********** - ((( FuncB ))${) - ************/ - - /*********** - ((( FuncC ))) - ************/ - - ŒŸõ‘Ώۂ̃eƒLƒXƒgƒtƒ@ƒCƒ‹ - 1:2: - 3: - 4: - 5: - 6: - 7: - 8: - 9: - 10: - 11: - c RegularExpressionPart ˆø”‚ÉŽw’肵‚½ ((( ‚Ƀqƒbƒg‚·‚邪A<+tspan x="218.5px" y="1006.5px" xml:space="preserve">@@ƒeƒ“ƒvƒŒ[ƒg‚ÉŽw’肵‚½ ${ ‚ª‚È‚¢‚̂Ń}ƒbƒ`‚µ‚È‚¢ - ƒL[ƒ[ƒh‚ªŒ©‚‚©‚Á‚½ˆÊ’u‚ªAŽw’肵‚½ƒeƒ“ƒvƒŒ[ƒg‚̈ꕔ‚Å‚ ‚é‚à‚̂ƁA‚»‚¤‚Å‚È‚¢‚à‚Ì‚ðˆê——‚µ‚Ü‚·B ‚±‚ê‚ð‰ž—p‚·‚ê‚΁Aƒeƒ“ƒvƒŒ[ƒg‚Ì“à—e‚ªˆá‚Á‚Ä‚¢‚½‚èAŒÃ‚¢ƒeƒ“ƒvƒŒ[ƒg‚Ì‚Ü‚Ü - ‚É‚È‚Á‚Ä‚¢‚½‚è‚·‚é‚à‚Ì‚ðŒ©‚Â‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒeƒ“ƒvƒŒ[ƒg‚́A‰Â•Ï‚Ì•”•ª‚ð "${•Ï”–¼}" ‚̂悤‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B ‰Â•Ï‚Ì•”•ª‚́A•¡”s‚É‚Ü‚½‚®‚±‚Æ‚ª‚Å‚«‚Ü‚·B SearchStringTemplate ŠÖ”‚̓eƒ“ƒvƒŒ[ƒg‚Ì’†‚̕ϐ”–¼‚𖳎‹‚µ‚Ü - ‚·‚ªAƒeƒ“ƒvƒŒ[ƒg‚ð ScanFromTemplate ŠÖ”‚È‚Ç‚É‚»‚Ì‚Ü‚Ü“n‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ${ •¶Žš‚Í "$\{" ‚Æ‹Lq‚µ‚Ä‚­‚¾‚³‚¢B $\ •¶Žš‚Í "$\\" ‚Æ‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - - - ŠÖ”–¼F ${FunctionName}ˆø”F ${Arguments} - •Ô‚è’lF ${RerutnValue} - - - ¨ ScanFromTemplate - - Opt - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - - ExpandWildcard_Sort •Ï” - - ‚ªŽg‚¦‚Ü‚·B - - ¨ ReplaceStringTemplate - - •Ô‚è’l‚ª founds ‚Ì‚Æ‚«Afounds(t)(i) ‚Ì t ‚Í TemplateStrings ˆø”‚Ì”z—ñ”ԍ†Ai ‚̓eƒ“ƒvƒŒ[ƒg‚Ƀ}ƒbƒ`‚µ‚½•¡”‚̏ꏊ‚É 0 ‚©‚珇”Ԃɂ‚¯‚½”ԍ†‚Å‚·B - founds(t)(i).LineNum ‚́AƒL[ƒ[ƒh‚ª‚ ‚éˆÊ’u‚̍s”ԍ†‚Å‚·B - - ¨ GetLineNumOfTemplateDifference - - •Ô‚è’l - TemplateStrings ˆø” - - ¨ Execute (GrepClass) - - - ¨ EchoOld (ReplaceTemplateClass) - - - - - - - - GetLineNumOfTemplateDifference - - - Function GetLineNumOfTemplateDifference( TargetString as string, RegularExpressionPart as string, TemplateString as string ) as integer - - Žw’肵‚½•¶Žš—ñ‚Ì’†‚ŁAƒeƒ“ƒvƒŒ[ƒg‚Ɉê’v‚µ‚È‚¢êŠ‚̍s”ԍ†‚ð•Ô‚µ‚Ü‚·B - yˆø”z - TargetString - RegularExpressionPart - ƒeƒ“ƒvƒŒ[ƒg‚ªŠÜ‚Ü‚ê‚éi‚Í‚¸‚́j•¶Žš—ñ - ƒeƒ“ƒvƒŒ[ƒgi•¡”s‰Âj - TemplateString - ƒeƒ“ƒvƒŒ[ƒg‚̏‘‚«•û‚ɂ‚¢‚āA - - ¨ SearchStringTemplate - - - - line_num = GetLineNumOfTemplateDifference( _ "----" +vbCRLF+_ - "----" +vbCRLF+_ - "Parameter1: abc" +vbCRLF+_ - "Param2: def" +vbCRLF+_ - "Parameter3: ghi" +vbCRLF+_ - "----" +vbCRLF, _ - _ - "Parameter1", _ - _ - "Parameter1: ${1}" +vbCRLF+_ - "Parameter2: ${2}" +vbCRLF+_ - "Parameter3: ${3}" +vbCRLF ) - - Assert line_num = 4 '// Param2: ‚̏ꏊ‚̍s”ԍ† - - ƒTƒ“ƒvƒ‹ - ƒeƒ“ƒvƒŒ[ƒg‚Ɉê’v‚µ‚È‚¢êŠ‚̍s”ԍ†B 0=‚·‚ׂĈê’v - •Ô‚è’l - ƒeƒ“ƒvƒŒ[ƒg‚Ì’†‚É‚ ‚éƒL[ƒ[ƒhB•¡”s•s‰Â - - ¨ ³‹K•\Œ» - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒ\[ƒX - - ¨ T_fc.vbs - - ƒeƒXƒg - T_GetLineNumOfTemplateDifference - - ¨ RunGetDifference (ReplaceTemplateClass) - - ŠÖ˜A - - - - - - - CreateFile - - - Function CreateFile( path as string, text as string ) as string - - Žw’è‚̃eƒLƒXƒg‚ð“à—e‚Æ‚µ‚½ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B - yˆø”z - path - text - ì¬‚·‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e - - ¨ WaitForFile - - - (src) - - text ‚ÉŽw’肵‚½•¶Žš—ñ‚Ì––”ö‚ɉüs‚ªŽ©“®“I‚É“ü‚ç‚È‚¢ƒeƒLƒXƒg‚ªì¬‚³‚ê‚Ü‚·B - ƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚É a.txt ƒtƒ@ƒCƒ‹‚ðì‚é - - - CreateFile "a.txt", "ABC" - - •Ô‚è’l - ì¬‚µ‚½ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃tƒ‹EƒpƒX - path ‚É‘Š‘΃pƒX‚ðŽw’肵‚½‚Æ‚«AŠî€ƒtƒHƒ‹ƒ_‚̓JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_‚É‚È‚è‚Ü‚·‚ªAƒƒCƒ‹ƒhƒJ[ƒh‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚ƁAƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚É‚È‚è‚Ü‚·B Ú‚µ‚­‚́A - - - start CreateFile( "*.xml", obj.xml ) - - - ¨ GetTempPath - - - ¨ GetTempPath - - - xml - - - start - - obj - obj ‚Ì xml ƒvƒƒpƒeƒB‚ðAƒeƒ“ƒ|ƒ‰ƒŠƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚ÄŠJ‚­ - - ¨ OpenForWrite - - ŠÖ˜A - - ¨ ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðì¬‚·‚é (VBS) - - - new_TextFileCharSetStack - - ‚ðŽg‚¤‚ƁAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃tƒH[ƒ}ƒbƒg‚ðŽw’è‚Å‚«‚Ü‚·B - - ¨ T_File.vbs [T_CreateFile] - - ƒeƒXƒg - - new_IsSafeFileUpdateStack - - ‚ðŽg‚¤‚ƁA“à•”‚Å - ‚ðŽg‚¢‚Ü‚·B - - SafeFileUpdate - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - - ¨ Out of Writable Œx [E_OutOfWritable] - - - ¨ FileT_create (clib) - - - mini (src) - - - ¨ T_File.vbs [T_CreateFile_Err] - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - path = "_work.txt"text = ReadFile( path ) - '// ‚±‚±‚Å text ‚ð•ÏX - Set cs = new_TextFileCharSetStack( ReadUnicodeFileBOM( path ) ) - CreateFile path, text - cs = Empty - - •â‘« - - ReadUnicodeFileBOM - - - new_TextFileCharSetStack - - - ReadFile - - Unicode Œ`Ž®‚©‚Ç‚¤‚©‚ðˆÛŽ‚µ‚ătƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚·‚é - - OpenForReplace ‚Ì Text - - ’ˆÓ - ‰º‹L‚Ì•û–@‚æ‚èA - ‚ð•ÏX‚·‚é•û‚ªˆµ‚¢‚â‚·‚¢‚Å‚µ‚傤B - - - - - - - touch - - - Sub touch( Path as string ) - - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒviƒtƒ@ƒCƒ‹‚̍XV“úŽžj‚ðŒ»Ý‚Ì“úŽž‚ɍXV‚µ‚Ü‚·B - yˆø”z - Path - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðXV‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - ƒeƒXƒg - - ¨ T_File.c - - ƒ\[ƒX - T_touch - - ¨ vbslib.vbs - - - ¨ vbslib_helper.c - - Path ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́A‹ó‚̃tƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B - - - - - - - SetDateLastModified - - - Sub SetDateLastModified( in_PathAndDate as dictionary of CDate ) - - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒviƒtƒ@ƒCƒ‹‚̍XV“úŽžj‚ðÝ’肵‚Ü‚·B - yˆø”z - in_PathAndDate - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðXV‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒL[AƒAƒCƒeƒ€‚ª“ú•t‚ÌŽ«‘ - - ¨ vbslib_helper.c - - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_File.c - - T_SetDateLastModified - - ¨ vbslib.vbs - - in_PathAndDate ˆø”‚̃AƒCƒeƒ€‚ɂ́A - ‚ðŽw’肵‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - SetDateLastModified Dict(Array( _ "FileA.txt", CDate( "2008/06/16 12:00:00" ), _ - "FileB.txt", CDate( "2009/09/29 23:59:59" ) )) - - - Date Œ^ - - ŠÖ˜A - - ¨ File::DateLastModified - - Žw’è‚·‚é“úŽž‚̃^ƒCƒ€ƒ][ƒ“‚́Aƒ[ƒJƒ‹‚Å‚·B - “à•”‚ŁAvbslib_helper.exe ‚ðŒÄ‚яo‚µ‚Ä‚¢‚Ü‚·B - - - - - - - - ‚±‚ÌŒx‚ªo‚éÅ‚à‘½‚¢Œ´ˆö‚́Aƒ†[ƒU‚ªÝ’肵‚½êŠ‚ɏ‘‚«ž‚Ý‹–‰Â‚ðÝ’肵‚È‚©‚Á‚½ƒXƒNƒŠƒvƒg‚̃oƒO‚Å‚·B ƒXƒNƒŠƒvƒgŠJ”­ŽÒ‚́A - Out of Writable Œx [E_OutOfWritable] - - - [WARNING] Out of Writable, see "Out of Writable" in vbslib manual. "C:\home\scriptlib\vbslib_new\_src\Test\vbslib_test\T_Writable\work2" - - ƒXƒNƒŠƒvƒg‚ª‘z’肵‚Ä‚¢‚È‚¢êŠ‚ɁAƒtƒ@ƒCƒ‹‚ðo—Í‚µ‚悤‚Æ‚µ‚½‚Æ‚«Ao—Í‚µ‚Ä‚æ‚¢‚©ƒ†[ƒU‚ÉŠm”F‚ðŽæ‚è‚Ü‚·B - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ւ̏o—Í—áF - Šm”FƒEƒBƒ“ƒhƒEF - - AppKeyClass::NewWritable - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚́Aƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½ .vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_A‚Ü‚½‚́Aƒ†[ƒU‚ªÝ’肵‚½êŠ‚̃tƒHƒ‹ƒ_‚Ì‚Ç‚¿‚ç‚©‚µ‚©Aƒtƒ@ƒCƒ‹‚ðì¬‚µ‚½‚èíœ‚µ‚È‚¢‚悤‚ɍì‚ç‚ê‚Ü‚·B - ‚±‚̃‹[ƒ‹‚ªŽç‚ç‚ê‚È‚©‚Á‚½‚Æ‚«AŒx‚ªo‚Ü‚·B - - ‚±‚Ì‹@”\‚́AƒXƒNƒŠƒvƒgŠJ”­ŽÒ‚̃~ƒX‚É‚æ‚Á‚Ä–â‘肪‹N‚«‚È‚¢‚悤‚É‚·‚邽‚ß‚Ì‚à‚Ì‚Å‚ ‚èA - ˆ«ˆÓ‚Ì‚ ‚éƒXƒNƒŠƒvƒg‚́A‚±‚ÌŒx‚ðo‚³‚È‚¢‚Ńtƒ@ƒCƒ‹‚ð‰ó‚·‚±‚Æ‚à‚ ‚è‚Ü‚·B - - ¨ T_Writable - - Out of Writable Œx‚̃fƒoƒbƒO - ƒfƒoƒbƒK‚ŃXƒNƒŠƒvƒg‚ð‹N“®‚µAOut of Writable ‚ÌŒx‚ŁAƒvƒƒOƒ‰ƒ€‚̏I—¹‚âƒLƒƒƒ“ƒZƒ‹‚ð‘I‚ԂƁA—áŠO‚É‚æ‚èƒuƒŒ[ƒN‚µ‚Ü‚·B - - - Err.Raise E_OutOfWritable,, "Out of Writable """ & CheckPath & """" ' Watch g_CurrentWritables.CurrentPathes and CheckPath - - g_CurrentWritables.CurrentPathes ‚â CheckPath ‚ðƒEƒHƒbƒ`ƒEƒBƒ“ƒhƒE‚Ń`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B - ƒR[ƒ‹ƒcƒŠ[ - mkdir ‚È‚Ç - g_AppKey.CheckWritable - m_Key.CheckWritable - g_CurrentWritables.CheckWritable - m_Key.CheckPlusWritable - "...\*" ˆÈŠO‚̃`ƒFƒbƒN - "...\*" ‚ŒljÁ‚³‚ꂽ‚à‚Ì‚Æ”äŠr - m_Key.Ask - Œx‚Ì•\Ž¦ - m_PlusWritables( UBound( m_PlusWritables ) ) = abs_path - Writable ‚ð’ljÁ - ‰B‚µƒL[‚̃ƒ\ƒbƒh - ŒöŠJƒL[‚̃ƒ\ƒbƒh - ƒeƒXƒg - ƒOƒ[ƒoƒ‹•Ï”‚̃fƒXƒgƒ‰ƒNƒ^‚Ńtƒ@ƒCƒ‹‘€ì‚ð‚·‚é‚ƁAƒƒCƒ“ŠÖ”‚ō쐬‚µ‚½ WritablesƒIƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽŒã‚Ȃ̂ŁA•K‚¸Œx‚ª”­¶‚µ‚Ü‚·B - If IsEmpty( abs_path ) Then Exit Sub - Writable ‚Ì’†‚È‚Ì‚Å OK - AppKey.NewWritable - Writables::SetPathes - m_Pathes( UBound( m_Pathes ) ) = g_TempFile.m_FolderPath + "\" - m_Pathes(i) = abs_path + "\" - Writable ‚Ì“o˜^ - ƒeƒ“ƒ|ƒ‰ƒŠ‚ð Writable ‚É“o˜^ - g_CurrentWritables.AskFileAccess - Writables::Enable - WritablesStack::PushPathes - CurrentWritables::PushPathes - m_PathesStack.Push - Writable ‚ð—LŒø‚É‚·‚é - - AppKeyClass::Watch - - ‚ð‚΂ç‚Ü‚¢‚Ä‚­‚¾‚³‚¢B - Writable ‚̏󋵂ðŠm”F‚µ‚½‚¢‚Æ‚«‚́A - AppKeyClass::Ask - - - - - - - NewWritable (AppKeyClass) - - - Function AppKeyClass::NewWritable( Pathes as variant ) as Writables - - - - Sub Main( Opt, AppKey ) Set w_= AppKey.NewWritable( "." ).Enable() - '// ‘‚«ž‚݉”\‚È”ÍˆÍ - w_ = Empty '// ‚±‚ê‚ð‘‚©‚È‚¢‚Æ‚«‚́AŠÖ”‚ªI‚í‚é‚Ü‚Å‚ª”ÍˆÍ - End Sub - - ƒTƒ“ƒvƒ‹‚PF ƒJƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚ð‘‚«ž‚݉”\‚É‚·‚é - ƒTƒ“ƒvƒ‹F Œã‚Å out ƒtƒHƒ‹ƒ_‚ð‘‚«ž‚݉”\‚É‚·‚é - - - Sub Main( Opt, AppKey ) Set wr = AppKey.NewWritable( "out" ) - - sub2 wr - End Sub - - Sub sub2( wr ) - Set w_ = wr.Enable() - '// "out" ‚ɏ‘‚«ž‚݉”\‚È”ÍˆÍ - End Sub - - ‘‚«ž‚݉”\‚ȃtƒHƒ‹ƒ_‚̐ݒèƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - Pathes - ‘‚«ž‚݉”\‚ȃtƒHƒ‹ƒ_‚Ì - •Ô‚è’l - Writable Ý’èƒIƒuƒWƒFƒNƒg - ’ʏí‚́AƒTƒ“ƒvƒ‹‚P‚̂悤‚ÉŽg‚¢ANewWritable ŠÖ”‚̈ø”‚𒲐®‚µ‚Ü‚·B‚à‚µ‚­‚́AŽg‚Á‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Ì - “n‚·‚ƁA‘‚«ž‚݉”\‚ȃtƒHƒ‹ƒ_‚̐ݒè‚ð•s³‚É•Ï‚¦‚ç‚ê‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B•Ô‚è’l‚Å‚ ‚é Writable Ý’èƒIƒuƒWƒFƒNƒg‚́A‘¼‚̊֐”‚É“n‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - AppKey ‚́A‚È‚é‚ׂ­‘¼‚̊֐”‚É“n‚³‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - Sub Main( Opt, AppKey ) Set w_= AppKey.NewWritable( Array("out1","out2") ).Enable() - '// ‘‚«ž‚݉”\‚È”ÍˆÍ - End Sub - - ƒTƒ“ƒvƒ‹F •¡”‚̃tƒHƒ‹ƒ_‚ð‘‚«ž‚݉”\‚É‚·‚é - - Enable - - AppKeyClass ‚́A - - ¨ Writables::Enable - - NewWritable( "." ) - - (src) - - B•¶Žš—ñA‚Ü‚½‚Í•¶Žš—ñ‚Ì”z—ñ - - ƒpƒX - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX - - ŠÖ˜A - - ¨ Out of Writable Œx - - - ¨ SetWritableMode - - ƒTƒ“ƒvƒ‹F ƒfƒXƒNƒgƒbƒv‚ɐV‹KƒtƒHƒ‹ƒ_‚̍쐬‚ð‰Â”\‚É‚µAV‹KƒtƒHƒ‹ƒ_‚Ì’†‚͏‘‚«ž‚݉”\‚É‚·‚éB V‹KƒtƒHƒ‹ƒ_‚ðì¬‚·‚邱‚Æ‚ª‚Å‚«‚éƒtƒHƒ‹ƒ_‚̃pƒX‚ÌŒã‚É \* ‚ðŽw’肵‚Ä - ‚­‚¾‚³‚¢B - - - Sub Main( Opt, AppKey ) desktop = g_sh.SpecialFolders( "Desktop" ) - Set w_= AppKey.NewWritable( desktop+"\*" ).Enable() - mkdir desktop+"\New Folder" - '// ‘‚«ž‚݉”\‚È”ÍˆÍ - w_ = Empty '// ‚±‚ê‚ð‘‚©‚È‚¢‚Æ‚«‚́AŠÖ”‚ªI‚í‚é‚Ü‚Å‚ª”ÍˆÍ - End Sub - - Pathes ‚ÉŽw’è‚·‚éƒpƒX‚̍Ōã‚É "\*" ‚ª‚ ‚é‚ƁAV‹KƒtƒHƒ‹ƒ_‚̍쐬‚ð‰Â”\‚É‚µAV‹KƒtƒHƒ‹ƒ_‚Ì’†‚͏‘‚«ž‚݉”\‚É‚µ‚Ü‚·B "C:\folder1\*" ‚Æ‚·‚é‚ƁAC:\folder1 - ‚Ƀtƒ@ƒCƒ‹‚ðì¬‚Å‚«‚Ü‚¹‚ñ‚ªAƒtƒHƒ‹ƒ_‚͍쐬‚Å‚«‚Ü‚·B - ‚·‚Å‚É C:\folder1 ‚É‚ ‚éƒtƒHƒ‹ƒ_‚Ì’†‚́Aã‘‚«‚³‚ê‚È‚¢‚悤‚ɁA‘‚«ž‚Ý•s‰Â - ‚É‚È‚è‚Ü‚·B - - Out of Writable Œx - - ‚ªo‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - –{ŠÖ”‚𐳂µ‚­Žg‚¦‚΁A - - [ e: Out of Writable Œx ] - - ƒeƒXƒg - Program Files ‚È‚Ç‚Ì OS ‚̃VƒXƒeƒ€ƒtƒHƒ‹ƒ_‚ð NewWritable ‚ÉŽw’è‚·‚é‚ƁASystem folder access ‚ÌŒx‚É‚È‚è‚Ü‚·B ‚±‚ÌŒx‚ðŽ©“®“I‚É–³Ž‹‚·‚é‚Æ‚«‚́A - NewWritable ‚ðŒÄ‚яo‚·‘O‚É - - SetWritableMode - - ‚É F_IgnoreIfWarn ‚ðŽw’肵‚āA - ŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ T_Writable ƒtƒHƒ‹ƒ_ - - - ¨ [T_Writable] ‚Ìà–¾ - - - GetWritable ƒƒ\ƒbƒh - - ‚ðŽg‚¢‚Ü‚·B - ‚Ì‘æ2ˆø”‚Å‚ ‚é AppKey ‚̃Nƒ‰ƒX‚Å‚·B - - Main ŠÖ” - - - - - - - - GetWritable ƒƒ\ƒbƒh - - - Sub main2( Opt, AppKey ) Dim writable : writable = m.GetWritable - If not AppKey.InPath( writable, "..\out" ) Then Error - - Dim w_ : Set w_= AppKey.NewWritable( writable ).Enable() - '// ‘‚«ž‚݉”\‚È”ÍˆÍ - w_ = Empty - End Sub - - Žg—pƒTƒ“ƒvƒ‹F - - - Function ClassA::GetWritable() as array of string - - ‘‚«ž‚Ý‹–‰Â‚̐ݒ肪•K—v‚ȃtƒHƒ‹ƒ_[‚̈ꗗ‚ðŽæ“¾‚µ‚Ü‚·B - GetWritable ƒƒ\ƒbƒh‚́A‚»‚ꂼ‚ê‚̃Nƒ‰ƒX‚Å’è‹`‚µ‚Ä‚­‚¾‚³‚¢B - - InPath - - writable - writable - writable - - NewWritable - - ’è‹`ƒTƒ“ƒvƒ‹F - - - Class ClassA Public Function GetWritable() - GetWritable = Array( "Work" ) - End Function - End Class - - - - - - - - InPath (AppKeyClass) - - - Function AppKeyClass::InPath( Paths as Array of string, EnablePath as string ) as boolean - - ƒTƒ“ƒvƒ‹F - Paths ‚ÉŽw’肵‚½ƒpƒX‚̏W‡‚ªAEnablePath ‚Ì’†‚ÉŠÜ‚Ü‚ê‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Paths - EnablePath - ƒpƒX‚Ì”z—ñ - ‹–‰Â‚µ‚Ä‚¢‚éƒpƒX - •Ô‚è’l - Paths ‚Ì—v‘f‚ª‚·‚ׂċ–‰Â‚µ‚Ä‚¢‚éƒpƒX‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚© - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - (src) - - - ¨ GetWritable ƒƒ\ƒbƒh - - - - - - - - CheckWritable (AppKeyClass) - - (src) - - - - Sub AppKeyClass::CheckWritable( Path as string, Opt as variant ) - - Žw’肵‚½ƒpƒX‚ªA - yˆø”z - Path - Opt - ƒ`ƒFƒbƒN‚·‚éƒpƒX - Empty ‚Ü‚½‚Í c.ForMkDir (*1) - - Enable (Writables) - - ‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - (*1) - - Out of Writable Œx - - Path ‚ªAEnable (Writables) ‚³‚ê‚Ä‚¢‚È‚©‚Á‚½‚çA - ‚ªo‚Ü‚·B - Opt ˆø”‚ɁAg_VBS_Lib.ForMkDir ‚ðŽw’è‚·‚é‚ƁAPath ‚ÉŽw’肵‚½ƒpƒX‚̃tƒHƒ‹ƒ_[‚ðì‚邽‚߂ɁAPath ‚ÌŽqƒtƒHƒ‹ƒ_[iPath ‚æ‚è’·‚¢ƒpƒXj‚¾‚¯‚ªA - Enable (Writables) ‚³‚ê‚Ä‚¢‚½‚Æ‚«‚Å‚àAƒ`ƒFƒbƒN‚Ɉø‚Á‚©‚©‚ç‚È‚­‚È‚è‚Ü‚·B - - - g_AppKey.CheckWritable path, Empty - - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - - ¨ mkdir_for - - - - - - - - Watch (AppKeyClass) - - - Sub AppKeyClass::Watch() - - Writable ‚̏ó‘Ô‚ð echo o—Í‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - g_AppKey.Watch - - g_AppKey ‚́AŒöŠJƒL[‚Æ‚µ‚Ä—pˆÓ‚³‚ê‚Ä‚¢‚éƒOƒ[ƒoƒ‹•Ï”‚Å‚·B - - (src) - - - - - - - - Enable (Writables) - - - Function Writables::Enable() as WritablesStack - - ‘‚«ž‚݉”\‚ȃtƒHƒ‹ƒ_‚ðÝ’肵‚Ü‚·B - yˆø”z - •Ô‚è’l - WritableStack ƒIƒuƒWƒFƒNƒg - Writables ‚́A - ‚©‚çŽæ“¾‚Å‚«‚Ü‚·B - - AppKeyClass::NewWritable - - •Ô‚è’l‚Ì WritableStack ƒIƒuƒWƒFƒNƒg‚ªA‚Ç‚±‚©‚ç‚àŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚çA‘‚«ž‚݉”\‚Å‚Í–³‚­‚È‚è‚Ü‚·B - ‚P‚Â–Ú‚Ì WritableStack ‚ª‘¶Ý‚·‚é‚Æ‚«‚ɁA‚Q‚Â–Ú‚Ì Writable::Enable ‚ð‚·‚é‚ƁAƒlƒXƒg - ‚µ‚āA‚Q‚Â–Ú‚Ì WritableStack ‚Ì‚Ý—LŒø‚É‚È‚è‚Ü‚·B ‚Q‚Â–Ú‚Ì WritableStack ‚ªŽQÆ - ‚³‚ê‚È‚­‚È‚Á‚½‚çA‚P‚Â–Ú‚Ì WritableStack ‚ª—LŒø‚É‚È‚è‚Ü‚·B - - - Set w1 = AppKey.NewWritable( "out1" )Set w2 = AppKey.NewWritable( "out2" ) - - Set w1_ = w1.Enable() - - '// "out1" ‚ª‘‚«ž‚݉”\ - - Set w2_ = w2.Enable() - - '// "out2" ‚ª‘‚«ž‚݉”\ - - w2_ = Empty - - '// "out1" ‚ª‘‚«ž‚݉”\ - - w1_ = Empty - - - (src) - - - ¨ Out of Writable Œx - - ŠÖ˜A - - [ e: Out of Writable Œx ] - - - - Dim w_:Set w_= AppKey.NewWritable( "." ).Enable() - - - - - - - - SetWritableMode - - - Sub SetWritableMode( Mode as integer ) - - ‚ÅŽw’肵‚Ä‚¢‚È‚¢ƒtƒHƒ‹ƒ_‚Ƀ‰ƒCƒg‚µ‚悤‚Æ‚µ‚½‚Æ‚«‚Ì“®‚«‚ðÝ’肵‚Ü‚·B - - - SetWritableMode F_ErrIfWarn - - ƒTƒ“ƒvƒ‹ - F_AskIfWarn - ƒ†[ƒU‚Ƀ‰ƒCƒg‚µ‚Ä‚¢‚¢‚©‚Ç‚¤‚©‚ðŠm”F‚µ‚Ü‚·iƒfƒtƒHƒ‹ƒgj - F_ErrIfWarn - E_OutOfWritable ƒGƒ‰[‚É‚µ‚Ü‚· - F_IgnoreIfWarn - Œx‚𖳎‹‚µ‚Ü‚·iAppKeyClass::SetWritableMode ‚Å‚Ì‚ÝŽw’è‰Â”\j - - (src) - - - - writable_path = env("%ProgramFiles%")+"\SampleApp" Assert InStr( writable_path, "Program Files" ) > 0 - - AppKey.SetWritableMode F_IgnoreIfWarn - Set w_=AppKey.NewWritable( writable_path ).Enable() - SetWritableMode F_AskIfWarn - - - - Sub AppKeyClass::SetWritableMode( Mode as integer ) - - - NewWritable - - - ¨ Out of Writable Œx - - ŠÖ˜A - - [ e: Out of Writable Œx ] - - ƒTƒ“ƒvƒ‹F F_IgnoreIfWarn ‚ɂ́AAppKey ‚ª•K—v - Program Files ‚ɏ‘‚«ž‚Ý‹–‰Â‚·‚é‚Æ‚«‚́AˆÈ‰º‚̎菇‚ªÅ‚àˆÀ‘S‚Å‚·BEƒpƒX‚É Program Files ‚ª“ü‚Á‚Ä‚¢‚邱‚Æ‚ðƒ`ƒFƒbƒN - EF_IgnoreIfWarn ‚ɐݒ肵‚ÄŒx‚ð—}§‚µ‚ď‘‚«ž‚Ý‹–‰Â‚ðÝ’è - EF_AskIfWarn ‚ɐݒè‚ð–ß‚· - - - - - - - g_CurrentWritables.CurrentPathes - - - Dim g_CurrentWritables.CurrentPathes as array of string - - Œ»Ý‘‚«ž‚Ý‚ð‹–‰Â‚µ‚Ä‚¢‚éƒpƒX‚Ì”z—ñB - - ¨ Out of Writable Œx‚̃fƒoƒbƒO - - ŠÖ˜A - - ¨ Code (ArrayClass) - - - - - - - - OpenForRead - - - Function OpenForRead( Path as string ) as TextStream - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚«‚Ü‚·BiƒŠ[ƒh—pƒtƒ@ƒCƒ‹‚©‚ç“ü—Í‚µ‚Ü‚·j - yˆø”z - Path - •Ô‚è’l - ŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX - ƒtƒ@ƒCƒ‹‚̃XƒgƒŠ[ƒ€ - ‚ƈقȂèAƒGƒ‰[‚ª‚ ‚Á‚½‚çA - - FileSystemObject::OpenTextFile - - ƒGƒ‰[ƒƒbƒZ[ƒW‚É Path ‚ª•t‚«‚Ü‚·B - - - Set c = g_VBS_Lib Set args = WScript.Arguments.Unnamed - - If args.Count = 0 Then - path = InputPath( "ƒtƒ@ƒCƒ‹‚̃pƒX >", c.CheckFileExists ) - Else - path = args(0) - End If - - Set file = OpenForRead( path ) - Do Until file.AtEndOfStream - line = file.ReadLine() - '// If InStr( line, "DEBUG" ) > 0 Then echo line - Loop - file = Empty - - - E_FileNotExist ƒGƒ‰[ - - - E_PathNotFound ƒGƒ‰[ - - ‚Ü‚½‚Í - ‚É‚È‚è‚Ü‚·B - - ¨ FileSystemObject::OpenTextFile - - - ¨ ReplaceTextFile - - - ¨ VBScript - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð“Ç‚Þ (Read) - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX - - - ¨ T_File.vbs # [T_OpenFile] - - ŠÖ˜A - ƒeƒXƒg - Šù’è‚Ì•¶ŽšƒR[ƒh‚ðŽw’肵‚Ü‚· - - ¨ new_TextFileCharSetStack - - - ¨ ReadFile - - •¶ŽšƒR[ƒh‚ðŽw’è‚·‚é‚Æ‚«‚́A - - new_TextFileCharSetStack - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ‚½‚¾‚µAShift-JIS, Unicode, UTF-8(BOM‚ ‚è) ‚́AŽg‚í‚È‚­‚Ä‚àŽ©“®“I‚É•¶ŽšƒR[ƒh‚𔻒肵‚āA³‚µ‚­“ǂݍž‚Ý‚Ü‚·B - - - Set cs = new_TextFileCharSetStack( "EUC-JP" ) Set file = OpenForRead( args(0) ) - cs = Empty - Do Until file.AtEndOfStream - line = file.ReadLine() - Loop - - - ¨ StringStream ƒNƒ‰ƒX - - •Ô‚è’l‚ðŽg‚Á‚ČĂяo‚¹‚郁ƒ\ƒbƒh‚́AFileSystemObject::OpenTextFile ‚Æ“¯‚¶‚Å‚·B - ƒTƒ“ƒvƒ‹ - - ¨ TextStream iVBScriptj - - ƒ\[ƒX - - ¨ vbslib.vbs - - OpenForRead - - - - - - - ReadUnicodeFileBOM - ƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚ð”»’è‚·‚邽‚߂ɁAƒtƒ@ƒCƒ‹‚̐擪‚É‚ ‚é BOM ‚ð“Ç‚Ý‚Ü‚·B - yˆø”z - Path - •¶ŽšƒR[ƒh‚ð”»’è‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - - - Function ReadUnicodeFileBOM( Path as string ) as integer - - •Ô‚è’l - BOM ‚Ì•¶ŽšƒR[ƒh - ŠÖ˜A - - ¨ new_TextFileCharSetStack - - ƒTƒ“ƒvƒ‹ - - - Set cs = new_TextFileCharSetStack( ReadUnicodeFileBOM( "File1.txt" ) ) CreateFile "File1.txt", "abc" - cs = Empty - - “¯‚¶•¶ŽšƒR[ƒh‚ðŽg‚Á‚ătƒ@ƒCƒ‹‚ðì¬‚·‚é - File1.txt - ƒeƒXƒg - - ¨ T_File.vbs - - - XMLéŒ¾ (?xml) - - - ¨ •¶ŽšƒGƒ“ƒR[ƒfƒBƒ“ƒO‚ÌŽw’è•û–@ - - - MIME - - ‚â - - new_TextFileCharSetStack - - ‚ðŽg‚Á‚ÄŠJ‚«‚È‚¨‚µ‚Ä‚­‚¾‚³‚¢B - T_ReadUnicodeFileBOM - ƒ\[ƒX - - ¨ vbslib.vbs - - ‚Ì encoding="UTF-8" ‚ª‚ ‚é‚Æ‚« - - HTML - - ‚Ì charset ‚É‚æ‚Á‚āA•¶ŽšƒR[ƒh‚ªŽw’肳‚ê‚éê‡‚́A•¶ŽšƒR[ƒh‚ð’²‚×‚Ä - •Ô‚è’l - ƒtƒ@ƒCƒ‹‚ª–³‚¢‚Æ‚« - Empty - c.UTF_8 - c.Unicode - c.No_BOM - c.UTF_8_No_BOM - æ“ª‚É UTF-8 ‚Ì BOM (EF BB BF) ‚ª‚ ‚é‚Æ‚« - æ“ª‚É UTF-16 ‚Ì BOM (FF FE) ‚ª‚ ‚é‚Æ‚« - æ“ª‚É BOM ‚ª‚È‚­A - æ“ª‚É BOM ‚ª‚È‚­A - - ¨ Read_XML_Encoding - - - ¨ ƒtƒ@ƒCƒ‹“à‚Ì•¶ŽšƒR[ƒh‚ÌŽw’è - - (•¶Žš—ñ) - ‚Ì encoding ‚ª‚ ‚èA"UTF-8" ˆÈŠO‚Ì‚Æ‚« - - XMLéŒ¾ (?xml) - - æ“ª‚É BOM ‚ª‚È‚­A - - XMLéŒ¾ (?xml) - - ‚Ì encoding ‚ª‚È‚¢‚Æ‚« - new_TextFileCharSetStack ‚ª UTF-8 ‚Ì‚Æ‚« - ‚Ì encoding ‚ª‚È‚­A - - XMLéŒ¾ (?xml) - - æ“ª‚É BOM ‚ª‚È‚­A - - - - - - - GetStringFromCharacterCodeSet - vbslib ‚Ì•¶ŽšƒR[ƒh ƒZƒbƒg‚̐”’l‚©‚çA•¶Žš—ñ‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - in_CharacterCodeSetConstant - vbslib ‚Ì•¶ŽšƒR[ƒh ƒZƒbƒg‚̐”’l - - - Function GetStringFromCharacterCodeSet( in_CharacterCodeSetConstant as integer or string ) as string - - •Ô‚è’l - •¶ŽšƒR[ƒh ƒZƒbƒg‚Ì•¶Žš—ñ - ƒTƒ“ƒvƒ‹ - - - Assert GetStringFromCharacterCodeSet( g_VBS_Lib.Shift_JIS ) = "Shift_JIS" - - c.No_BOM - Ú× - c.Shift_JIS - "Shift_JIS" - - vbslib ‚Ì•¶ŽšƒR[ƒh - ƒZƒbƒg‚̐”’l - •¶ŽšƒR[ƒh ƒZƒbƒg‚Ì•¶Žš—ñ - c.EUC_JP - "EUC-JP" - c.Unicode - "Unicode" - Žd—l‚Ì——R - Shift_JIS ‚́A - - HTML - - ‚́AMETA ƒ^ƒO‚Ì charset ‘®«‚ÉŽw’è‚Å‚«‚é’l‚Å‚·B - c.UTF_8 - "UTF-8" - c.UTF_8_No_BOM - "UTF-8-No-BOM" - c.ISO_2022_JP - "ISO-2022-JP" - Empty - "Shift_JIS" - "Shift_JIS" - ƒeƒXƒg - - ¨ T_File.vbs - - T_GetStringFromCharacterCodeSet - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - ReadLineSeparator - ƒtƒ@ƒCƒ‹‚̐擪s‚ð“Ç‚ñ‚ŁA‰üs•¶Žš‚ÌŽí—Þ‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - ‰üs•¶Žš‚ÌŽí—Þ‚ð”»’è‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - - - Function ReadLineSeparator( Path as string ) as integer - - •Ô‚è’l - vbCRLF ‚Ü‚½‚Í vbLF - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - - f.LineSeparator = ReadLineSeparator( "File1.txt" ) - - - (src) - - - ¨ new_TextFileLineSeparatorStack - - ƒeƒXƒg - - ¨ T_File.vbs # [T_ReadLineSeparator] - - ƒtƒ@ƒCƒ‹‚É‚æ‚Á‚ẮA‰üs•¶Žš‚ÌŽí—Þ‚ªƒoƒ‰ƒoƒ‰‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚à‚ ‚è‚Ü‚·B - - - - - - - GetLineCount - - - Set c = g_VBS_Lib - Assert GetLineCount( "a", Empty ) = 1 - Assert GetLineCount( "a" +vbCRLF, Empty ) = 1 - Assert GetLineCount( "a" +vbCRLF+ "b", Empty ) = 2 - Assert GetLineCount( "a" +vbLF+ "b", Empty ) = 2 - Assert GetLineCount( "", Empty ) = 0 - - Assert GetLineCount( "a", c.NoRound ) = 1 - Assert GetLineCount( "a" +vbCRLF, c.NoRound ) = 1.5 - - - - Function GetLineCount( Text as string, RoundWay as integer ) - - •¶Žš—ñ‚̍s”‚ðƒJƒEƒ“ƒg‚µ‚Ü‚·B - yˆø”z - Text - RoundWay - s”‚ðƒJƒEƒ“ƒg‚·‚镶Žš—ñ - ’ʏí EmptyAg_VBS_Lib.NoRound ‚à‰Â”\ - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_GetLineCount - - ¨ T_StrEx.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - •¶Žš—ñ‚̍s” - •Ô‚è’l - RoundWay ˆø” - RoundWay ˆø”‚ɂ́A’ʏí Empty ‚ðŽw’肵‚Ü‚·Bg_VBS_Lib.NoRound ‚ðŽw’è‚·‚é‚ƁAÅIs‚̍s––‚ª‰üs•¶Žš‚È‚ç +0.5 ‚µ‚Ü‚·B - - i‰º‹Lj - - ƒTƒ“ƒvƒ‹ - - - line_num = GetLineCount( Left( string, position ), Empty ) - - position ‚̈ʒu‚̍s”ԍ†‚ðŽæ“¾‚·‚é - - ¨ LineNumFromTextPositionClass - - ŠÖ˜A - s”ԍ†‚ðƒJƒEƒ“ƒg‚µ‚Ü‚· - - - - - - - LineNumFromTextPositionClass - •¶Žš—ñ‚̐擪‚©‚ç‚̈ʒu‚©‚çAs”ԍ†‚ðƒJƒEƒ“ƒg‚µ‚Ü‚·Bˆ—Œø—¦‚ð—Ç‚­‚·‚邽‚߁A‚Q‰ñ–ڈȍ~‚Í‘O‰ñƒJƒEƒ“ƒg‚µ‚½ˆÊ’u‚©‚çƒJƒEƒ“ƒg‚ðÄŠJ‚µ‚Ü‚·B - - - Set counter = new LineNumFromTextPositionClass counter.Text = _ - "a"+ vbCRLF + _ - "b"+ vbCRLF + _ - "cde" - Assert counter.GetNextLineNum( 4 ) = 2 '// "b" - Assert counter.GetNextLineNum( 6 ) = 2 '// vbLF - Assert counter.GetNextLineNum( 7 ) = 3 '// "c" - Assert counter.GetNextLineNum( 10 ) = 3 '// ÅŒã‚ÌŽŸ - - ƒTƒ“ƒvƒ‹ - - Text - - - GetNextLineNum - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒeƒXƒg - ƒ\[ƒX - T_LineNumFromTextPosition - - ¨ T_StrEx.vbs - - - - - - - - Text (LineNumFromTextPositionClass) - - ¨ ReplaceTextAtHere - - ŠÖ˜A - Œ»ÝˆÊ’uˆÈ~‚Ì•¶Žš—ñ‚ð’u‚«Š·‚¦‚é - - - Property LineNumFromTextPositionClass::Text as string '// Get/Let - - s”ԍ†‚𒲂ׂé‘ΏۂƂȂ镶Žš—ñB - Ý’è‚·‚é‚ƁA‘O‰ñ’²‚ׂ½ˆÊ’u‚ƍs”ԍ†‚̏î•ñ‚̓NƒŠƒA‚³‚ê‚Ü‚·B ŽQl - - ¨ GetNextLineNum - - ƒTƒ“ƒvƒ‹ - - ¨ LineNumFromTextPositionClass - - - - - - - - GetNextLineNum (LineNumFromTextPositionClass) - - ¨ GetLineNum - - ŠÖ˜A - ‘O‰ñ’²‚ׂ½ˆÊ’u‚æ‚è‘O‚É‚à‘Ήž‚µ‚½ GetNextLineNum - - - Function LineNumFromTextPositionClass::GetNextLineNum( Position as integer ) as integer - - •¶Žš—ñ‚̐擪‚©‚ç‚̈ʒu‚©‚çAs”ԍ†‚ðƒJƒEƒ“ƒg‚µ‚Ü‚·B - yˆø”z - Position - •¶Žš—ñ‚̐擪‚©‚ç‚̈ʒuA1 ˆÈã - Position ˆø”‚ÉŽw’肵‚½ˆÊ’u‚̍s”ԍ† - •Ô‚è’l - Position ˆø”‚́A1 = æ“ª‚Ì•¶Žš‚Å‚·B‘O‰ñ’²‚ׂ½ˆÊ’u‚ƍs”ԍ†‚ð Me ‚Ì“à•”‚ÉŠi”[‚µ‚Ä‚¨‚èAs”ԍ†‚𐔂¦‚鏈—‚́A‚»‚Ì‘±‚«‚©‚çs‚¤‚±‚ƂŁA - Œø—¦‚æ‚­ˆ—‚µ‚Ü‚·B - ‘O‰ñ GetNextLineNum ŠÖ”‚ÉŽw’肵‚½’l‚Æ“¯‚¶‚©A‚»‚êˆÈã‚Ì’l‚ð Position ˆø”‚ÉŽw’肵‚È‚¯‚ê‚Î - ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - ¨ LineNumFromTextPositionClass - - - - - - - - GetLineNum (LineNumFromTextPositionClass) - - - Function LineNumFromTextPositionClass::GetLineNum( Position as integer ) as integer - - •¶Žš—ñ‚̐擪‚©‚ç‚̈ʒu‚©‚çAs”ԍ†‚ðƒJƒEƒ“ƒg‚µ‚Ü‚·B - yˆø”z - Position - •¶Žš—ñ‚̐擪‚©‚ç‚̈ʒu - Position ˆø”‚ÉŽw’肵‚½ˆÊ’u‚̍s”ԍ† - •Ô‚è’l - ‚Ƃ̈Ⴂ‚́A‘O‰ñ’²‚ׂ½ˆÊ’u‚æ‚è‘O‚̈ʒu‚É‚à‘Ήž‚µ‚Ä‚¢‚邱‚Æ‚Å‚·B - - GetNextLineNum - - ‘O‰ñ’²‚ׂ½ˆÊ’u‚æ‚è‘O‚̈ʒu‚ð Position ˆø”‚ÉŽw’肵‚½‚Æ‚«‚́A•¶Žš—ñ‚̐擪‚©‚琔‚¦’¼‚µ‚Ü‚·B - - - - - - - ReplaceTextAtHere (LineNumFromTextPositionClass) - - - Sub LineNumFromTextPositionClass::ReplaceTextAtHere( SecondHalfText as string ) - - s”ԍ†‚𒲂ׂé‘ΏۂƂȂ镶Žš—ñ‚Ì‚¤‚¿A‘O‰ñ’²‚ׂ½ˆÊ’u‚Æ‚»‚êˆÈ~‚Ì•”•ª•¶Žš—ñ‚ð’u‚«Š·‚¦‚Ü‚·B - - SetText - - ‚Å’u‚«Š·‚¦‚éê‡‚ƈقȂèA‘O‰ñ’²‚ׂ½ˆÊ’u‚ƍs”ԍ†‚̏î•ñ‚̓NƒŠƒA‚³‚ê‚Ü‚¹‚ñB - yˆø”z - SecondHalfText - ‘O‰ñ’²‚ׂ½ˆÊ’u‚Æ‚»‚êˆÈ~‚ɐݒ肷‚és”ԍ†‚𒲂ׂ镶Žš—ñ - - - Set counter = new LineNumFromTextPositionClass counter.SetText _ - "a"+ vbCRLF + _ - "b"+ vbCRLF + _ - "cde" - Assert counter.GetNextLineNum( 4 ) = 2 '// "b" - - counter.ReplaceTextAtHere _ - "XY"+ vbCRLF + _ - "c" - Assert counter.GetNextLineNum( 8 ) = 3 '// "c" - - ƒTƒ“ƒvƒ‹ - ReplaceTextAtHere - - - ab - cde - - - - aXY - c - - s”ԍ†‚𒲂ׂé‘ΏۂƂȂ镶Žš—ñ‚́AŽŸ‚̂悤‚É’u‚«Š·‚í‚è‚Ü‚·B - - - - - - - - - - - - Position (LineNumFromTextPositionClass) - - - Property LineNumFromTextPositionClass::Position as integer '// Get only - - ‘O‰ñ’²‚ׂ½•¶Žš—ñ‚̈ʒuB - - - - - - - LineNum (LineNumFromTextPositionClass) - - - Property LineNumFromTextPositionClass::LineNum as integer '// Get only - - ‘O‰ñ’²‚ׂ½s”ԍ†B - - - - - - - ReadVBS_Comment - ƒeƒXƒg - - - Function ReadVBS_Comment( Path as string, StartTag as string, EndTag as string, Opt as Empty ) - - VBScript ‚̃tƒ@ƒCƒ‹‚Ì’†‚̃Rƒƒ“ƒg‚ðA•¡”s‚Ì•¶Žš—ñ‚Æ‚µ‚ēǂݍž‚Ý‚Ü‚·B - yˆø”z - Path - StartTag - VBScript ƒtƒ@ƒCƒ‹‚̃pƒXA# ‰Â”\AEmpty = - VBScript ƒtƒ@ƒCƒ‹‚Ì’†‚́A“ǂݍž‚Ý‚ðŠJŽn‚·‚é1‚ã‚̍s‚É‚ ‚éƒL[ƒ[ƒh - EndTag - Opt - •Ô‚è’l - “ǂݍž‚ލŌã‚̍s‚Ì1‚‰º‚̍s‚É‚ ‚éƒL[ƒ[ƒh - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - “ǂݍž‚ñ‚¾•¶Žš—ñB æ“ª‚É ' ‚Í•t‚«‚Ü‚¹‚ñ - ƒTƒ“ƒvƒ‹ - - - text = ReadVBS_Comment( Empty, "["+"FileA.txt]", "[/"+"FileA.txt]", Empty ) - '-------------------------------------------------------------------[FileA.txt] - '((( ‚±‚ê‚̓eƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì‘ã‚í‚è‚Å‚· ))) - ' - 'END - '------------------------------------------------------------------[/FileA.txt] - - ƒXƒNƒŠƒvƒg - text ‚É“ü‚Á‚½’l - - - ((( ‚±‚ê‚̓eƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì‘ã‚í‚è‚Å‚· ))) - END - - ÅŒã‚̍s‚Ì––”ö‚ɂ͉üs‚ª‚ ‚è‚Ü‚· - - ¨ T_FileInScript.vbs - - T_ReadVBS_Comment - StartTag ‚Æ EndTag ‚ÉŽw’肵‚½ƒL[ƒ[ƒh‚ªƒqƒbƒg‚µ‚È‚¢‚悤A‰º‹L‚̃Tƒ“ƒvƒ‹‚É‚ ‚é‚悤‚É + ‚ł‚Ȃ®‚Ȃǂ̑΍ô‚ð‚µ‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ vbslib.vbs - - - WScript.ScriptFullName - - - ¨ new_FilePathForFileInScript - - ŠÖ˜A - Path ‚ɁAURL ‚̂悤‚É # ‚ð•t‚¯‚é‚ƁAStartTag ‚Æ EndTag ‚̈ꕔ‚É‚È‚è‚Ü‚·B‰º‹L‚Ì‚Q‚‚͓¯‚¶“®‚«‚ð‚µ‚Ü‚·B StartTag ‚Æ EndTag ‚ÉŽw’肵‚½ˆø”‚Í–³Ž‹‚³‚ê‚Ü‚·B - - - text = ReadVBS_Comment( "#FileA.txt", Empty, Empty, Empty ) - - - - text = ReadVBS_Comment( Empty, "["+"FileA.txt]", "[/"+"FileA.txt]", Empty ) - - - ¨ WriteVBS_Comment - - XML ‚ðƒŠ[ƒh‚·‚é‚ɂ́AŽŸ‚̂悤‚É‚µ‚Ü‚·B - - - text = ReadVBS_Comment( Empty, "["+"A.xml]", "[/"+"A.xml]", Empty )Set root = LoadXML( text, g_VBS_Lib.StringData ) - echo root.tagName - - '-------------------------------------------------------------------[A.xml] - '<Root> - ' - '</Root> - '------------------------------------------------------------------[/A.xml] - - - - - - - - OpenForWrite - - - Function OpenForWrite( Path as string, Flags as integer ) as TextStream - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚«‚Ü‚·Biƒ‰ƒCƒg—pƒtƒ@ƒCƒ‹‚֏o—Í‚µ‚Ü‚·j - yˆø”z - Path - •Ô‚è’l - ŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX - ƒtƒ@ƒCƒ‹‚̃XƒgƒŠ[ƒ€ - ‚ƈقȂèAƒGƒ‰[‚ª‚ ‚Á‚½‚çAƒGƒ‰[ƒƒbƒZ[ƒW‚É Path ‚ª•t‚«‚Ü‚·B - - FileSystemObject::OpenTextFile - - - - Set w_= AppKey.NewWritable( "." ).Enable() Set file = OpenForWrite( "a.txt", Empty ) - file.WriteLine "abc" - file = Empty - - ƒTƒ“ƒvƒ‹ - - ¨ FileSystemObject::CreateTextFile - - c.Unicode - Flags ˆø” - Empty ‚Ü‚½‚Í ŽŸ‚Ì’l - Unicode Œ`Ž®ƒtƒ@ƒCƒ‹‚É‚µ‚Ü‚·B Žw’肵‚È‚¢‚Æ‚«‚́Anew_TextFileCharSetStack ‚ÅŽw’肵‚½Šù’è‚Ì•¶ŽšƒR[ƒh‚É‚È‚è‚Ü‚·B - - (src) - - Flags - EmptyA‚Ü‚½‚̓IƒvƒVƒ‡ƒ“i‰º‹Lj - c.Append - ’Ç‹L‚µ‚Ü‚·BShift-JIS, Unicode, UTF-8(BOM‚ ‚è) ‚Ì‚Æ‚«‚́A•¶ŽšƒR[ƒh‚ðŽw’肵‚È‚­‚Ä‚àA - Œ³‚̃tƒ@ƒCƒ‹‚Æ“¯‚¶•¶ŽšƒR[ƒh‚É‚È‚è‚Ü‚·B - - ¨ ReplaceTextFile - - ŠÖ˜A - - ¨ StringStream ƒNƒ‰ƒX - - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX - - - ¨ ƒoƒCƒiƒŠ¬ÝƒeƒLƒXƒg¶¬ (txt2bintxt.exe) - - - ¨ T_File.vbs [T_OpenForWrite] - - ƒeƒXƒg - a.txt - - new_TextFileCharSetStack - - ‚ðŽg‚¤‚ƁA‚»‚Ì‘¼‚̃tƒH[ƒ}ƒbƒg‚àŽw’è‚Å‚«‚Ü‚·B - - NewWritable - - ŽŸ‚Ì’l‚Ƙ_—˜a‚ð‚Ƃ邱‚Æ‚à‚Å‚«‚Ü‚·B - •¶ŽšƒR[ƒh‚ÌŽw’è‚́AŽŸ‚Ì‚Ç‚ê‚©‚ªŽw’è‚Å‚«‚Ü‚·B - c.Shift_JIS - c.UTF_8 - c.EUC_JP - BOM •t‚« UTF-8 - Shift-JIS - EUC(JP) - BOM ‚È‚µ UTF-8 - c.UTF_8_No_BOM - - ¨ CreateFile - - ‰º‹L‚Ì c ‚Í g_VBS_Lib ‚Å‚·B - - ¨ g_VBS_Lib - - - NewWritable - - ƒƒ\ƒbƒh‚ðŽg‚Á‚āAOut of Writable Œx‚ªo‚È‚¢‚悤‚É‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B - ‰üsƒR[ƒh‚ÌŽw’è‚́A - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - new_TextFileLineSeparatorStack - - •Ô‚è’l‚ðŽg‚Á‚ČĂяo‚¹‚郁ƒ\ƒbƒh‚́AFileSystemObject::OpenTextFile ‚Æ“¯‚¶‚Å‚·B - - ¨ T_File.vbs [T_OpenForWrite_Overwrite] - - - StartReplace - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð‘‚«Š·‚¦‚é‚Æ‚«‚́A•¶ŽšƒR[ƒhiUnicode ƒtƒ@ƒCƒ‹‚ÌBOMj‚â‰üs•¶Žš‚ð - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - Œp³‚·‚é - - ¨ TextStream iVBScriptj - - - ¨ LockByFileMutex - - - - - - - - new_TextFileCharSetStack - - - Set cs = new_TextFileCharSetStack( "UTF-8" ) CreateFile "File1.txt", "abc" - - ƒTƒ“ƒvƒ‹ - "UTF-8" - ƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚ðŽw’肵‚Ü‚·B - yˆø”z - CharSet - ƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh, Empty=ƒfƒtƒHƒ‹ƒg - ƒfƒtƒHƒ‹ƒgi–{ŠÖ”‚ðˆê“x‚àŒÄ‚΂Ȃ©‚Á‚½‚Æ‚«j‚́A"Shift_JIS" ‚Å‚·BCharSet ˆø”‚ÉŽw’è‚·‚镶Žš—ñ‚̑啶Žš¬•¶Žš‚Í‹æ•Ê‚µ‚Ü‚¹‚ñB - c.Unicode ‚Ȃǂ̐”’l’萔‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - Function new_TextFileCharSetStack( CharSet as string ) as TextFileCharSetStack - - - ¨ OpenForWrite - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_File.vbs [T_OpenForWrite] - - - (src) - - V‹Kì¬‚·‚é‚Æ‚«‚̏o—̓tƒ@ƒCƒ‹‚âAƒtƒ@ƒCƒ‹‚©‚ç“ǂݍž‚Þ‚Æ‚«‚Ì•¶ŽšƒR[ƒh‚ðŽw’肵‚Ü‚·B •Ô‚è’l‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽ‚çAŽw’è‚Í–³Œø‚É‚È‚è‚Ü‚·B - "UTF-8" ‚́Aƒtƒ@ƒCƒ‹‚̐擪‚É - - BOM - - ‚ª•t‚«‚Ü‚·B "UTF-8-No-BOM" ‚Í•t‚«‚Ü‚¹‚ñB - - ¨ Charset (ADODB.Stream) - - Žw’è‚Å‚«‚é’l‚́AƒŒƒWƒXƒgƒŠ‚Ì HKEY_CLASSES_ROOT\MIME\Database\Charset ‚̃TƒuƒL[‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B ‚½‚¾‚µA"UTF-8-No-BOM" ‚̓TƒuƒL[‚É‚ ‚è‚Ü‚¹‚ñB - CharSet‚Ì—áF - "Shift_JIS", "EUC-JP", "Unicode", "UTF-8", "UTF-8-No-BOM","ISO-8859-1", "ISO-2022-JP" - c.Shift_JIS, c.EUC_JP, c.Unicode, c.UTF_8, c.UTF_8_No_BOM, - c.ISO_2022_JP, c.No_BOM(=c.Shift_JIS), Empty(=c.Shift_JIS) - - ¨ CreateFile - - BOM ‚ð•t‚¯‚È‚¢‚Æ‚«‚Í XML ‚Ì encoding ‚â HTML ‚Ì charset ‚È‚Ç‚ð—p‚¢‚Ä•¶ŽšƒR[ƒh‚ð‹Lq‚µ‚È‚¯‚ê‚΁A‘½‚­‚̃vƒƒOƒ‰ƒ€‚Í•¶Žš‰»‚¯‚ð‹N‚±‚µ‚Ü‚·B ˆê•û‚ŁA - BOM ‚ª‚ ‚é‚ƃGƒ‰[‚ð‹N‚±‚·ƒvƒƒOƒ‰ƒ€‚à‘½‚­‚ ‚è‚Ü‚·B - - ¨ XmlWriteEncoding - - - ¨ ReadUnicodeFileBOM - - ƒtƒ@ƒCƒ‹“à‚Ì•¶ŽšƒR[ƒh‚ÌŽw’è - - - <?xml version="1.0" encoding="UTF-8"?> - - XML ‚̏ꍇ - - - <META http-equiv="content-type" content="text/html; charset=UTF-8"/> - - HTML ‚̏ꍇ - UTF-8 - UTF-8 - ƒtƒ@ƒCƒ‹‚̐擪‚É‚ ‚é BOM ‚ð“Ç‚Ý‚Ü‚·B - XML ƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚ðŽw’肵‚Ü‚·B - - ¨ ConvertCharCodeInHref - - - ¨ Text (BinaryArray) - - •¶ŽšƒR[ƒhƒZƒbƒg‚ð•ÏŠ·‚µ‚Ü‚·B - - ¨ Charset (ADODB.Stream) - - vbslib ‚ł́A‰ðÍ‚ðs‚¢‚Ü‚¹‚ñB - - ¨ Read_XML_Encoding - - - - - - - - Decode_MIME_HeaderLine - - - Function Decode_MIME_HeaderLine( Line as string ) as string - - - - str = Decode_MIME_HeaderLine( "Subject: =?ISO-2022-JP?B?YWJjGyRCJUYlOSVIGyhCZGVm?=" )Assert str = "Subject: abcƒeƒXƒgdef" - - MIME ƒwƒbƒ_[‚Ì‚Ps‚ð "=? c ?=" Œ`Ž®‚©‚çA’ʏí‚Ì•¶Žš—ñ‚É–ß‚µ‚Ü‚·B - yˆø”z - Line - MIME ƒwƒbƒ_[‚Ì‚Ps - Line ‚©‚ç‚ŃR[ƒh‚µ‚½’ʏí‚Ì•¶Žš—ñ - •Ô‚è’l - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_MIME - ŽQl - - ¨ MIME - - - ¨ ISO-2022-JP - - - ¨ Base64 - - ŠÖ˜A - - ¨ Base64 (BinaryArray) - - - ¨ T_Binary.vbs - - - ¨ Text (BinaryArray) - - - ¨ System.vbs - - •¶ŽšƒR[ƒh‚Ì•ÏŠ· - - - - - - - new_TextFileLineSeparatorStack - - (src) - - ƒtƒ@ƒCƒ‹‚̉üs•¶ŽšƒR[ƒh‚ðŽw’肵‚Ü‚·B - yˆø”z - LS - ƒtƒ@ƒCƒ‹‚̉üs•¶ŽšƒR[ƒhA‚Ü‚½‚Í Empty - - - Function new_TextFileLineSeparatorStack( LS as string ) as TextFileLineSeparatorStack - - •Ô‚è’l‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽ‚çAŽw’è‚Í–³Œø‚É‚È‚è‚Ü‚·B - LS ˆø” - vbCRLF, g_VBS_Lib.CRLF - vbLF, g_VBS_Lib.LF - g_VBS_Lib.KeepLineSeparators - Empty - ƒŠ[ƒh‚·‚é‚Æ‚«‚͉üs•¶Žš‚ðŽ©“®”»’èAƒ‰ƒCƒg‚·‚é‚Æ‚«‚Í CR+LFAC³‚·‚é‚Æ‚«i*‰º‹Lj‚͉üs•¶Žš‚ÌŽí—Þ‚ðŒp³‚µ‚Ü‚·B - CR+LF - LF - ‰üs•¶Žš‚ÌŽí—Þ‚ðŒp³‚·‚éi‰º‹Lj - - - Dim ls : Set ls = new_TextFileLineSeparatorStack( g_VBS_Lib.KeepLineSeparators )Set f = OpenForRead( Path ) - ls = Empty - text = f.ReadLine() - - ƒTƒ“ƒvƒ‹ - ŽQl - - ¨ LineSeparator (ADODB.Stream) - - - OpenForReplace - - ‚ȂǁAC³‘O‚̃eƒLƒXƒg‚ƏC³Œã‚̃eƒLƒXƒg‚Ì—¼•û‚ðŽw’è‚·‚é vbslib - u‰üs•¶Žš‚ÌŽí—Þ‚ðŒp³‚·‚év ‚Ƃ́A“ü—̓tƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽ‰üs•¶Žš‚ÌŽí—Þ‚ªA‚Ps’PˆÊ‚ŁA‚»‚̂܂܏o—̓tƒ@ƒCƒ‹‚ɏ‘‚©‚ê‚邱‚Æ‚Å‚·B ‚P‚‚̃tƒ@ƒCƒ‹‚É•¡”‚̉üs•¶Žš‚Ì - Ží—Þ‚ª¬‚´‚Á‚Ä‚¢‚Ä‚àA‚»‚Ì‚Ü‚ÜŒp³‚³‚ê‚邱‚Æ‚Å‚·B - ‰üs•¶Žš‚ÌŽí—Þ‚ðŒp³‚·‚é‚Æ‚«‚Ì“®‚« (KeepLineSeparators) - TextStream::WriteLine ‚É“n‚·ƒeƒLƒXƒg‚Ì––”ö‚É vbCRLF ‚Ü‚½‚Í vbLF ‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B •t‚¯‚½‚Æ‚«‚́A‚»‚ÌŽí—ނ̉üs•¶Žš‚ªo—Í‚³‚êATextStream::WriteLine ‚É - ‚æ‚Á‚ÄŽ©“®“I‚ɉüs•¶Žš‚ð•t‚¯‚邱‚Æ‚Í‚È‚­‚È‚è‚Ü‚·B ‚Ü‚½AƒfƒtƒHƒ‹ƒg‚̉üs•¶Žš‚à - Žw’肵‚½Ží—ނɕύX‚³‚ê‚Ü‚·B ‰üs•¶Žš‚ð•t‚¯‚È‚©‚Á‚½‚Æ‚«‚́AƒfƒtƒHƒ‹ƒg‚̉üs - •¶Žš‚ªŽ©“®“I‚É•t‚«‚Ü‚·B ‚‚܂èATextStream::ReadLine ‚Å“ü—Í‚µ‚½‚Ps‚ð‚»‚Ì‚Ü‚Ü - TextStream::WriteLine ‚ɏo—Í‚·‚é‚ƁA‰üs•¶Žš‚ÌŽí—Þ‚ÍŒp³‚³‚êA––”ö‚ɉüs•¶Žš - ‚ð•t‚¯‚È‚¢V‚½‚È‚Ps‚ð TextStream::WriteLine ‚ɏo—Í‚·‚é‚ƁA‘O‚̍s‚̉üs•¶Žš‚Ì - Ží—Þ‚ðŒp³‚µ‚Ü‚·B - Ž©“®”»’è i‰º‹Lj - LS ˆø” = Empty ‚Ì‚Æ‚«‚Ì“®‚« - ‚̊֐”‚ðŽg‚Á‚½‚Æ‚«‚́A‚»‚̊֐”‚Ì’†‚ʼnüs•¶Žš‚ÌŽí—Þ‚ÌŒp³ˆ—‚ªs‚í‚ê‚Ü‚·B - - ReadLineSeparator - - ‚ðŽg‚Á‚āA“ü—̓tƒ@ƒCƒ‹‚̐擪s‚̉üs•¶Žš‚ÌŽí—Þ‚ð - ”»’肵‚āAo—̓tƒ@ƒCƒ‹‚̃fƒtƒHƒ‹ƒg‰üs•¶Žš‚ÌŽí—Þ‚ðÝ’肵‚Ü‚·B - “ü—̓tƒ@ƒCƒ‹Ao—̓tƒ@ƒCƒ‹A‚Æ‚à‚ɁAg_VBS_Lib.KeepLineSeparators iã‹Lj ‚̃‚[ƒh‚ðŽg‚¤‚悤‚ɁAnew_TextFileLineSeparatorStack ‚ðŒÄ‚яo‚µ‚Ü‚·B - TextStream::ReadLine ‚Ì•Ô‚è’l‚Å‚ ‚é‚Ps‚̃eƒLƒXƒg‚Ì––”ö‚ɉüs•¶Žš‚ª‰Á‚í‚è‚Ü‚·B‰üs•¶Žš‚́Aƒtƒ@ƒCƒ‹‚Ì“à—e‚É‚æ‚Á‚āALF ‚Ü‚½‚Í CR+LF ‚Ì‚Ç‚¿‚ç‚©‚É‚È‚è‚Ü‚·B - ‚½‚¾‚µAÅIs‚Ì––”ö‚ɉüs•¶Žš‚ª–³‚¢‚Æ‚«‚¾‚¯A‰üs•¶Žš‚͉Á‚í‚è‚Ü‚¹‚ñB - ‚Í‚¶‚߂ɁA - - ¨ CutCRLF - - ŠÖ˜A - ‚»‚¤‚Å‚Í‚È‚­AOpenForRead ‚È‚Ç‚ðŽg‚Á‚ăeƒLƒXƒg‚ðƒŠ[ƒh‚µ‚āAOpenForWrite ‚È‚Ç‚ðŽg‚Á‚ăeƒLƒXƒg‚ðƒ‰ƒCƒg‚·‚鏈—‚ðƒvƒƒOƒ‰ƒ~ƒ“ƒO‚·‚é‚Æ‚«‚́AˆÈ‰º‚Åà–¾‚·‚éÚ×‚È - Žè‡‚ðŽQl‚ɁA‰üs•¶Žš‚ÌŒp³‚ðs‚Á‚Ä‚­‚¾‚³‚¢B - KeepLineSeparators ƒ‚[ƒh‚ł́ATextStream::ReadLine ‚â TextStream::WriteLine ‚É‚æ‚Á‚ăAƒNƒZƒX‚·‚é‚Ps‚̃eƒLƒXƒg‚Ì“à—e‚ªAŽŸ‚̂悤‚É•Ï‚í‚è‚Ü‚·B - ƒeƒXƒg - - ¨ T_Replace.vbs # T_StartReplace_KeepRet_1 - - - ¨ T_File.vbs # T_OpenFile_LineSepFromFS - - TextStream::WriteLineDefault ‚ðŽg‚¤‚ƁA“n‚µ‚½ƒeƒLƒXƒg‚̉üs•¶Žš‚ðAƒfƒtƒHƒ‹ƒg‚̉üs•¶Žš‚É’u‚«Š·‚¦A“n‚µ‚½ƒeƒLƒXƒg‚̍Ōã‚ɉüs•¶Žš‚ð’ljÁ‚µ‚āAo—Í‚µ‚Ü‚·B - - - - - - - new_IsSafeFileUpdateStack - ƒtƒ@ƒCƒ‹‚ðì¬‚·‚é‚Æ‚«‚É - yˆø”z - IsEnabled - SafeFileUpdate ‚ðŽÀs‚·‚é‚©‚Ç‚¤‚© - - - Function new_IsSafeFileUpdateStack( IsEnabled as boolean ) as IsSafeFileUpdateStack - - ‚ðŽÀs‚µ‚Ü‚·B - - SafeFileUpdate - - •Ô‚è’l‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽ‚çAŽw’è‚Í–³Œø‚É‚È‚è‚Ü‚·B - - (src) - - - - Dim sf : Set sf = new_IsSafeFileUpdateStack( True ) CreateFile "File1.txt", "abc" - - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_File.vbs [T_CreateFile] - - - - - - - - g_FileOptions - - - g_FileOptions = new FileOptionsClass - Class FileOptionsClass - Public Property Get CharSet '// as lower case string. ADODB.Stream.Charset - Public Property Get CharSetEx '// as Empty, c.UTF_8_No_BOM - Public Property Get LineSeparator '// as ADODBConsts.Keep - Public Property Get IsSafeFileUpdate '// as boolean - End Class - - - ¨ new_TextFileCharSetStack - - - ¨ new_IsSafeFileUpdateStack - - - (src) - - - - - - - - WriteVBS_Comment - - - Sub WriteVBS_Comment( Path as string, StartTag as string, EndTag as string, Text as string, Opt as Empty ) - - VBScript ‚̃tƒ@ƒCƒ‹‚Ì’†‚̃Rƒƒ“ƒg‚ɁA•¡”s‚Ì•¶Žš—ñ‚ð‘‚«ž‚Ý‚Ü‚·B - yˆø”z - Path - StartTag - VBScript ƒtƒ@ƒCƒ‹‚̃pƒXAEmpty = - VBScript ƒtƒ@ƒCƒ‹‚Ì’†‚́A‘‚«ž‚Ý‚ðŠJŽn‚·‚é1‚ã‚̍s‚É‚ ‚éƒL[ƒ[ƒh - EndTag - Opt - ‘‚«ž‚ލŌã‚̍s‚Ì1‚‰º‚̍s‚É‚ ‚éƒL[ƒ[ƒh - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - StartTag ‚Æ EndTag ‚ÉŽw’肵‚½ƒL[ƒ[ƒh‚ªƒqƒbƒg‚µ‚È‚¢‚悤A‰º‹L‚̃Tƒ“ƒvƒ‹‚É‚ ‚é‚悤‚É + ‚ł‚Ȃ®‚Ȃǂ̑΍ô‚ð‚µ‚Ä‚­‚¾‚³‚¢B - ƒeƒXƒg - - ¨ T_FileInScript.vbs - - T_WriteVBS_Comment - ƒ\[ƒX - - ¨ vbslib.vbs - - - WScript.ScriptFullName - - Text - ‘‚«ž‚Þ•¶Žš—ñB æ“ª‚É ' ‚Í•s—v‚Å‚· - ƒTƒ“ƒvƒ‹ - - - WriteVBS_Comment Empty, "["+"FileA.txt]", "[/"+"FileA.txt]", _ "abc" +vbCRLF+_ - "DEF" +vbCRLF, Empty - - '-------------------------------------------------------------------[FileA.txt] - '((( ‚±‚ê‚̓eƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì‘ã‚í‚è‚Å‚· ))) - ' - 'END - '------------------------------------------------------------------[/FileA.txt] - - ƒXƒNƒŠƒvƒgiŽÀs‘Oj - ƒXƒNƒŠƒvƒgiŽÀsŒãj - - - WriteVBS_Comment Empty, "["+"FileA.txt]", "[/"+"FileA.txt]", _ "abc" +vbCRLF+_ - "DEF" +vbCRLF, Empty - - '-------------------------------------------------------------------[FileA.txt] - 'abc - 'DEF - '------------------------------------------------------------------[/FileA.txt] - - abcDEF - ŠÖ˜A - - ¨ ReadVBS_Comment - - - - - - - - WriteVBSLibFooter - - - Sub WriteVBSLibFooter( OutFileStream as TextStream, Opt as WriteVBSLibFooter_Option ) - - yˆø”z - OutFileStream - ŠJ‚¢‚Ä‚¢‚鏑‚«ž‚Þƒtƒ@ƒCƒ‹ - WriteVBSLibFooter_Option - - - Class WriteVBSLibFooter_Option Public CommandPromptMode '// as integer - End Class - - Opt - ƒIƒvƒVƒ‡ƒ“ or Empty - c Empty ‚Å‚È‚¢‚È‚ç g_CommandPrompt ‚Ì’l‚ð•ÏX‚µ‚Ü‚· - - (src) - - Œ»ÝŽÀs‚µ‚Ä‚¢‚éAƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚é --- start of vbslib include --- ˆÈ~‚ðOutFileStream ‚ɏo—Í‚µ‚Ü‚·B - --- start of vbslib include --- ‚ª Main ŠÖ”‚æ‚è‘O‚É‚ ‚é‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñB - - vbslib include - - ‚ðo—Í‚µ‚Ü‚·B iƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚̍Ōã‚É‚·‚é‚Æ‚«j - ŠÖ˜A - - ¨ WriteVBSLibHeader - - CommandPromptMode - - - WriteVBSLibFooter file, Empty - - ƒTƒ“ƒvƒ‹ - - - - - - - WriteVBSLibHeader - - - Sub WriteVBSLibHeader( OutFileStream as TextStream, Opt as WriteVBSLibHeader_Option ) - - yˆø”z - OutFileStream - ŠJ‚¢‚Ä‚¢‚鏑‚«ž‚Þƒtƒ@ƒCƒ‹ - WriteVBSLibHeader_Option - - - Class WriteVBSLibHeader_Option Public m_OverCommandPrompt - End Class - - Opt - ƒIƒvƒVƒ‡ƒ“ or Empty - c Empty ‚Å‚È‚¢‚È‚ç g_CommandPrompt ‚Ì’l‚ð•ÏX‚µ‚Ü‚· - - (src) - - Œ»ÝŽÀs‚µ‚Ä‚¢‚éAƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚é --- end of vbslib include --- ‚܂Łiæ“ª‚©‚çj‚ðOutFileStream ‚ɏo—Í‚µ‚Ü‚·B - --- start of vbslib include --- ‚ª Main ŠÖ”‚æ‚èŒã‚É‚ ‚é‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñB - - vbslib include - - ‚ðo—Í‚µ‚Ü‚·B iƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚̍ŏ‰‚É‚·‚é‚Æ‚«j - - - - - - - - - Set file = OpenForReplace( "file1.html", Empty ) file.Replace "<TopOfContexts/>", "<TopOfContexts/>"+vbCRLF+ "new Topic" - file = Empty - - OpenForReplace - - - Function OpenForReplace( SrcPath as string, DstPath as string ) as ReplaceTextFile1 - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - SrcPath - DstPath - •ÏX‘O‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - •ÏXŒã‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒXB SrcPath ‚Æ“¯‚¶A‚Ü‚½‚Í Empty ‰ÂB - •Ô‚è’l - - ¨ ReplaceTextFile1 ƒNƒ‰ƒX - - ƒ‰ƒ“ƒ_ƒ€ƒAƒNƒZƒX‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B OpenForRead ‚â OpenForWrite ‚̂悤‚ɃV[ƒPƒ“ƒVƒƒƒ‹iƒtƒ@ƒCƒ‹‚̐擪‚©‚珇”ԁj‚ɃAƒNƒZƒX‚·‚é•K—v‚Í‚È‚­AReplaceTextFile1::Replace ‚È‚Ç‚ð - ”CˆÓ‚̏‡”ԂŌĂяo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - Set file = OpenForReplace( "file1.txt", Empty ) file.Replace "Value = 0", "Value = 1" - file = Empty - - DstPath ‚ð Empty ‚É‚·‚é‚ƁADstPath = SrcPath ‚É‚µ‚½Žž‚Æ“¯‚¶“®‚«‚ð‚µ‚Ü‚·B - file1.txt - Value = 0 - Value = 1 - - ¨ T_Replace.vbs - - ƒeƒXƒg - ŠÖ˜A - - ¨ OpenForReplaceXML - - TopOfContexts ƒ^ƒO‚ÌŒã‚ë‚É new Topic ‚ð’ljÁ‚·‚é - Value ‚̐ݒè’l‚ð 0 ‚©‚ç 1 ‚É•Ï‚¦‚é - •ÏX‚·‚é“à—e‚́A•Ô‚è’l‚̃ƒ\ƒbƒh‚ÉŽw’肵‚Ü‚·B - - ¨ ReplaceTextFile1 ƒNƒ‰ƒX - - ƒ^ƒO‚Ɉ͂܂ꂽ•¡”s‚ð•ÏX‚·‚é - - ¨ ReplaceRange (ReplaceTextFile1) - - - ¨ ReadFile - - - ¨ Replace - - - ¨ CreateFile - - ã‚Æ“¯‚¶“à—e‚Ì’ZkŒ` - - - OpenForReplace( "file1.txt", Empty ).Replace "Value = 0", "Value = 1" - - file1.txt - Value = 0 - Value = 1 - - ¨ ReplaceSymbols ƒRƒ}ƒ“ƒh - - - ¨ StringReplaceSetClass - - ƒ\[ƒX - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - •â‘« - - ¨ StartReplace - - - ¨ vbslib.vbs - - ƒTƒ“ƒvƒ‹ - •¶Žš—ñ‚ð•ÒW‚·‚邱‚ƂŃeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚·‚é - - - Set file = OpenForReplace( "file1.txt", Empty ) file.Text = Replace( file.Text, "Value = 0", "Value = 1" ) - file = Empty - - Value = 0 - Value = 1 - file1.txt - - Text - - •ÏX‘O‚ª Unicode Œ`Ž®ƒtƒ@ƒCƒ‹‚Ì‚Æ‚«‚́A•ÏXŒã‚à Unicode Œ`Ž®ƒtƒ@ƒCƒ‹‚É‚È‚è‚Ü‚·B - - ¨ Switches ƒRƒ}ƒ“ƒh - - - ¨ Translate ƒRƒ}ƒ“ƒh - - T_OpenForReplace - •Ô‚è’l‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŃGƒ‰[‚ª”­¶’†iErr.Number <> 0 org_Err2.Number <> 0j ‚Ì‚Æ‚«‚́Aƒtƒ@ƒCƒ‹‚ðì¬‚Ü‚½‚͍XV‚µ‚Ü‚¹‚ñB - - - - - - - ReplaceTextFile1 ƒNƒ‰ƒX - - .Replace - - - (src) - - ƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚·B - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚̕ύX‚ðŠ®—¹‚µ‚Ü‚·B - - .Close - - - ¨ OpenForReplace - - ƒTƒ“ƒvƒ‹ - - .ReplaceRange - - Žw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚·B - Žæ“¾ - - ¨ OpenForReplace - - ƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚·BŽw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚·B - - .Text - - •ÒW’†‚̃tƒ@ƒCƒ‹‚Ì“à—eB - - - - - - - Text (ReplaceTextFile1) (OpenForReplace) - - - Dim ReplaceTextFile1::Text as string - - •ÒW’†‚̃tƒ@ƒCƒ‹‚Ì“à—eB - ‚±‚Ì“à—e‚𒼐ڕύX‚·‚邱‚ƂŁAƒtƒ@ƒCƒ‹‚Ì“à—e‚ð•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒeƒXƒg - - ¨ T_Replace.vbs - - T_OpenForReplaceText - - - Set rep = OpenForReplace( "file1.txt", Empty ) rep.Text = Replace( rep.Text, "from", "to" ) - rep = Empty - - ƒTƒ“ƒvƒ‹ - - ¨ FindStringLines - - ŠÖ˜A - - ¨ Replace (RegExp) - - - - - - - - Replace (ReplaceTextFile1) - - - Sub ReplaceTextFile1::Replace( FromText as string, ToText as string ) - - ƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - FromText - ToText - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒgA‚Ü‚½‚Í VBScript.RegExp - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒg - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒg‚ª‘¶Ý‚·‚é‚Æ‚«‚́A’u‚«Š·‚¦‚ðs‚¢‚Ü‚¹‚ñB‚±‚ê‚́AVBS ‚Ì Replace ŠÖ”‚ÆŒ‹‰Ê‚ªˆÙ‚È‚è‚Ü‚·‚ªA’ljÁ“I‚È’u‚«Š·‚¦‚ð‚µ‚½‚Æ‚«‚ɁA‘½d“I‚É - ’ljÁ‚³‚ê‚邱‚Æ‚ª‚È‚­‚È‚è‚Ü‚·B - —áF - - - f.Replace "a = 0", "a = 0 : b = 0" - - ’u‚«Š·‚¦‚é‘O - ’u‚«Š·‚¦‚½Œã - a = 0 - a = 0 : b = 0 - a = 0 : b = 0 - a = 0 : b = 0 - - c [a = 0 : b = 0 : b = 0] ‚É‚Í‚È‚è‚Ü‚¹‚ñ - a = 0 ‚ÌŒã‚É b = 0 ‚ð’ljÁ‚·‚é - - [ e: ReplaceTextFile1 ƒNƒ‰ƒX ] - - ƒeƒXƒg - - ¨ T_Replace.vbs - - T_OpenForReplaceCharSet - T_OpenForReplace - - ¨ vbslib.vbs - - ƒ\[ƒX - - VBScript.RegExp - - ‚ð FromText ˆø”‚ÉŽw’è‚·‚é‚ƁAƒpƒ^[ƒ“ƒ}ƒbƒ`ƒ“ƒO‚É‚æ‚è’u‚«Š·‚¦‘Ώۂð - ŒŸõ‚µ‚Ü‚·B ToText ‚́A - - RegExp::Replace - - ‚Æ“¯—l‚ɁA$1 ‚È‚Ç‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - T_OpenForReplaceRegExp - —áF - - - OpenForReplace( "file1.txt", Empty ).Replace new_RegExp( "from.*", False ), "to" - - - new_RegExp - - - OpenForReplace - - - - - - - - ReplaceRange (ReplaceTextFile1) - - - Sub ReplaceTextFile1::ReplaceRange( StartOfFromText as string, EndOfFromText as string, ToText as string ) - - Žw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - StartOfFromText - EndOfFromText - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg‚ªŽn‚Ü‚éêŠ‚É‚ ‚éƒ^ƒOiƒeƒLƒXƒgj - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg‚ªI‚í‚éêŠ‚É‚ ‚éƒ^ƒOiƒeƒLƒXƒgj - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒgB ’ʏíAƒ^ƒO‚àŠÜ‚ށB - ToText - ’u‚«Š·‚¦ƒTƒ“ƒvƒ‹ - StartOfFromText = "<Tag>", EndOfFromText = "</Tag>" ‚Æ‚µ‚Ü‚·B - ToText - ’u‚«Š·‚¦‚é‘O - ’u‚«Š·‚¦‚½Œã - - - abc<Tag>123</Tag>def - - - - <Tag>456</Tag> - - - - abc<Tag>456</Tag>def - - - - - abc<Tag>123</Tag>def - - - - 456 - - - - abc456def - - - - <Tag>123 - 456 - </Tag> - - - - <Tag>789 - </Tag> - - - - <Tag>789 - </Tag> - - - ƒTƒ“ƒvƒ‹ - - - Set file = OpenForReplace( "file1.html", Empty ) file.ReplaceRange "<NewTopic>", "</NewTopic>", _ - "<NewTopic>"+vbCRLF+ "new Topic" +vbCRLF+"</NewTopic>" - file = Empty - - ƒeƒXƒg - - ¨ T_Replace.vbs - - - ¨ ReadFileInTag - - ŠÖ˜A - ’u‚«Š·‚¦‚é”͈͂́A•¡”s‚Å‚ ‚Á‚Ä‚à‚©‚Ü‚¢‚Ü‚¹‚ñB - - [ e: ReplaceTextFile1 ƒNƒ‰ƒX ] - - - - - - - - - - - - T_OpenForReplaceRange - - ¨ vbslib.vbs - - ƒ\[ƒX - - - - - - - Close (ReplaceTextFile1) - ƒfƒXƒgƒ‰ƒNƒ^‚©‚玩“®“I‚ɌĂ΂ê‚Ü‚·‚ªA–¾Ž¦“I‚ɌĂяo‚·‚±‚Æ‚à‚Å‚«‚Ü‚·B - - - Sub ReplaceTextFile1::Close() - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚̕ύX‚ðŠ®—¹‚µ‚Ü‚·B - - ¨ ReplaceTextFile1 ƒNƒ‰ƒX - - - - - - - - IsSaveInTerminate (ReplaceTextFile1) - - ¨ ReplaceTextFile1 ƒNƒ‰ƒX - - - - Dim ReplaceTextFile1::IsSaveInTerminate as boolean or Empty - - ƒIƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚Å•Û‘¶‚·‚é‚©‚Ç‚¤‚©B - Empty ‚Ì‚Æ‚«‚́AƒGƒ‰[‚ª”­¶‚µ‚Ä‚¢‚éó‘Ô‚Å‚È‚¯‚ê‚Εۑ¶‚µ‚Ü‚·B - - - - - - - SafeFileUpdateEx - - - Sub SafeFileUpdateEx( FromTmpFilePath as string, ToFilePath as string, Option_ as string ) - - ƒtƒ@ƒCƒ‹‚ðˆÀ‘S‚ɍXV‚µ‚Ü‚·B ã‘‚«ˆÚ“®‚µ‚Ü‚·B - yˆø”z - FromTmpFilePath - ToFilePath - V‚µ‚¢“à—e‚ª‘‚©‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX - XV‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - Option_ - EmptyA‚Ü‚½‚́Ag_VBS_Lib.ToTrashBox - SafeFileUpdate ‚ðŒÄ‚яo‚µ‚Ä‚¢‚é“r’†‚ŁAƒtƒ@ƒCƒ‹‚̍XV‚âƒoƒbƒNƒAƒbƒv‚È‚Ç‚ÉŽ¸”s‚µ‚½‚çAƒGƒ‰[‚ª”­¶‚µ‚Ü‚·‚ªAƒtƒ@ƒCƒ‹‚Ì“à—e‚́AÁ‚¦‚邱‚Æ‚È‚­AŒ³‚É–ß‚è‚Ü‚·B - ‚½‚¾‚µAV‚µ‚¢“à—e‚Í•Û‘¶‚Å‚«‚Ä‚¢‚È‚¢‚̂ŁAƒGƒ‰[•œ‹A‚µ‚āA•Ê‚̃fƒBƒXƒN‚É•Û‘¶ - ‚Å‚«‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹ - - - tmp_path = GetTempPath( "new_*.txt" )CreateFile tmp_path, "Vî•ñI" - SafeFileUpdateEx tmp_path, "FileA.txt", Empty - - FileA.txt ‚Ì“à—e‚ðA"Vî•ñI" ‚Æ‚¢‚¤“à—e‚ɍXV‚µ‚Ü‚·BˆêŽž“I‚É‘¶Ý‚·‚éƒtƒ@ƒCƒ‹ tmp_path ‚ɁAV‚µ‚¢“à—e‚ðo—Í‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - SafeFileUpdate ‚ðŒÄ‚яo‚µ‚½Œã‚́Atmp_path ‚̏ꏊ‚Ƀtƒ@ƒCƒ‹‚Í–³‚­‚È‚è‚Ü‚·B - "FileA.txt" - "Vî•ñI" - XV‚·‚éƒtƒ@ƒCƒ‹‚𒼐ڊJ‚¢‚ă‰ƒCƒg‚·‚éƒvƒƒOƒ‰ƒ€‚̏ꍇAƒ‰ƒCƒg‚µ‚Ä‚¢‚é“r’†‚ŁA—e—Ê•s‘«‚É‚È‚Á‚½‚èAÚ‘±‚Å‚«‚È‚­‚È‚Á‚½‚肵‚ăGƒ‰[‚É‚È‚é‚ƁAXV‚·‚é‘O‚Ì“à—e - ‚ªÁ‚¦‚Ä‚µ‚Ü‚¢‚Ü‚·B ‚»‚ꂾ‚¯‚Å‚È‚­AXV‚µ‚½Œã‚Ì“à—e‚à•Û‘¶‚Å‚«‚È‚¢‰Â”\«‚ª - ‚ ‚è‚Ü‚·B ‚»‚̏ꍇAƒtƒ@ƒCƒ‹‚ÉŠi”[‚µ‚Ä‚¢‚½î•ñ‚ª‚·‚ׂďÁ‚¦‚Ä‚µ‚Ü‚¢‚Ü‚·B - SafeFileUpdate ‚́A‚»‚̃ŠƒXƒN‚ð‰ñ”ð‚µ‚Ü‚·B - - ¨ vbslib.vbs - - ƒ\[ƒX - Option_ = g_VBS_Lib.ToTrashBox ‚ðŽw’è‚·‚é‚ƁA - - SafeFileUpdate - - ‚Æ“¯‚¶“®‚«‚É‚È‚è‚Ü‚·B - ƒeƒXƒg - - ¨ T_SafeCopy.vbs # [T_SafeFileUpdate] - - - - - - - - SafeFileUpdate - - - Sub SafeFileUpdate( FromTmpFilePath as string, ToFilePath as string ) - - ƒtƒ@ƒCƒ‹‚ðˆÀ‘S‚ɍXV‚µ‚Ü‚·B ã‘‚«ˆÚ“®‚µ‚āAŒ³‚Ì“à—e‚̓Sƒ~” ‚É“ü‚è‚Ü‚·B - yˆø”z - FromTmpFilePath - ToFilePath - V‚µ‚¢“à—e‚ª‘‚©‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX - XV‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - ƒeƒXƒg - - ¨ T_SafeCopy.vbs # [T_SafeFileUpdate] - - ŠÖ˜A - - ¨ new_IsSafeFileUpdateStack - - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ SafeFileUpdateEx - - - - - - - - ConvertToFullPath - - - Sub ConvertToFullPath( SrcFilePath as string, DstFilePath as string ) - - %FullPath(..\SampleLib)% - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚Ì‘Š‘΃pƒX‚â“ÁŽêƒtƒHƒ‹ƒ_‚̃pƒX‚ðƒtƒ‹EƒpƒX‚É•ÏŠ·‚µ‚ăRƒs[‚µ‚Ü‚·B - •ÏŠ·‘O - •ÏŠ·Œã‚Ì—á - C:\folder\SampleLib - %DesktopPath% - C:\Documents and Settings\user1\ƒfƒXƒNƒgƒbƒv - yˆø”z - SrcFilePath - DstFilePath - •ÏŠ·‘O‚̃tƒ@ƒCƒ‹‚̃pƒX - •ÏŠ·Œã‚̃tƒ@ƒCƒ‹‚̃pƒXiV‹Kì¬‚Ü‚½‚͏㏑‚«j, Empty•s‰Â - - (src) - - - %FullPath(x)% ‚Ì x ‚É‘Š‘΃pƒX‚ð‹Lq‚·‚é‚ƁADstFilePath ‚̃tƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_‚𑊑΃pƒX‚̊‚É‚µ‚½ƒtƒ‹EƒpƒX‚É•ÏŠ·‚³‚ê‚Ü‚·B Šî€‚ð SrcFilePath ‚Å‚Í‚È‚­ DstFilePath ‚É‚µ‚Ä - ‚¢‚闝—R‚́A‚P‚‚̃eƒ“ƒvƒŒ[ƒg“I‚ȃtƒ@ƒCƒ‹(SrcFilePath) ‚ɑ΂µ‚āA•¡”‚̏ꏊ(DstFilePath) - ‚ÅŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚·‚邽‚ß‚Å‚·B - - % ‚ðŽg‚Á‚½ŠÂ‹«•Ï”‚à“WŠJ‚³‚ê‚Ü‚·B - - ¨ TextFileConvertFormat::Set_ - - ŽQl - ƒeƒXƒg - Unicode ƒtƒ@ƒCƒ‹‚É‚·‚é‚Æ‚«‚́AŽŸ‚̂悤‚ɐݒ肵‚Ä‚©‚ç ConvertToFullPath ‚ðŒÄ‚ñ‚Å‚­‚¾‚³‚¢B - - - Dim c : Set c = g_VBS_LibDim cs : Set cs = new_TextFileCharSetStack( c.Unicode ) - ConvertToFullPath "ans.txt", "ans_tmp.txt" - - %FullPath(.)% - C:\folder\current - - ¨ T_ConvAbs.vbs # ConvertToFullPath - - - ¨ % ‚ðŽg‚Á‚½•ÏŠ·Ž® - - ŽQl - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ɏ‘‚©‚ꂽ %FullPath( )% ‚È‚Ç‚Ì % % ‚ň͂܂ꂽ•”•ª‚ð’u‚«Š·‚¦‚Ü‚·B - - - - - - - % ‚ðŽg‚Á‚½•¶Žš—ñ•ÏŠ·ŠÖ” - %FullPath(..\SampleLib)% - •ÏŠ·‘O‚Ì—á - •ÏŠ·Œã‚Ì—á - C:\folder\SampleLib - %DesktopPath% - C:\Documents and Settings\user1\ƒfƒXƒNƒgƒbƒv - - vbslib ‚Ì’ñ‹Ÿ‚·‚é‚¢‚­‚‚©‚̊֐”‚Ì’†‚ŁA% ‚ðŽg‚Á‚½•¶Žš—ñ•ÏŠ·ŠÖ”‚ªŽg‚¦‚Ü‚·B% ‚ðŽg‚Á‚½ŠÂ‹«•Ï”‚à“WŠJ‚³‚ê‚Ü‚·B - %FullPath(.)% - C:\folder\current - - ConvertToFullPath - - - IsSameTextFile - - ‚Ì c.RightHasPercentFunction - (*1) - (*2) - (*1) - (*2) - › - › - ~ - › - › - › - › - › - %RegExp(.*)% - ³‹K•\Œ»‚Ƀ}ƒbƒ`‚·‚é”CˆÓ‚Ì•¶Žš—ñ - ”äŠr‘ΏۂàŽw’è‚·‚éŠÖ”‚ÅŽg‚¦‚é‚©‚Ç‚¤‚©B - —áF - —áF - ”äŠr‘ΏۂðŽw’肵‚È‚¢ŠÖ”‚ÅŽg‚¦‚é‚©‚Ç‚¤‚©B - ƒTƒ“ƒvƒ‹ - - - ABC***%FullPath(.)%*** - ***%RegExp(.*)%*** - - - - ABC***C:\FolderA*** - ***01234567879*** - - “WŠJ - - - - - - %MultiLine% - ~ - › - •¡”s‚Ƀ}ƒbƒ`‚·‚é (*4) - (*4) - ŠÖ”ˆê—— - %MultiLine% ‚́A”CˆÓ‚Ì•¡”s‚ƃ}ƒbƒ`‚µ‚Ü‚·B‚Ü‚½A%MultiLine% ‚Ì’¼Œã‚ɃeƒLƒXƒgi%‚ðŽg‚Á‚½ŠÖ”‰Â”\j‚ð’u‚­‚ƁA‚»‚Ì•¡”s‚ª - ƒ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - - start%MultiLine% - end - - - - startLine1 - Line2 - Line3 - end - - “WŠJ - - - - - - - - - - - “WŠJ - - - startC:\FolderA> - C:\FolderA> - C:\FolderA> - end - - - - start%MultiLine%%FullPath(.)%> - end - - - AssertFC - - ŠÖ˜A - - ¨ URL ‚ɃvƒŒ[ƒXƒzƒ‹ƒ_[‚ðŠÜ‚ß‚é - - - ¨ sscanf - - ƒL[ƒ[ƒhF - %FullPath(.)%, %RegExp(.*)%, %MultiLine%, %DesktopPath% - - ¨ ³‹K•\Œ» - - %Env(USERPROFILE)% - › - › - ŠÂ‹«•Ï” USERPROFILE ‚Ì’l - - ¨ ${ } •Ï”, LazyDictionaryClass - - %FullPath(x)% ‚Ì x ‚É‘Š‘΃pƒX‚ðŽw’肵‚½‚Æ‚«‚ɂ‚¢‚Ä - (*3) - (*3) - - ¨ ConvertToFullPath - - - ¨ ConvertToFullPath - - - - - - - - ParsePercentVariableString - - - ParsePercentVariableString "abc %VAR1%, %VAR2% def", sub_strings, variablesAssert IsSameArray( sub_strings, Array( "abc ", ", ", " def" ) ) - Assert IsSameArray( variables, Array( "%VAR1%", "%VAR2%" ) ) - - - - Sub ParsePercentVariableString( the_String as string, out_SubStringArray as array of string, out_VariableArray as array of string ) - - •¶Žš—ñ‚Ì’†‚Ì % ‚ðŽg‚Á‚½•Ï”‚Ì•”•ª‚Æ‚»‚êˆÈŠO‚Ì•”•ª‚É•ªŠ„‚µ‚Ü‚·B - yˆø”z - the_String - out_SubStringArray - •ªŠ„‚·‚é‘O‚Ì•¶Žš—ñ - •Ï”ˆÈŠO‚Ì•”•ª‚Ì”z—ñ - out_VariableArray - •Ï”‚Ì•”•ª‚Ì”z—ñ - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - ŠÖ˜A - - ¨ ScanFromTemplate - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - ¨ T_Str.vbs - - ƒeƒXƒg - T_ParseDollarVariableString - - ¨ ParseDollarVariableString - - - - - - - - ReplaceStringTemplate - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_fc.vbs - - T_ReplaceStringTemplate - - - Sub ReplaceStringTemplate( FolderPath as string, RegularExpressionPart as string, TemplateBefore as string, TemplateAfter as string, Opt as Empty ) - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ðƒL[ƒ[ƒh‚ÅŒŸõ‚µAƒeƒ“ƒvƒŒ[ƒg‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - FolderPath - RegularExpressionPart - ŒŸõ‘ΏۃtƒHƒ‹ƒ_[‚⃏ƒCƒ‹ƒhƒJ[ƒh - TemplateBefore - ’u‚«Š·‚¦‚é‘O‚̃eƒ“ƒvƒŒ[ƒgi•¡”s‰Âj - Opt - ƒIƒvƒVƒ‡ƒ“A‚Ü‚½‚́AEmpty - ’u‚«Š·‚¦‚é‘O‚̃L[ƒ[ƒhB•¡”s•s‰Â - - ¨ ³‹K•\Œ» - - ’u‚«Š·‚¦‚½Œã‚̃eƒ“ƒvƒŒ[ƒgi•¡”s‰Âj - TemplateAfter - ŠÖ˜A - - ¨ PartRep - - - ¨ SearchStringTemplate - - ƒeƒ“ƒvƒŒ[ƒg‚Ì’†‚ÉŽŸ‚Ì—\–ñ•Ï”‚ð‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ${FileName} - ƒtƒ@ƒCƒ‹–¼‚É’u‚«Š·‚í‚è‚Ü‚· - ’u‚«Š·‚¦‚½Œã‚̃eƒ“ƒvƒŒ[ƒg‚É‚ ‚é•Ï”‚ªA’u‚«Š·‚¦‚é‘O‚̃eƒ“ƒvƒŒ[ƒg‚É‚È‚¢‚Æ‚«‚́A•Ï”‚Ì‚Ü‚ÜŽc‚è‚Ü‚·B ‚½‚¾‚µAOpt ˆø”‚É dictionary Œ^‚ðŽw’肵‚āA•Ï”‚Ɉê’v‚·‚é - ƒL[‚ɑΉž‚µ‚½’l‚É’u‚«Š·‚¦‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - @param ${Arguments}@return ${RerutnValue} - - ƒTƒ“ƒvƒ‹ - - - ŠÖ”–¼F ${FunctionName}ˆø”F ${Arguments} - •Ô‚è’lF ${RerutnValue} - •â‘«F ${Note} - - TemplateBefore - TemplateAfter - - - - - - ‚̂悤‚ÉŽw’肵‚½ê‡AFolderPath ‚Ƀ}ƒbƒ`‚µ‚½‚ ‚éƒtƒ@ƒCƒ‹‚Ì“à—e‚́AŽŸ‚̂悤‚ɕω»‚µ‚Ü‚·B - - - @param First Parameter@return None - - - - - - - - - ŠÖ”–¼F ${FunctionName}ˆø”F First Parameter - •Ô‚è’lF None - •â‘«F - - —\–ñ•Ï” - RegularExpressionPart ˆø”‚ÉŽw’è‚·‚éƒL[ƒ[ƒh‚́ATemplateBefore ‚ÉŠÜ‚Ü‚ê‚éƒL[ƒ[ƒh‚𐳋K•\Œ»‚ÅŽw’肵‚Ü‚·B ƒL[ƒ[ƒh‚́ATemplateAfter ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - ‚±‚̈ø”‚ðŽg‚Á‚Ä“à•”‚ō‚‘¬‚ȃtƒ@ƒCƒ‹ŒŸõ‚ªs‚í‚ê‚Ü‚·B - "" ‚ðŽw’è‚·‚é‚ƁA‚·‚ׂẴtƒ@ƒCƒ‹‚ɑ΂µ‚Ä’u‚«Š·‚¦‚ðŽŽ‚Ý‚Ü‚·B - ‚½‚¾‚µAOpt ˆø”‚ÉŽŸ‚̂悤‚ÉŽw’肵‚½‚à‚Ì‚Æ‚µ‚Ü‚·B - - - Dict(Array( "${Note}", "" )) - - - Dict - - - ¨ GetLineNumOfTemplateDifference - - - ¨ Execute (GrepClass) - - - ¨ RunReplace (ReplaceTemplateClass) - - - ¨ Replace - - - ¨ ${ } •Ï”, LazyDictionaryClass - - TemplateBefore ‚ÉŽw’肵‚½•Ï”i${ c } ‚Ì•”•ªj‚́ATemplateAfter ‚ÉŽw’肵‚½ ${ c } ‚Ì•”•ª‚É“ü‚è‚Ü‚·B - Opt ˆø”‚ɂ́AEmpty ‚©AŽ«‘Œ^‚ŕϐ”‚̃fƒtƒHƒ‹ƒg’l‚ðŽw’è‚Å‚«‚Ü‚·B TemplateBefore ‚É‚È‚¢•Ï”‚ª TemplateAfter ‚É‚ ‚é‚Æ‚«‚́A‚»‚̕ϐ”‚ð‚±‚±‚ÅŽw’肵‚½’l‚É’u‚«Š·‚¦‚Ü‚·B - ˆÈã‚̃eƒ“ƒvƒŒ[ƒg‚́AXML ƒtƒ@ƒCƒ‹‚É‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ new_ReplaceTemplateClass - - - - - - - - ReplaceStringTemplates - - - Sub ReplaceStringTemplates( in_FileOrFolderPath as string, in_Replaces as array of StringTemplateReplaceClass, in_Empty as Empty ) - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ðƒL[ƒ[ƒh‚ÅŒŸõ‚µAƒeƒ“ƒvƒŒ[ƒg‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - in_FileOrFolderPath - in_Replaces - ŒŸõ‘Ώۃtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - in_Empty - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒeƒ“ƒvƒŒ[ƒg‚Ì”z—ñi‰º‹Lj - - ¨ ToolsLib.vbs - - ƒ\[ƒX - ƒeƒXƒg - StringTemplateReplaceClass - .KeywordBefore - .TemplateBefore - .TemplateAfter - .DefaultValues - string - string - string - dictionary< string > - ŒŸõ‘Ώۂ̃ƒCƒ‹ƒhƒJ[ƒh - ’u‚«Š·‚¦‚é‘O‚̃eƒ“ƒvƒŒ[ƒg - ’u‚«Š·‚¦‚½Œã‚̃eƒ“ƒvƒŒ[ƒg - •Ï”‚̃fƒtƒHƒ‹ƒg’l - - ¨ new_ReplaceTemplateClass - - - ¨ ReplaceStringTemplate - - ƒTƒ“ƒvƒ‹ - - - - - - - - - - - new_ReplaceTemplateClass - - ¨ Samples\ReplaceTemplate ƒtƒHƒ‹ƒ_[ - - - ¨ SyncFilesMenuLib.vbs - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - - Function new_ReplaceTemplateClass( in_PathOfXML as string ) as ReplaceTemplateClass - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃eƒ“ƒvƒŒ[ƒg‚𑀍삷‚éƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - in_PathOfXML - ƒeƒ“ƒvƒŒ[ƒg‚ÉŠÖ‚·‚é‚̐ݒèƒtƒ@ƒCƒ‹‚̃pƒX - ƒeƒ“ƒvƒŒ[ƒg‚𑀍삷‚éƒIƒuƒWƒFƒNƒg - •Ô‚è’l - - ¨ RunGetDifference - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃eƒ“ƒvƒŒ[ƒg‚𑀍삷‚éƒIƒuƒWƒFƒNƒg‚́AŽŸ‚̃ƒ\ƒbƒh‚ðŽ‚¿‚Ü‚·B - - ¨ EchoOld - - - ¨ RunReplace - - ‡‚Á‚Ä‚¢‚È‚¢iŒÃ‚¢jƒeƒ“ƒvƒŒ[ƒg‚̏ꏊ‚ð•\Ž¦‚µ‚Ü‚· - ‡‚Á‚Ä‚¢‚È‚¢iŒÃ‚¢jƒeƒ“ƒvƒŒ[ƒg‚Ì’†‚̏ꏊ‚ð•\Ž¦‚µ‚Ü‚· - ƒeƒ“ƒvƒŒ[ƒg‚ð’u‚«Š·‚¦‚Ü‚· - - ¨ ƒtƒ@ƒCƒ‹‚Ì“à—e - - ƒeƒXƒg - - ¨ T_ReplaceByTemplate ƒtƒHƒ‹ƒ_[ - - in_PathOfXML ˆø”‚ɁAƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚½‚Æ‚«‚́A‚»‚̃tƒHƒ‹ƒ_[‚ƃTƒu ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚é *.replace.xml ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðÝ’肵‚Ü‚·B ‚Ü‚½A*.before.* ‚Æ *.after.* ‚Ì—¼•û‚Ì - ƒtƒ@ƒCƒ‹‚ª‚ ‚ê‚΁A*.before.* ‚ð’u‚«Š·‚¦‚é‘O‚̃eƒ“ƒvƒŒ[ƒgA*.after.* ‚ð’u‚«Š·‚¦‚½Œã‚Ì - ƒeƒ“ƒvƒŒ[ƒg‚Æ‚µ‚Đݒ肵‚Ü‚·B - *.replace.xml - in_PathOfXML - *.after.* - *.before.* - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg‚ª‚»‚Ì‚Ü‚Ü“ü‚Á‚½ƒtƒ@ƒCƒ‹ - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒg‚ª‚»‚Ì‚Ü‚Ü“ü‚Á‚½ƒtƒ@ƒCƒ‹ - Ú×‚È’u‚«Š·‚¦‚̐ݒè - - ¨ ReplaceTemplate.xml - - ƒR[ƒ‹ƒcƒŠ[ - replace_.ID_Before = xml_full_path + tag.getAttribute( "before" ) - Me.ReplaceTemplate.Add replace_ - ReplaceTemplateClass::AppendLoadSetting - ReplaceTemplateClass::RunReplace - ReplaceStringTemplate - Me.Files.GetText( replace_.ID_Before ) - Set Me_.Files = new MultiTextXML_Class - new_ReplaceTemplateClass - - MultiTextXML_Class - - - - - - - - ReplaceTemplate.xml - /MultiText/Target - @path - ˆ—‘Ώۂ̃pƒXB•¡”‰Â”\B - - ¨ FF-path ‘®« - - ˆ—‘Ώۂ̃pƒXB ŠÖ˜A - /MultiText/EnabledTemplateIDs - Œ»ÝŽg‚í‚ê‚Ä‚¢‚éi•ÏŠ·Œã‚́jƒeƒ“ƒvƒŒ[ƒg‚̃AƒhƒŒƒXB•¡”Žw’è‚·‚é‚Æ‚«‚́A•¡”s‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - @type - "Lines" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - text() - /MultiText/CheckTargetDefault - - ¨ Samples\ReplaceTemplate ƒtƒHƒ‹ƒ_[ - - ƒTƒ“ƒvƒ‹ - - ¨ ReplaceStringTemplate - - - ¨ MultiTextXML_Class - - ${ } •Ï”AƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̃eƒ“ƒvƒŒ[ƒg - ƒeƒ“ƒvƒŒ[ƒg‚É‹Lq‚Å‚«‚é ---- Œ`Ž®‚̃Rƒƒ“ƒg - - new_ReplaceTemplateClass ŠÖ” - - ReplaceTemplate ƒ^ƒO‚ð‹Lq‚·‚éƒtƒ@ƒCƒ‹‚Å‚·B ƒtƒ@ƒCƒ‹–¼‚́AReplaceTemplate.xml ‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB - ReplaceTemplate.xml ‚́A - Ú× - - - ‘‚«‚©‚¯ - - /MultiText/ReplaceTemplate - @before - @after - ’u‚«Š·‚¦‚é‘O‚̃eƒLƒXƒg‚ª‚ ‚é Text ƒ^ƒO‚Ì URL - ’u‚«Š·‚¦‚½Œã‚̃eƒLƒXƒg‚ª‚ ‚é Text ƒ^ƒO‚Ì URL - /MultiText/Text - ’u‚«Š·‚¦‚é‘O‚Ü‚½‚ÍŒã‚̃eƒ“ƒvƒŒ[ƒg - - ¨ SetTargetPath - - - ƒ}[ƒWÝ’èƒtƒ@ƒCƒ‹ - - ‚â - ‚Ì - - - <?xml version="1.0" encoding="UTF-16"?><MultiText> - <ReplaceTemplate before="#Before" after="#After"/> - - <Text id="Before"><![CDATA[ - /* Function: ${FunctionName} */ - ]]></Text> - - <Text id="After"><![CDATA[ - /* Func: ${FunctionName} */ - ]]></Text> - - </MultiText> - - ƒTƒ“ƒvƒ‹ - /* Function: c */ ‚ð /* Func: c */ ‚É’u‚«Š·‚¦‚éÝ’è - ${ } •Ï”‚Å’u‚«Š·‚¦‚é‘O‚Ì“à—e‚ð’u‚«Š·‚¦‚½Œã‚ɃRƒs[‚Å‚«‚Ü‚·B - @id, text(), @cut_indent, @indent - ‰º‹L‚ðŽQÆ - - ¨ CutIndentOfMultiLineText - - cut_indent ‘®«Aindent ‘®«A‰üsƒR[ƒh - - - - - - - IsPause (ReplaceTemplateClass) - - - Dim ReplaceTemplateClass::IsPause as boolean - - ƒ†[ƒU[‚Ö‚ÌŠm”F‚ðs‚¤‚©‚Ç‚¤‚©B - - RunReplace ƒƒ\ƒbƒh - - ‚ðŒÄ‚яo‚µ‚½‚Æ‚«A’u‚«Š·‚¦“à—e‚ð - ‚½‚Æ‚¦‚΁AFalse ‚ɐݒ肷‚é‚ƁA - ƒ†[ƒU[‚É—v‹‚µ‚È‚­‚È‚è‚Ü‚·B - - - - - - - EchoOld (ReplaceTemplateClass) - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - - Sub ReplaceTemplateClass::EchoOld() - - Œ»ÝŽg‚í‚ê‚Ä‚¢‚éƒeƒ“ƒvƒŒ[ƒg‚ƍ‡‚Á‚Ä‚¢‚È‚¢iŒÃ‚¢jƒeƒ“ƒvƒŒ[ƒg‚̏ꏊ‚ð•\Ž¦‚µ‚Ü‚·B - - - ˆÈ‰º‚̏ꏊ‚É‚ ‚éƒeƒ“ƒvƒŒ[ƒg‚ªƒ}ƒbƒ`‚µ‚Ü‚¹‚ñ‚Å‚µ‚½BTemplate_getDifference ƒRƒ}ƒ“ƒh‚ŁAˆá‚¢‚ª‚ ‚éêŠ‚̍s”ԍ†‚𒲂ׂç‚ê‚Ü‚·B - ------------------------------------------------------------------------------- - Target\a.txt(2) - Target\a.txt(13) - ------------------------------------------------------------------------------- - - ƒTƒ“ƒvƒ‹ - •\Ž¦“à—e - ŠÖ˜A - - ¨ SearchStringTemplate - - - << new_ReplaceTemplateClass - - - - - - - - RunGetDifference (ReplaceTemplateClass) - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - - Sub ReplaceTemplateClass::RunGetDifference() - - Œ»ÝŽg‚í‚ê‚Ä‚¢‚éƒeƒ“ƒvƒŒ[ƒg‚ƍ‡‚Á‚Ä‚¢‚È‚¢iŒÃ‚¢jƒeƒ“ƒvƒŒ[ƒg‚Ì’†‚̏ꏊ‚ð•\Ž¦‚µ‚Ü‚·B - - - Enter‚̂݁F"Target\a.txt"’²‚ׂéƒtƒ@ƒCƒ‹‚̃pƒX > - ˆÈ‰º‚̏ꏊ‚É‚ ‚éƒeƒ“ƒvƒŒ[ƒg‚ªƒ}ƒbƒ`‚µ‚Ü‚¹‚ñ‚Å‚µ‚½B - ------------------------------------------------------------------------------- - Target\a.txt(5) - ------------------------------------------------------------------------------- - - ƒTƒ“ƒvƒ‹ - •\Ž¦“à—e - ’²‚ׂé‘Ώۂ̃tƒ@ƒCƒ‹‚Ì“ü—Í‚ð—v‹‚³‚ê‚Ü‚·B - ŠÖ˜A - - ¨ GetLineNumOfTemplateDifference - - - << new_ReplaceTemplateClass - - - - - - - - SetTargetPath (ReplaceTemplateClass) - - - Sub ReplaceTemplateClass::SetTargetPath( in_Path as string or PathDictionaryClass ) - - ˆ—‘Ώۂ̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX‚ðÝ’肵‚Ü‚·B - yˆø”z - in_Path - ˆ—‘Ώۂ̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - ReplaceTemplate.xml - - ‚Ì /MultiText/Target ‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́A–{ŠÖ”‚Őݒ肷‚é•K—v‚ª - ‚ ‚è‚Ü‚·B - - - - - - - RunReplace (ReplaceTemplateClass) - - ¨ SyncFilesMenuLib.vbs - - ƒ\[ƒX - - - Sub ReplaceTemplateClass::RunReplace() - - ƒeƒ“ƒvƒŒ[ƒg‚ð’u‚«Š·‚¦‚Ü‚·B - - - ˆÈ‰º‚̏ꏊ‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚éƒeƒ“ƒvƒŒ[ƒg‚ð’u‚«Š·‚¦‚Ü‚·•ÒW‚·‚éƒtƒHƒ‹ƒ_[ = Target - ReplaceTemplateID_From = #Template1_Old - ReplaceTemplateID_To = #Template1 - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - ------------------------------------------------------------------------------- - >ReplaceStringTemplate "Target", "\* Function:" - Target\a.txt - - ƒTƒ“ƒvƒ‹ - •\Ž¦“à—e - ŽÀs‚·‚é‚©‚Ç‚¤‚©‚ÌŠm”F‚ð—v‹‚³‚ê‚Ü‚·B - ŽQl - - << new_ReplaceTemplateClass - - - ¨ ReplaceTemplate.xml ‚ɐݒè‚Å‚«‚é’l - - - - - - - - StartReplace - - - Set rep = StartReplace( "a.txt", GetTempPath("*.txt"), False ) Do Until rep.r.AtEndOfStream - SplitLineAndCRLF rep.r.ReadLine(), line, cr_lf - line = Replace( line, "Value=0", "Value=1" ) - rep.w.WriteLine line + cr_lf - Loop - rep.Finish - - - (src) - - - - Function StartReplace( SrcPath as string, TmpDstPath as string, IsDstWillBeExist as boolean ) as StartReplaceObj - - ƒtƒ@ƒCƒ‹‚̈ꕔ‚ðs’PˆÊ‚Å’u‚«Š·‚¦‚鏀”õ‚ð‚µ‚Ü‚·B - yˆø”z - SrcPath - TmpDstPath - ’u‚«Š·‚¦‚悤‚Æ‚·‚éƒtƒ@ƒCƒ‹ - ˆêŽžƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í’u‚«Š·‚¦‚½Œã‚̃pƒX - TmpDstPath ‚ª’u‚«Š·‚¦‚½Œã‚̃pƒX‚©‚Ç‚¤‚© - IsDstWillBeExist - ƒTƒ“ƒvƒ‹ - StartReplace ‚ðŒÄ‚яo‚·‚ƁASrcPath ‚Æ TmpDstPath ‚̃tƒ@ƒCƒ‹‚ðŠJ‚«‚Ü‚·B•Ô‚è’l‚ðŽg‚Á‚āAƒtƒ@ƒCƒ‹‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·Bi‰º‹LƒTƒ“ƒvƒ‹‚ðŽQÆj - •Ô‚è’l - ƒRƒ“ƒeƒLƒXƒg - - StartReplaceObj - - ŠÖ˜A - - ¨ AddLastOfFileName - - - ¨ GetTempPath - - - ¨ T_Replace.vbs # [T_StartReplace] - - ƒeƒXƒg - ‰üs•¶ŽšƒR[ƒh‚́ASrcPath ‚É‹Lq‚³‚ê‚Ä‚¢‚é‚à‚Ì‚ªA‚»‚Ì‚Ü‚ÜŒp³‚³‚ê‚Ü‚·B ‚½‚¾‚µA - - get_ADODBConsts - - ‚ªŽg‚¦‚éŠÂ‹«‚Å‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B i’ʏíAŽg‚¦‚Ü‚·j - ‚Ü‚½Arep.r uˆÈŠOv‚̃tƒ@ƒCƒ‹‚©‚ç rep.w ‚Ƀ‰ƒCƒg‚·‚é‚Æ‚«‚́AƒŠ[ƒh‚·‚éƒtƒ@ƒCƒ‹‚ðŠJ‚­‚Æ‚«‚ɁA - ‰üs•¶ŽšƒR[ƒh‚ɂ‚¢‚Ä - ReadLine ‚Ŏ擾‚Å‚«‚és‚Ì––”ö‚ɂ́AvbCRLF ‚Ü‚½‚Í vbLF ‚ª•t‚«‚Ü‚·B - ‚»‚Ì‘¼‚̃Tƒ“ƒvƒ‹ - - ¨ ƒTƒ“ƒvƒ‹ iƒEƒBƒU[ƒhj - - - ¨ ƒTƒ“ƒvƒ‹ iƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚©‚çƒeƒLƒXƒgˆ—j - - IsDstWillBeExist ‚É g_VBS_Lib.DstIsBackUp ‚ðŽw’è‚·‚é‚ƁATmpDstPath ‚ɃoƒbƒNƒAƒbƒv‚ðì¬‚µASrcPath ’u‚«Š·‚¦‚½Œã‚Ì“à—e‚ª“ü‚è‚Ü‚·B - IsDstWillBeExist = False ‚Ì‚Æ‚«‚́A•Ô‚è’l‚Ì Finish ƒƒ\ƒbƒh‚ðŒÄ‚яo‚·‚ƁA‘S‚Ẵtƒ@ƒCƒ‹‚ð•Â‚¶ATmpDstPath ‚©‚ç SrcPath ‚ցAƒtƒ@ƒCƒ‹ƒRƒs[‚ðs‚¢ATmpDstPath ‚ðíœ‚µ‚Ü‚·B - - SplitLineAndCRLF - - WriteLine ‚ōs‚ðo—Í‚·‚é‚Æ‚«‚́AReadLine ‚Ŏ擾‚µ‚½‰üs•¶Žš‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - - SplitLineAndCRLF - - ‚ðŽg‚¦‚΁A‰üs•¶Žš‚𕪂¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ŠÖ˜A - - ¨ FindStringLines - - - ¨ StringStream ƒNƒ‰ƒX - - - new_TextFileLineSeparatorStack - - ( g_VBS_Lib.KeepLineSeparators ) ‚ª•K—v‚Å‚·B - - CutIndentOfMultiLineText - - ‚́A‰üs•¶ŽšƒR[ƒh‚𖾎¦“I‚ÉŽw’è‚·‚é - - MultiTextXML_Class - - A - ‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - - - - - StartReplaceObj ƒNƒ‰ƒX - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̈ꕔ‚ð’u‚«Š·‚¦‚éƒCƒ“ƒ^[ƒtƒF[ƒX - Žæ“¾ - - ¨ StartReplace - - - ¨ StartReplace2 - - r - w - ’u‚«Š·‚¦‚悤‚Æ‚·‚éƒtƒ@ƒCƒ‹‚̃XƒgƒŠ[ƒ€ - ˆêŽžƒtƒ@ƒCƒ‹A‚Ü‚½‚Í’u‚«Š·‚¦‚½Œã‚̃tƒ@ƒCƒ‹‚̃XƒgƒŠ[ƒ€ - - ¨ TextStream - - - ¨ TextStream - - Finish - ³í‚ÉŠ®—¹‚µ‚½‚çŒÄ‚яo‚·•K—v‚ª‚ ‚éŠÖ” - - ¨ ƒTƒ“ƒvƒ‹ - - Class_Terminate - ƒfƒXƒgƒ‰ƒNƒ^B Finish ‚Ü‚½‚Í ExitFinish ‚ªŒÄ‚΂ê‚È‚©‚Á‚½‚çŒx‚µ‚Ü‚· - ExitFinish Empty - ’u‚«Š·‚¦‚ðƒLƒƒƒ“ƒZƒ‹‚µ‚Ü‚·B - - - - - - - ReplaceTextFile - - - Sub ReplaceTextFile( SrcPath as string, TmpDstPath as string, bDstWillBeExist as boolean, ReplaceList as ReplaceItem, Opt as variant ) - - ƒtƒ@ƒCƒ‹‚̈ꕔ‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - SrcPath - TmpDstPath - ’u‚«Š·‚¦‚悤‚Æ‚·‚éƒtƒ@ƒCƒ‹ - ˆêŽžƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í’u‚«Š·‚¦‚½Œã‚̃pƒX - TmpDstPath ‚ª’u‚«Š·‚¦‚½Œã‚̃pƒX=True, ˆêŽžƒpƒX=False - bDstWillBeExist - ReplaceList - ’u‚«Š·‚¦‚éƒeƒLƒXƒg - Opt - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - - - Dim reps : new_ReplaceItem_array reps, 1 reps(0).Src = "%base%" : reps(0).Dst = g_sh.CurrentDirectory - ReplaceTextFile "file.txt", GetTempPath("*.txt"), False, reps, Empty - - ƒTƒ“ƒvƒ‹F - - (src) - - 1 - new_ReplaceItem_array ‚ɂ‚¢‚ẮA - - - Class ReplaceItem Public Src - Public Dst - End Class - - - ¨ new_ReplaceItem_array : ƒIƒuƒWƒFƒNƒg‚Ì”z—ñ‚𐶐¬‚·‚é - - %base% - g_sh.CurrentDirectory - file.txt - - ¨ TextFileConvertFormat::Set_ - - ŽQl - ver4 ‚ŁA”pŽ~‚É‚È‚è‚Ü‚µ‚½B OpenForReplace ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ OpenForReplace - - - - - - - - ƒTƒ“ƒvƒ‹ iƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚©‚çƒeƒLƒXƒgˆ—j - - - Sub Main( Opt, AppKey ) Dim c : Set c = g_VBS_Lib - Dim path : path = InputPath( "•ÏŠ·‚·‚éƒtƒ@ƒCƒ‹ >", c.CheckFileExists or c.UseArgument1 ) - Dim w_:Set w_=AppKey.NewWritable( path ).Enable() - Dim rep, line, cr_lf - - Set rep = StartReplace( path, GetTempPath("Replace_*.txt"), c.DstIsBackUp ) - Do Until rep.r.AtEndOfStream - SplitLineAndCRLF rep.r.ReadLine(), line, cr_lf - - line = "> "+ line - - rep.w.WriteLine line + cr_lf - Loop - rep.Finish - - start GetEditorCmdLine( path ) - End Sub - - ƒXƒNƒŠƒvƒg¥ƒtƒ@ƒCƒ‹‚ɏˆ—‚ð‚·‚éƒtƒ@ƒCƒ‹‚𒼐ڃhƒ‰ƒbƒO•ƒhƒƒbƒv‚µ‚Ä‚àAƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹EƒNƒŠƒbƒN‚µ‚ÄŠJ‚¢‚½ƒEƒBƒ“ƒhƒE‚ɏˆ—‚·‚éƒtƒ@ƒCƒ‹‚ðƒhƒ‰ƒbƒO•ƒhƒƒbƒv‚µ‚Ä‚àˆ—‚ª‚Å‚«‚Ü‚·B - uline = "> "+ linev ‚Ì•”•ª‚ðˆ—“à—e‚ɏ‘‚«Š·‚¦‚Ä‚¨Žg‚¢‚­‚¾‚³‚¢B - - - - - - - - - - - ƒTƒ“ƒvƒ‹ iƒEƒBƒU[ƒhj - - - Sub main2( Opt, AppKey ) Dim exe_name - Dim desktop : desktop = g_sh.SpecialFolders( "Desktop" ) - Dim rep, line - - Dim w_:Set w_=AppKey.NewWritable( desktop ).Enable() - - '//=== Input exe name - Do - exe_name = input( "exe name>" ) - If exist( desktop + "\" + exe_name ) Then - Raise 1, "‚·‚łɃfƒXƒNƒgƒbƒv‚É " + exe_name + " ‚ª‘¶Ý‚·‚邽‚߁AV‹Kì¬‚Å‚«‚Ü‚¹‚ñ" - Else - Exit Do - End If - Loop - - - '//=== Make output folder - mkdir desktop + "\" + exe_name - copy g_vbslib_folder + "*", desktop + "\" + exe_name + "\scriptlib" - - - '//=== Make exe_name.c - Set rep = StartReplace( "files\template.c", _ - desktop + "\" + exe_name + "\" + exe_name + ".c", True ) - Do Until rep.r.AtEndOfStream - line = rep.r.ReadLine() - line = Replace( line, "Sample", exe_name ) - rep.w.WriteLine line - Loop - rep.Finish - - - '//=== Open output folder - Setting_openFolder desktop + "\" + exe_name - End Sub - - sample_wizard.vbs - wizard - sample_wizard.vbs - files - template.c - ƒfƒXƒNƒgƒbƒv‚ɁAƒeƒ“ƒvƒŒ[ƒgEƒtƒ@ƒCƒ‹‚ð­‚µ‰ÁH‚µ‚ătƒHƒ‹ƒ_‚ðì¬‚µ‚Ü‚·B - - - exe name> - - ‚Æ•\Ž¦‚³‚ê‚é‚̂ŁA“ü—Í‚·‚é‚ƁA - _src\Test\vbslib_test\T_Replace\T_Replace_Sample1 ‚É‚ ‚è‚Ü‚·B - - - - - - - StartReplace2 - - - Function StartReplace2( SrcPath as string, MidPath as string, Flags as integer, TmpDstPath as string, bDstWillBeExist as boolean ) as StartReplaceObj - - F_Txt2BinTxt ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢i‰º‹Lj - ƒtƒ@ƒCƒ‹‚̈ꕔ‚ð’u‚«Š·‚¦‚āAX‚ɃtƒBƒ‹ƒ^ˆ—‚ð‚·‚é‚½‚߂̏€”õ‚ð‚µ‚Ü‚·B - yˆø”z - SrcPath - TmpDstPath - ’u‚«Š·‚¦‚悤‚Æ‚·‚éƒtƒ@ƒCƒ‹ - ˆêŽžƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í’u‚«Š·‚¦‚½Œã‚̃pƒX - TmpDstPath ‚ª’u‚«Š·‚¦‚½Œã‚̃pƒX‚©‚Ç‚¤‚© - bDstWillBeExist - •Ô‚è’l - ƒRƒ“ƒeƒLƒXƒg - MidPath - Flags - ˆêŽžƒtƒ@ƒCƒ‹‚̃pƒX - - StartReplaceObj - - F_Txt2BinTxt - StartReplaceObj.w ‚ɁAChr(&hFF) ‚©‚çŽn‚ß‚és‚ðo—Í‚·‚é‚ƁA‚»‚̍s‚̓oƒCƒiƒŠ‚É‚È‚è‚Ü‚·B - - ¨ ƒoƒCƒiƒŠ¬ÝƒeƒLƒXƒg¶¬ (txt2bintxt.exe) - - - ¨ TextFileConvertFormat::Set_ - - ŽQl - - - - - - - PassThroughLineFilters - - - Sub PassThroughLineFilters( SrcPath as string, TmpDstPath as string, IsDstWillBeExist as boolean, Opt as Empty, FilterArray as array of string ) - - Žw’è‚̃L[ƒ[ƒh‚ðŠÜ‚ލs‚𒊏o‚µ‚Ü‚·B - yˆø”z - SrcPath - TmpDstPath - ’u‚«Š·‚¦‚悤‚Æ‚·‚éƒtƒ@ƒCƒ‹ - ˆêŽžƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í’u‚«Š·‚¦‚½Œã‚̃pƒX - IsDstWillBeExist - TmpDstPath ‚ª’u‚«Š·‚¦‚½Œã‚̃pƒX‚©‚Ç‚¤‚© - ƒL[ƒ[ƒh‚Ì”z—ñ - Empty ‚Ü‚½‚Í False (=FilterArray ‚ÉŠÜ‚Ü‚È‚¢s‚𒊏oj - FilterArray - Opt - - (src) - - - - PassThroughLineFilters( "a.txt", GetTempPath("*.txt"), False, Empty, _ Array( "(TRACE)", "(DEBUG)" ) - - ƒTƒ“ƒvƒ‹ - (TRACE) ‚Æ (DEBUG) ‚ðŠÜ‚ލs‚¾‚¯‚É‚µ‚Ü‚·B - - ¨ T_Replace.vbs # [T_PassThroughLineFilters] - - ƒeƒXƒg - ŠÖ˜A - - ¨ grep (ŒŸõ) - - - ¨ FindStringLines - - ”pŽ~—\’è - ‘ã‚í‚è - - ¨ FindStringLines - - - ¨ Text (ReplaceTextFile1) - - - - - - - - SplitLineAndCRLF - - - Sub SplitLineAndCRLF( LineAndCRLF as string, out_Line as string, out_CRLF as string ) - - s‚Ì–{•¶‚ƁAs––‚̉üs•¶Žš‚𕪂¯‚Ü‚·B - yˆø”z - LineAndCRLF - out_Line - ‰üs•¶Žš‚ª––”ö‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚é‰Â”\«‚ª‚ ‚镶Žš—ñ - io—́j ‰üs•¶Žš‚æ‚è‘O‚Ì•¶Žš—ñ - ƒtƒ@ƒCƒ‹F - - - vbslib - - out_CRLF - io—́j s––‚̉üs•¶Žš - - (src) - - - ¨ ‰üs•¶ŽšƒR[ƒh‚ɂ‚¢‚Ä - - ŠÖ˜A - - - - - - - CutCRLF - - - Function CutCRLF( Line as string ) - - ‰üs•¶Žš‚ðíœ‚µ‚Ü‚·B - yˆø”z - Line - •Ô‚è’l - ‰üs•¶Žš‚ªíœ‚³‚ê‚镶Žš—ñ - ‰üs•¶Žš‚ªíœ‚³‚ꂽ•¶Žš—ñ - ƒtƒ@ƒCƒ‹F - - - vbslib - - - (src) - - - ¨ T_Replace.vbs # [T_CutCRLF] - - ƒeƒXƒg - ŠÖ˜A - - ¨ SplitLineAndCRLF - - - - - - - - Translate - - - Sub Translate( TranslatorPath as string, FromLanguage as string, ToLanguage as string ) - - –|–óƒtƒ@ƒCƒ‹‚̏î•ñ‚ɏ]‚Á‚āAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̈ꕔ‚ð–|–󂵂܂·B - yˆø”z - TranslatorPath - FromLanguage - –|–óƒtƒ@ƒCƒ‹(*.trans)‚̃pƒXA‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX - –|–ó‘O‚ÌŒ¾ŒêB ’ʏí "JP" - ToLanguage - –|–óŒã‚ÌŒ¾ŒêB ’ʏí "EN" - - ¨ T_Translate.vbs - - ƒeƒXƒg - ‰pŒê‚É–|–ó‚·‚é‚Æ‚«‚ɁA‰p•¶ŽšˆÈŠO‚ªŽc‚Á‚Ä‚¢‚½‚Æ‚«‚́Aget_ToolsLibConsts().E_NotEnglishChar ƒGƒ‰[‚ª”­¶‚µ‚Ü‚·B - ŽQl - - ¨ Translate ƒRƒ}ƒ“ƒh - - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - –|–óƒtƒ@ƒCƒ‹(*.trans) ‚Ìà–¾‚È‚Ç - TranslatorPath ˆø”‚ɃtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚½ê‡AƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚½AŠg’£Žq‚ª .trans ‚Ì‚·‚ׂĂ̖|–óƒtƒ@ƒCƒ‹‚©‚ç–|–󂵂܂·B ‚ ‚é‚P‚‚̖|–óƒtƒ@ƒCƒ‹‚©‚ç–|–󂵂Ăà‰p•¶Žš - ˆÈŠO‚ªŽc‚Á‚Ä‚¢‚½‚Æ‚«‚́A‚·‚ׂĂ̖|–óƒtƒ@ƒCƒ‹‚©‚ç–|–󂵂½Œã‚ŃGƒ‰[‚ª”­¶‚µ‚Ü‚·B - T_Translate1 - T_Translate_sth - T_TranslateFolder - ŠÖ˜A - - ¨ Switches - - ƒXƒCƒbƒ`‚ɏ]‚Á‚āA•¡”‚̃tƒ@ƒCƒ‹‚ð•ÒW - - - - - - - TranslateTest - - - Sub TranslateTest( TranslatorPath as string, FromLanguage as string, ToLanguage as string, OutFolderPath as string ) - - –|–óƒtƒ@ƒCƒ‹‚̏î•ñ‚ɏ]‚Á‚āAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̈ꕔ‚ð–|–ó‚Å‚«‚é‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - yˆø”z - TranslatorPath - FromLanguage - –|–óƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX - –|–ó‘O‚ÌŒ¾ŒêB ’ʏí "JP" - ToLanguage - –|–óŒã‚ÌŒ¾ŒêB ’ʏí "EN" - OutFolderPath - –|–óŒã‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒXB ‚Ü‚½‚Í "" = o—Í‚µ‚È‚¢ - ŽQl - - ¨ Translate - - - ¨ T_Translate.vbs - - ƒeƒXƒg - - ¨ T_Translate.vbs - - - ¨ Translate ƒRƒ}ƒ“ƒh - - –|–óƒtƒ@ƒCƒ‹(*.trans) ‚Ìà–¾‚È‚Ç - ŠÖ˜A - - ¨ TranslateTest ƒRƒ}ƒ“ƒh - - ENi‰pŒêj‚É–|–ó‚·‚é‚Æ‚«‚́A–|–óŒã‚É Ascii •¶Žš‚¾‚¯Žg‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·BAscii •¶ŽšˆÈŠO‚Ì•¶Žš‚ª‚ ‚é‚Æ‚«‚́Aget_ToolsLibConsts().E_NotEnglishChar ƒGƒ‰[‚É‚È‚è‚Ü‚·B - TranslatorPath ˆø”‚ɃtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚½ê‡AƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚½AŠg’£Žq‚ª .trans ‚Ì‚·‚ׂĂ̖|–óƒtƒ@ƒCƒ‹‚©‚ç–|–ó‚Å‚«‚é‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B ‚ ‚é‚P‚‚̖|–óƒtƒ@ƒCƒ‹ - ‚©‚ç–|–󂵂Ăà‰p•¶ŽšˆÈŠO‚ªŽc‚Á‚Ä‚¢‚½‚Æ‚«‚́A‚·‚ׂĂ̖|–óƒtƒ@ƒCƒ‹‚©‚ç–|–ó‚Å‚«‚é‚©‚Ç‚¤‚© - ƒ`ƒFƒbƒN‚µ‚½Œã‚ŃGƒ‰[‚ª”­¶‚µ‚Ü‚·B - –|–óƒtƒ@ƒCƒ‹‚Ì“à—e‚͏㏑‚«‚³‚ê‚邽‚ß’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢i—v NewWritablejB –|–ó‚·‚éƒtƒ@ƒCƒ‹–¼‚ƍs”ԍ†‚ª’Ç‹L‚³‚êAs”ԍ†‚̏‡”ԂŃ\[ƒg‚³‚ê‚Ü‚·B - T_TranslateTest - T_TranslateTest_sth - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - - - - - TranslateEx - - - Sub TranslateEx( TranslatorPath as string, FromLanguage as string, ToLanguage as string, in_out_Config as TranslateConfigClass ) - - –|–óƒtƒ@ƒCƒ‹‚̏î•ñ‚ɏ]‚Á‚āAƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚̈ꕔ‚ð–|–󂵂܂·B - yˆø”z - TranslatorPath - FromLanguage - –|–óƒtƒ@ƒCƒ‹‚̃pƒX - –|–ó‘O‚ÌŒ¾ŒêB ’ʏí "JP" - ToLanguage - –|–óŒã‚ÌŒ¾ŒêB ’ʏí "EN" - in_out_Config - i“üo—́j ŠeŽíÝ’èA‚Ü‚½‚Í Empty - ƒeƒXƒg - - ¨ T_Translate.vbs - - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - TranslateConfigClass - - ¨ TranslateConfigClass - - .IsTestOnly - .OutFolderPath - .BaseFolderPath - True = ‚·‚ׂĖ|–󂳂ꂽ‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚¾‚¯‚µ‚Ü‚·B iƒfƒtƒHƒ‹ƒgj - False = –|–󂵂܂·B - –|–óŒã‚̃tƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒXBÈ—ªŽž‚́A–|–óŒã‚̃tƒ@ƒCƒ‹‚ðo—Í‚µ‚Ü‚¹‚ñB - –|–óƒtƒ@ƒCƒ‹‚Ì BaseFolder ƒ^ƒO‚ð’u‚«Š·‚¦‚½Œã‚̃pƒXBÈ—ªŽž‚́A–|–óƒtƒ@ƒCƒ‹‚Ì BaseFolder ƒ^ƒO‚̃eƒLƒXƒg‚ªŽg‚í‚ê‚Ü‚·B - ŽQl - - ¨ Translate ƒRƒ}ƒ“ƒh - - –|–óƒtƒ@ƒCƒ‹(*.trans) ‚Ìà–¾‚È‚Ç - - - - - - - Translate_getOverwritePaths - ƒeƒXƒg - - ¨ T_Translate.vbs - - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - Function Translate_getOverwritePaths( TranslatorPath as string ) - - ‚Å’u‚«Š·‚í‚é‚·‚ׂẴtƒ@ƒCƒ‹‚̃tƒ‹ƒpƒX‚ð”z—ñ‚Å•Ô‚µ‚Ü‚·B - yˆø”z - TranslatorPath - •Ô‚è’l - –|–óƒtƒ@ƒCƒ‹‚̃pƒX - ’u‚«Š·‚í‚é‚·‚ׂẴtƒ@ƒCƒ‹‚̃tƒ‹ƒpƒX‚Ì”z—ñ - - Translate - - T_Translate_getOverwritePaths - - - - - - - Translate_getWritable - ƒeƒXƒg - - ¨ T_Translate.vbs - - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - Function Translate_getWritable( TranslatorPath as string ) - - ‚Å’u‚«Š·‚í‚é‚·‚ׂẴtƒ@ƒCƒ‹‚ðŠÜ‚ÞƒtƒHƒ‹ƒ_[‚̃tƒ‹ƒpƒX‚ð”z—ñ‚Å•Ô‚µ‚Ü‚·B - yˆø”z - TranslatorPath - •Ô‚è’l - –|–óƒtƒ@ƒCƒ‹‚̃pƒX - ƒtƒHƒ‹ƒ_[‚̃tƒ‹ƒpƒX‚Ì”z—ñ - - Translate - - T_Translate_getWritable - - - - - - - new_TranslateToEnglish - - - Function new_TranslateToEnglish( DictionaryCsvPath as string ) as TranslateToEnglish - - Ž«‘ƒtƒ@ƒCƒ‹‚ðŽg‚Á‚āAƒ\[ƒXEƒtƒ@ƒCƒ‹‚̃Rƒƒ“ƒg‚ð‰p–󂵂܂·B - yˆø”z - DictionaryCsvPath - CSV Œ`Ž®‚ÌŽ«‘ƒtƒ@ƒCƒ‹‚̃pƒX - - - ToolsLib.vbs - - ƒ‚ƒWƒ…[ƒ‹Eƒtƒ@ƒCƒ‹F -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - ƒTƒ“ƒvƒ‹F - - - Dim tr : Set tr = new_TranslateToEnglish( "Text1.txt.trans.csv" )'// tr.IsReverseTranslate = True - Dim w_:Set w_=AppKey.NewWritable( tr.Writable ).Enable() - tr.Translate - - ‚¢‚í‚ä‚é‰p–óƒ\ƒtƒg‚̂悤‚ȁA•¶–@‰ðÍ‚ðs‚Á‚Ä‘å‚«‚ÈŽ«‘‚ðˆø‚­‚悤‚È–|–ó‚Å‚Í‚ ‚è‚Ü‚¹‚ñB“à•”‚ł́A’Pƒ‚ȃeƒLƒXƒg‚Ì’uŠ·‚ƁA’uŠ·Œã‚̃tƒ@ƒCƒ‹‚ÉŠÜ‚Ü‚ê‚镶Žš‚ª‰p•¶Žš‚¾‚¯‚©‚Ç‚¤‚© - ‚̃`ƒFƒbƒN‚ð‚µ‚Ü‚·B –|–óŒã‚ɉp•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŽc‚Á‚½‚çATranslateToEnglish::c. - E_NotEnglishChar ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ‰p–󏈗‚̃Tƒ“ƒvƒ‹ - Text1_trans.csv - - - Text1.c, %eng%\Text1.cƒƒCƒ“ŠÖ”, Main function - ƒTƒuŠÖ”, Sub function - - ƒeƒXƒg - - - #include <stdio.h> - int main() { } // ƒƒCƒ“ŠÖ” - int sub() { } // ƒTƒuŠÖ” - - Text1.c - %eng%\Text1.c - - - #include <stdio.h> - int main() { } // Main function - int sub() { } // Sub function - - ‚Ps–ڂ̍¶‚́A•ÏŠ·‘O‚̃tƒ@ƒCƒ‹ƒpƒX‚Å‚·B‚Ps–ڂ̉E‚́A•ÏŠ·Œã‚̃tƒ@ƒCƒ‹ƒpƒX‚Å‚·B - ‚Ps–ڂ́A% % ‚ň͂ñ‚¾ŠÂ‹«•Ï”‚ðŽw’è‚Å‚«‚Ü‚·B - ‚Ps–ڂ̉E‚ðÈ—ª‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚Ì’u‚«Š·‚¦‚ð‚µ‚Ü‚·B - ‚Qs–ڈȍ~‚́A–|–ó‚·‚éƒL[ƒ[ƒh‚ðŽw’肵‚Ü‚·B - - ¨ TranslateToEnglish ƒtƒHƒ‹ƒ_ - - ƒL[ƒ[ƒhF - ‰p–óA–|–ó - - TranslateToEnglish - - - ¨ ƒTƒ“ƒvƒ‹ - new_TranslateToEnglish - - ŠÖ˜A - - ¨ sample / CheckEnglishOnly - - ŠÖ˜A - ‰p•¶ŽšˆÈŠO‚ª–³‚¢‚©AƒtƒHƒ‹ƒ_‘S‘Ì‚ðƒ`ƒFƒbƒN‚·‚é - Text1.txt.trans.csv - - - ”pŽ~ - - - - - - - - TranslateToEnglish ƒNƒ‰ƒX - .IsReverseTranslate - Property TranslateToEnglish::IsReverseTranslate as boolean - .Writable - Property TranslateToEnglish::Writable as string - .Translate - Sub TranslateToEnglish::Translate() - Žæ“¾ - True ‚È‚çA–|–ó‚·‚é•ûŒü‚ð‹t‚ɐݒ肵‚Ü‚·BEnglishTextPath ‚©‚ç NotEnglishTextPath ‚É–|–󂵂܂·B - ƒfƒtƒHƒ‹ƒg‚Í False ‚Å‚·B - o—̓tƒ@ƒCƒ‹‚̃pƒXBAppKey.NewWritable ‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - –|–ó‚ðŽÀs‚µ‚Ü‚·B - .c.E_NotEnglishChar - Property TranslateToEnglish::c.E_NotEnglishChar as integer - –|–óŒã‚à‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŽc‚Á‚Ä‚¢‚½‚Æ‚«‚̃Gƒ‰[ƒR[ƒhB.Reverse ‚ªŒÄ‚яo‚³‚ꂽ‚Æ‚«‚́A‚±‚̃Gƒ‰[‚Í”­¶‚µ‚Ü‚¹‚ñB - .NotEnglishTextPath - .EnglishTextPath - Property TranslateToEnglish::EnglishTextPath as string - ‰pŒê‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹‚̃pƒXBNotEnglishTextPath ‚Æ“¯‚¶ƒpƒX‚ðŽw’è‚Å‚«‚Ü‚·B - new_TranslateToEnglish ‚ðŒÄ‚яo‚µ‚½‚çA–|–ó CSV ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽƒpƒX‚ªŠi”[‚³‚ê‚Ü‚·B - ‚±‚Ì‚Æ‚«A–|–ó CSV ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽŠÂ‹«•Ï”‚Í“WŠJ‚³‚ê‚Ü‚·B - .Translate ‚ðŒÄ‚яo‚·‘O‚ɕύX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ‰pŒêˆÈŠO‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹‚̃pƒXBnew_TranslateToEnglish ‚ðŒÄ‚яo‚µ‚½‚çA–|–ó CSV ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽƒpƒX‚ªŠi”[‚³‚ê‚Ü‚·B - ‚±‚Ì‚Æ‚«A–|–ó CSV ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽŠÂ‹«•Ï”‚Í“WŠJ‚³‚ê‚Ü‚·B - .Translate ‚ðŒÄ‚яo‚·‘O‚ɕύX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - Property TranslateToEnglish::NotEnglishTextPath as string - .DictionaryCsvPath - Property TranslateToEnglish::DictionaryCsvPath as string - CSV Œ`Ž®‚ÌŽ«‘ƒtƒ@ƒCƒ‹‚̃pƒXBnew_TranslateToEnglish ‚ÉŽw’肵‚½ˆø”‚Ì’l‚Æ“¯‚¶‚Å‚·B - - ¨ new_TranslateToEnglish - - - - ”pŽ~ - - - - - - - - ƒTƒ“ƒvƒ‹ - new_TranslateToEnglish - - - cd g_fs.GetParentFolderName( WScript.ScriptFullName ) Dim trs, tr, folder, fnames(), fname, w_, step_path, b - - set_ "folder_jp", "C:\FolderA" - set_ "folder_en", GetFullPath( "..\folder_en", WScript.ScriptFullName ) - - echo_line - echo "ƒRƒƒ“ƒg‚ð‰p–󂵂܂·" - echo "From: "+ GetVar( "folder_jp" ) - echo "To: "+ GetVar( "folder_en" ) - pause - - - '//=== –|–ó CSV ƒtƒ@ƒCƒ‹‚ðW‚ß‚é - Set trs = new ArrayClass - ExpandWildcard GetVar( "folder_en" ) +"\*.trans.csv", F_File or F_SubFolder, folder, fnames - For Each fname in fnames - step_path = fname : CutLastOf step_path, ".trans.csv", Empty - set_ "step", step_path - - trs.Add new_TranslateToEnglish( folder +"\"+ fname ) - Next - - - '//=== –|–ó‚·‚éB ‚½‚¾‚µA–|–óÏ‚݃tƒ@ƒCƒ‹‚ª‚ ‚é‚Æ‚«i‰p•¶ŽšˆÈŠO‚ª–³‚­AV‚µ‚¢‚Æ‚«j‚͏ˆ—‚µ‚È‚¢ - For Each tr In trs.Items - b = MakeRule_compare( tr.EnglishTextPath, tr.NotEnglishTextPath ) - If not b Then b = ( GetLineNumsExistNotEnglighChar( tr.EnglishTextPath, Empty ) > 0 ) - If b Then - Set w_=AppKey.NewWritable( tr.Writable ).Enable() - tr.Translate - End If - Next - - - - %folder_jp%\%step%, %folder_en%\%step%“ú–{Œê, Japanese - - –|–óƒtƒ@ƒCƒ‹ *.trans.csv ‚ðA•ÏŠ·‘Ώۂ̃tƒHƒ‹ƒ_[‚Æ“¯‚¶\¬‚Å”z’u‚µ‚āA–|–󂵂܂·B - –|–óƒtƒ@ƒCƒ‹ *.trans.csv - - - ”pŽ~ - - - - - - - - GetLineNumsExistNotEnglighChar - - - Function GetLineNumsExistNotEnglighChar( Path as string, out_LineNums as Array of integer ) as integer - - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚Ì’†‚ɁA‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚és”ԍ†‚Ì”z—ñ‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - Path - out_LineNums - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚̃pƒX - io—́j ‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚és”ԍ†‚Ì”z—ñAEmpty Žw’è‰Â - - - ToolsLib.vbs - - ƒ‚ƒWƒ…[ƒ‹Eƒtƒ@ƒCƒ‹F - ŠÖ˜A - - ¨ LenK - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - •Ô‚è’l - ‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚és” - - - Set tr = new_TranslateToEnglish( "Text1.txt.trans.csv" )If GetLineNumsExistNotEnglighChar( tr.EnglishTextPath, Empty ) > 0 Then ... - - - - GetLineNumsExistNotEnglighChar "Text1.txt", line_nums '//[out] line_numsFor Each i In line_nums - echo i - Next - - “ú–{Œêi•¶ŽšƒR[ƒh256ˆÈãj‚ð 2•¶Žš‚Æ‚µ‚Ä•¶Žš”‚ð•Ô‚µ‚Ü‚·B - - ¨ CheckEnglishOnly - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - - - - - CheckEnglishOnly - - - Function CheckEnglishOnly( CheckFolderPath as string, SettingPath as string ) as ArrayClass of CheckEnglishOnlyFound - - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚Ì’†‚ɁA‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹‚ðˆê——‚µ‚Ü‚·B - yˆø”z - CheckFolderPath - SettingPath - ’²‚ׂéƒtƒHƒ‹ƒ_‚̃pƒX - Ý’èƒtƒ@ƒCƒ‹‚̃pƒXB‚Ü‚½‚Í Empty - - - ToolsLib.vbs - - ƒ‚ƒWƒ…[ƒ‹Eƒtƒ@ƒCƒ‹F - •Ô‚è’l - ‰p•¶ŽšˆÈŠO‚Ì•¶Žš‚ªŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹‚̏î•ñ - - - Set founds = CheckEnglishOnly( "FolderA", "SettingForCheckEnglish.ini" ) - For Each file In founds.Items - For Each found In file.NotEnglishItems.Items - echo file.Path +"("& found.LineNum &"): "+ found.NotEnglishText - Next - Next - - If founds.Count >= 1 Then Error - - ƒeƒXƒg - - ¨ CheckEnglishOnly (exeƒtƒ@ƒCƒ‹) - - ŽÀsƒtƒ@ƒCƒ‹”ŁAÝ’èƒtƒ@ƒCƒ‹‚Ì—á - ŠÖ˜A - - ¨ GetLineNumsExistNotEnglighChar - - ŠÈˆÕ”Å - scriptlib ƒtƒHƒ‹ƒ_[‚ðƒ`ƒFƒbƒN‚·‚é - - ¨ 3.CheckNotEnglish ƒtƒHƒ‹ƒ_[ - - - ¨ T_CheckEnglishOnly.vbs # [T_CheckEnglishOnly] - - - ¨ TranslateTest - - ƒ\[ƒX - - ¨ CheckEnglishOnly ƒRƒ}ƒ“ƒh - - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg”Å -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs # [CheckEnglishOnly] - - Ý’èƒtƒ@ƒCƒ‹‚ɉº‹L‚ª‹Lq‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́Aã‹L‚Ì CheckEnglishOnly ŠÖ”ŒÄ‚яo‚µ‚ŃGƒ‰[‚É‚È‚èA‘±‚«‚ðŽÀs‚µ‚Ü‚¹‚ñB - - - [CheckEnglishOnlyVbs]IsRaiseError = False - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - - - - - MakeSettingForCheckEnglish - - - MakeSettingForCheckEnglish "SettingForCheckEnglish.ini", Array( "Sample.trans" ) - - - - Sub MakeSettingForCheckEnglish( CheckEnglishOnlyFilePath as string, TranslateFilePaths as array of string ) - - ‚̑ΏۊO‚Æ‚È‚éƒtƒ@ƒCƒ‹‚̈ꗗ‚ð–|–óƒtƒ@ƒCƒ‹(*.trans)‚©‚çì¬‚µ‚Ü‚·B - yˆø”z - CheckEnglishOnlyFilePath - TranslateFilePaths - ƒtƒ@ƒCƒ‹‚̈ꗗ‚ª‘‚©‚ê‚éo—̓tƒ@ƒCƒ‹‚̃pƒX - –|–óƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ - ŠÖ˜A - ƒeƒXƒg -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolLib.vbs # [MakeSettingForCheckEnglish] - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - CheckEnglishOnly - - - ¨ T_CheckEnglishOnly.vbs # [T_MakeSettingForCheckEnglish] - - - ¨ Translate - - - ¨ CheckEnglishOnly - - - - [CheckEnglishOnlyExe] - ;// From "sample.trans" file - ExceptFile = Sample1.txt - ExceptFile = ..\Sample2.txt - - - - <?xml version="1.0" encoding="UTF-16"?><Translate> - <File>Sample1.txt</File> - <File>..\Sample2.txt</File> - <T><JP>“ú–{Œê</JP><EN>Japanese</EN></T> - <T><JP>‰pŒê</JP><EN>English</EN></T> - </Translate> - - - –|–óƒtƒ@ƒCƒ‹ - - - CheckEnglishOnly ‚̐ݒèƒtƒ@ƒCƒ‹ - - VBScript - - - - - - - - - - - - ConvertBinaryEmulated - - - Dim zip1, sub_fo1, step_paths, step_path, target_root, work_root - '//=== convert binary file emulated - zip1 = work_root +"\converted_files" - unzip "converted_files.zip", zip1, Empty - - sub_fo1 = "target" - step_paths = Array( sub_fo1+"\file1.bin", sub_fo1+"\file2.bin" ) - For Each step_path In step_paths - ConvertBinaryEmulated target_root +"\"+ step_path, Empty, False, _ - zip1+"\src\"+step_path, zip1+"\dst\"+step_path - Next - del zip1 - - - - ‘‚«‚©‚¯ - - - (src) - - - - - - - - ‚»‚Ì‘¼ - - ¨ ŠJ”­ƒTƒ|[ƒgƒc[ƒ‹ - - - PartRep - - - - - ¨ ReplaceSymbolsClass - - - ¨ % ‚ðŽg‚Á‚½•ÏŠ·Ž® - - - ¨ OpenForReplaceXML - - - ¨ ReplaceRange (ReplaceTextFile1) - - Žw’è‚̃^ƒO‚ň͂܂ꂽƒeƒLƒXƒg‚ð’u‚«Š·‚¦‚Ü‚· - •¡”‚̃tƒ@ƒCƒ‹‚Ì’†‚Ì•¡”‚Ì’PŒêi•¶Žš—ñj‚ðˆê“x‚É’u‚«Š·‚¦‚Ü‚·B - - ¨ ConvertToFullPath - - ‹ŒŽd—l - ConvertToAbsPath - - - - - - - ƒeƒ“ƒ|ƒ‰ƒŠ ƒtƒHƒ‹ƒ_[ - - GetTempPath ŠÖ” - - vbslib ‚̃eƒ“ƒ|ƒ‰ƒŠ ƒtƒHƒ‹ƒ_[‚̏ꏊ‚Ì—áF (Windows Vista/7 ‚Ì‚Æ‚«) - - - C:\Users\user1\AppData\Local\Temp\Report - - vbslib ‚ðŽg‚¤‚ƁAPC ‚Ì“à‘Ÿ HDD iOS‚ªŽw’è‚·‚éƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚Ì’†‚Ì Report ƒtƒHƒ‹ƒ_j‚ɁAˆêŽžƒtƒ@ƒCƒ‹‚ðì¬‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - PC‚ðŽØ‚è‚Ä‚¢‚é‚Æ‚«‚͏î•ñ˜R‚¦‚¢‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - Setting_getTemp - - ƒeƒ“ƒ|ƒ‰ƒŠ ƒtƒHƒ‹ƒ_[‚̐ݒè‚́A - ŠÖ”‚ðì¬‚·‚邱‚ƂŕύX‚Å‚«‚Ü‚·B - ƒeƒ“ƒ|ƒ‰ƒŠ ƒtƒHƒ‹ƒ_[‚ðíœ‚·‚é‚Æ‚«‚́A - ƒSƒ~” ‚É‚àˆêŽžƒtƒ@ƒCƒ‹‚ªŠi”[‚³‚ê‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - - ¨ SafeFileUpdate - - - ¨ DelTemp - - ‚²‚Ý” ‚ð‹ó‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - C:\Documents and Settings\user1\Local Settings\Temp\Report - - ã‹LƒtƒHƒ‹ƒ_[‚ɁA“ú•t‚ð•\‚·ƒtƒHƒ‹ƒ_[‚ðì¬‚µA‚Q“ú‘O‚̃tƒHƒ‹ƒ_[‚Í - ‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚ɍ폜‚³‚ê‚Ü‚·B - %USERPROFILE%\AppData\Local\Temp\Report - - - - - - - GetTempPath - - - Function GetTempPath( BasePath as string ) as string - - ‚Ì’†‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - - - Dim f, path Dim c : Set c = g_VBS_Lib - - path = GetTempPath( "DataA_*.xml" ) - Set f = OpenForWrite( path, c.Unicode ) - f.WriteLine "<sample/>" - f = Empty - start path - - ƒTƒ“ƒvƒ‹F - ƒTƒ“ƒvƒ‹Eƒtƒ@ƒCƒ‹ƒpƒXF (Windows Vista ‚Ì‚Æ‚«) - - - C:\Users\user1\AppData\Local\Temp\Report\090401\DataA_090401_1300_1.xml - - BasePath ˆø”‚́Aƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚©‚ç‚Ì‘Š‘΃pƒX‚É‚È‚èA* ‚̓^ƒCƒ€ƒXƒ^ƒ“ƒv‚ÆŽ¯•Ê”ԍ†‚É‚È‚è‚Ü‚·B ? ‚ÍŽ¯•Ê”ԍ†‚É‚È‚è‚Ü‚·B ‘¶Ý‚·‚éƒtƒ@ƒCƒ‹ƒpƒX‚É‚È‚ç‚È‚¢ - ‚悤‚É’²®‚³‚êAí‚ɐV‚µ‚¢ƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B “¯Žž‚É•Û‘¶ŠúŠÔ‚ð’´‚¦‚½ƒtƒ@ƒCƒ‹ - ‚âƒtƒHƒ‹ƒ_‚ðíœ‚µ‚Ü‚·Bi‹N“®‚µ‚½ƒvƒƒZƒX‚ŏ‰‚߂ăeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚Ƀtƒ@ƒCƒ‹ - ‚ðì¬‚·‚é‚Æ‚«A‚¨‚æ‚Ñ g_TempPath= Empty ‚Ì‚Æ‚«‚̂݁j - DataA_*.xml - c.Unicode - <sample/> - - (src) - - - - start CreateFile( "*.xml", obj.xml ) - - GetTempPath - ƒTƒ“ƒvƒ‹F obj ‚Ì xml ƒvƒƒpƒeƒB‚ðAƒeƒ“ƒ|ƒ‰ƒŠƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚ÄŠJ‚«‚Ü‚·B - - xml - - - start - - - CreateFile - - obj - - CreateFile - - ‚ɃƒCƒ‹ƒhƒJ[ƒh‚ðŽw’è‚·‚ê‚΁Aƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚Ƀtƒ@ƒCƒ‹‚ðì‚é - ‚̂ŁAŠÈ’P‚ɃeƒLƒXƒgƒtƒ@ƒCƒ‹‚â XML ƒtƒ@ƒCƒ‹‚ðì¬‚Å‚«‚Ü‚·B - ƒtƒ@ƒCƒ‹ƒpƒX‚́AŠÂ‹«•Ï” TEMP ‚Ì’l‚ðŽg‚Á‚Ä‚¢‚Ü‚·B ã’i‚Í * A‰º’i‚Í ? ‚ðŽg‚Á‚½‚Æ‚«B - - - C:\Users\user1\AppData\Local\Temp\Report\090401\DataA_1.xml - - yˆø”z - BasePath - •Ô‚è’l - ƒtƒ@ƒCƒ‹–¼‚̃eƒ“ƒvƒŒ[ƒgB * ‚Ü‚½‚Í ? ‚ðŠÜ‚ñ‚Å‚à‚æ‚¢ - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚Ì’†‚̃tƒ@ƒCƒ‹ƒpƒX - BasePath ‚ɁA* ‚Ü‚½‚Í ? ‚ðŠÜ‚ñ‚Å‚¢‚éê‡‚́Aƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ª‘¶Ý‚µ‚È‚¢ƒpƒX‚É•ÏŠ·‚µ‚Ä•Ô‚µ‚Ü‚·B - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_ - - –{ŠÖ”‚ðŒÄ‚яo‚·‚ƁAƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚ɍ쐬‚µ‚½‚Q“úˆÈã‘O‚̃tƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B ‚±‚Ì‚Æ‚«Aƒtƒ@ƒCƒ‹‚ªƒƒbƒN‚³‚ê‚Ä‚¢‚é‚ƍĎŽs‚ðŒJ‚è•Ô‚µ‚āAÅI“I‚É - ƒGƒ‰[‚É‚È‚è‚Ü‚·B - - ¨ FileSystemObject::GetTempName - - ŠÖ˜A - - - - - - - ƒtƒ@ƒCƒ‹–¼AƒpƒX - - ¨ GetFullPath - - - ¨ GetStepPath - - - ¨ GetParentFullPath - - - ¨ IsFullPath - - - ¨ AddLastOfFileName - - - ¨ DesktopPath - - ƒfƒXƒNƒgƒbƒv‚̃tƒ‹EƒpƒX‚ð•Ô‚·B - ƒtƒ‹EƒpƒX‚ð•Ô‚·B - ‘Š‘΃pƒX‚ð•Ô‚·B - eƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX‚ð•Ô‚·B - ƒtƒ‹EƒpƒX‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹ƒpƒX‚̍Ō㕶Žš—ñ‚ð’ljÁ‚µ‚Ü‚·B - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (Windows) - - ŽQl - ŠÖ˜A - - ¨ •¶Žš—ñ - - - ¨ ƒpƒX‚ɃsƒŠƒIƒh‚ð‚R‚•À‚ׂ½ê‡ (vbslib) - - - ¨ ƒTƒuEƒtƒHƒ‹ƒ_[‹L† (vbslib) - - - ¨ PathDictionaryClass - - ƒpƒX‚ÌŽ«‘iW‡j - - ¨ new_PathDictionaryClass_fromXML - - - ¨ FilePathClass - - - - - - - - DesktopPath - - - Function DesktopPath() as string - - ƒfƒXƒNƒgƒbƒv‚̃tƒ‹EƒpƒX‚ð•Ô‚µ‚Ü‚·B - - (src) - - - - - - - - GetFullPath - - - Function GetFullPath( StepPath as string, BasePath as string ) as string - - ƒtƒ‹EƒpƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - StepPath - BasePath - •Ô‚è’l‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX - Šî€ƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒXAEmpty ‚ŃJƒŒƒ“ƒgƒtƒHƒ‹ƒ_ - •Ô‚è’l - StepPath ‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚̃tƒ‹EƒpƒX - - ¨ ƒtƒ@ƒCƒ‹–¼AƒpƒX (VBS) - - g_fs.GetAbsolutePathName ‚́AStepPath ‚É * ‚ª“ü‚Á‚Ä‚¢‚é‚ƁAƒsƒŠƒIƒh‚É’u‚«Š·‚í‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·‚ªAGetFullPath ‚Å‚Í”­¶‚µ‚Ü‚¹‚ñB - - - path2 = GetFullPath( Path, BaseFolderPath ) - - - ¨ ConvertToFullPath - - - - path2 = GetFullPath( "..\"+ Path, BaseFilePath ) - - - - path2 = GetFullPath( Path, GetParentFullPath( BaseFilePath ) ) - - BasePath ‚ðƒtƒ@ƒCƒ‹ƒpƒX‚É‚µ‚½‚Æ‚«‚́AStepPath ‚ð‚P‚e‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - GetFullPath( "file.txt", "C:\folder1" ) =GetFullPath( "..\file.txt", "C:\folder1\file2.txt" ) - - ƒeƒXƒg - ŠÖ˜A - - ¨ T_Path.vbs # [T_GetFullPath] - - eƒtƒHƒ‹ƒ_[A‚Ü‚½‚́A‚»‚̐eƒtƒHƒ‹ƒ_[ c ‚Æ’T‚·‚Æ‚«‚́A"..." ‚ƃsƒŠƒIƒh‚ð‚R‚•À‚ׂĂ­‚¾‚³‚¢B ‚½‚¾‚µAƒXƒNƒŠƒvƒg‚ð‹Lq‚Å‚«‚é‚Æ‚«‚́A - - - GetFullPath( "...\file.txt", "C:\folder1\sub" ) - - ã‹L‚Ì•Ô‚è’l‚́AC:\folder1\sub\file.txt AC:\folder1\file.txt AC:\file.txt‚Ì‚¢‚¸‚ê‚©‚É‚È‚è‚Ü‚·B ‚Ü‚½‚́AE_PathNotFound ƒGƒ‰[‚É‚È‚è‚Ü‚·B - - SearchParent - - ‚ðŒÄ‚Ô•û‚ª‰Â“ǐ«‚ª‚‚Ü‚è‚Ü‚·B - ƒpƒX‚ɃsƒŠƒIƒh‚ð‚R‚•À‚ׂ½ê‡ (vbslib) - ƒTƒ“ƒvƒ‹ - - ¨ GetCaseSensitiveFullPath - - ŽQl - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ vbslib_mini.vbs - - - ¨ GetPathWithSeparator - - ‘啶Žš¬•¶Žš‚ðƒtƒ@ƒCƒ‹–¼‚ɍ‡‚킹‚Ü‚· - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚ðƒtƒ‹ƒpƒX‚É‚µ‚Ü‚· - Path ‚̍Ōã‚ð‹æØ‚è‹L†‚É‚µ‚Ü‚· - - ¨ GetAbsolutePathName - - Scripting.FileSystemObject ‚É‚æ‚éƒtƒ‹EƒpƒX - - - IsEmpty( GetFullPath( Empty, BaseFolderPath ) - - StepPath = Empty ‚È‚çAEmpty ‚ª•Ô‚è‚Ü‚·B - - - - - - - GetStepPath - - - Function GetStepPath( FullPath as string, BasePath as string ) as string - - ‘Š‘΃pƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - FullPath - BasePath - •Ô‚è’l‚ªŽw‚·ƒtƒ@ƒCƒ‹‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚̃tƒ‹EƒpƒX - Šî€ƒtƒHƒ‹ƒ_[‚̃tƒ‹EƒpƒX - •Ô‚è’l - FullPath ˆø”‚ªŽw‚·ƒtƒ@ƒCƒ‹‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX - ƒeƒXƒg - - ¨ T_Path.vbs - - - ¨ vbslib.vbs - - ƒ\[ƒX - T_GetStepPath - - - - - - - NormalizePath - - - Assert NormalizePath( "C:\folder\..\a" ) = "C:\a"Assert NormalizePath( "C:\..\a" ) = "C:\..\a" - - - - Function NormalizePath( Path as string ) as string - - ƒtƒ@ƒCƒ‹EƒpƒX‚Ì ".." ‚â "." ‚ð‚È‚­‚µ‚Ü‚·B - yˆø”z - Path - •Ô‚è’l - •ÏŠ·‚·‚é‘O‚̃tƒ@ƒCƒ‹EƒpƒX - •ÏŠ·‚µ‚½Œã‚̃tƒ@ƒCƒ‹EƒpƒX - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_Path.vbs - - ƒeƒXƒg - T_NormalizePath - - - Assert NormalizePath( "C:\folder\.\a" ) = "C:\folder\a" - - - - Assert NormalizePath( "C:\folder\a\" ) = "C:\folder\a"Assert NormalizePath( "C:\" ) = "C:\" - Assert NormalizePath( "http://example.com/folder/" ) = "http://example.com/folder/" - - ––”ö‚Ì \ ‚̓Jƒbƒg‚³‚ê‚Ü‚·‚ªA/ ‚̓Jƒbƒg‚³‚ê‚Ü‚¹‚ñB - - - - - - - GetCaseSensitiveFullPath - - - Function GetCaseSensitiveFullPath( StepPath as string ) as string - - ƒtƒ‹EƒpƒX‚ð•Ô‚µ‚Ü‚·B ‘啶Žš¬•¶Žš‚̓tƒ@ƒCƒ‹–¼‚ɍ‡‚킹‚Ü‚·B - yˆø”z - StepPath - •Ô‚è’l‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒXA‚Ü‚½‚́Aƒtƒ‹ƒpƒX - ‘啶Žš¬•¶Žš‚ðƒtƒ@ƒCƒ‹–¼‚ɍ‡‚킹‚½ƒtƒ‹EƒpƒX - •Ô‚è’l - - - path = GetCaseSensitiveFullPath( "file.txt" ) Assert path = "C:\Folder\File.txt" - - ƒTƒ“ƒvƒ‹ - file.txt ‚ÉŠY“–‚·‚éƒtƒ@ƒCƒ‹‚̃tƒ‹ƒpƒX‚ªAC:\Folder\File.txt ‚Ì‚Æ‚«B - –{ŠÖ”‚́Aƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚ɃAƒNƒZƒX‚µ‚āAƒtƒ@ƒCƒ‹–¼‚𒲂ׂ܂·Bƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AƒJƒŒƒ“ƒg ƒtƒHƒ‹ƒ_[‚ðŠî€‚Æ‚µ‚½‘Š‘΃pƒX‚Æ‚µ‚āA - ƒtƒ‹ƒpƒX‚ð•Ô‚µ‚Ü‚·B - ƒeƒXƒg - ŠÖ˜A - - ¨ T_Path.vbs # [T_GetFullPath] - - - ¨ GetFullPath - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - IsFullPath - - - Function IsFullPath( Path as string ) as boolen - - Path ‚ÉŽw’肵‚½ƒpƒX‚ªƒtƒ‹EƒpƒX‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_Path.vbs # [T_IsFullPath] - - - - - - - - GetRootSeparatorPosition - - - Function GetRootSeparatorPosition( Path as string ) as integer - - Path ‚É“ü‚Á‚Ä‚¢‚郋[ƒgEƒtƒHƒ‹ƒ_[‚̈ʒu‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - ƒtƒ@ƒCƒ‹‚Ȃǂ̃pƒX - •Ô‚è’l - ƒ‹[ƒgEƒtƒHƒ‹ƒ_[‚̈ʒuA0=‘Š‘΃pƒX - - - Assert GetRootSeparatorPosition( "C:\File" ) = 3Assert GetRootSeparatorPosition( "\File" ) = 1 - Assert GetRootSeparatorPosition( "File" ) = 0 - Assert GetRootSeparatorPosition( "..\File" ) = 0 - Assert GetRootSeparatorPosition( "\\PC01\Folder\File" ) = 14 - Assert GetRootSeparatorPosition( "http://www.example.com/" ) = 23 - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_Path.vbs - - ƒeƒXƒg - T_GetRootSeparatorPosition - - - - - - - GetFilePathSeparator - - - Function GetFilePathSeparator( Path as string ) as string - - Path ‚É“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - ƒtƒ@ƒCƒ‹‚Ȃǂ̃pƒX - •Ô‚è’l - ƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L† - - - Assert GetFilePathSeparator( "http://www.example.com/" ) = "/" - - ƒTƒ“ƒvƒ‹ - ƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚ª–³‚¢‚Æ‚«‚́A"\" ‚ð•Ô‚µ‚Ü‚·B - Å‚à¶‚É‚ ‚é / ‚Ü‚½‚Í \ ‚ªA‚Ç‚¿‚ç‚Ì•¶Žš‚©‚ð•Ô‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - GetPathWithSeparator - - ¨ AddIfNotExist - - ŠÖ˜A - - - Function GetPathWithSeparator( Path as string ) as string - - Path ‚̍Ōã‚ɁAƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚ª‚È‚¯‚ê‚ΒljÁ‚µ‚Ü‚·B - yˆø”z - Path - ƒtƒ@ƒCƒ‹‚Ȃǂ̃pƒX - •Ô‚è’l - ƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚ªÅŒã‚É•t‚¢‚½ƒpƒX - ƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚́APath ‚ɉž‚¶‚āA"\" ‚Ü‚½‚Í "/" ‚ª’ljÁ‚³‚ê‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_Path.vbs - - ƒeƒXƒg - T_GetPathWithSeparator - ƒTƒ“ƒvƒ‹ - - - Assert GetPathWithSeparator( "C:\BaseFolder" ) = "C:\BaseFolder\"Assert GetPathWithSeparator( "C:\" ) = "C:\" - Assert GetPathWithSeparator( "folder" ) = "folder\" - Assert GetPathWithSeparator( "folder/sub" ) = "folder/sub/" - Assert GetPathWithSeparator( "http://www.example.com/fo" ) = "http://www.example.com/fo/" - Assert GetPathWithSeparator( "http://www.example.com/" ) = "http://www.example.com/" - - - ¨ CutLastOf - - - ¨ GetFullPath - - æ“ª‚É‚È‚¯‚ê‚ΒljÁ‚µ‚Ü‚· - ––”ö‚É‚ ‚ê‚΃Jƒbƒg‚µ‚Ü‚· - ƒtƒ‹ƒpƒX‚É•ÏŠ·‚µ‚Ü‚· - - - - - - - get_PathNameRegularExpression - - - Function get_PathNameRegularExpression() as VBScript.RegExp - - ƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚Å‹æØ‚鐳‹K•\Œ»ƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ³‹K•\Œ»ƒIƒuƒWƒFƒNƒg - ƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚́A"\" ‚Ü‚½‚Í "/" ‚Å‚·B - ƒTƒ“ƒvƒ‹ - - - Set path_names = get_PathNameRegularExpression().Execute( _ "sub\a.txt" ) - For Each name In path_names - WScript.echo "FirstIndex = " & name.FirstIndex & _ - ", Length = " & name.Length & ", Value = " & name.Value - Next - - - - FirstIndex = 0, Length = 4, Value = sub\FirstIndex = 4, Length = 5, Value = a.txt - - T_PathNameRegularExpression - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Wildcard.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒTƒ“ƒvƒ‹ - - ¨ VBScript.RegExp - - "sub\a.txt" - ƒpƒXiŒŸõ‘Ώہj - - ‹æØ‚Á‚½ŒãiŒŸõŒ‹‰Êj - "sub\", "a.txt" - "sub2/a.txt\" - "sub2/", "a.txt\" - "a.txt" - "a.txt" - "" - iŒŸõŒ‹‰Ê‚OŒj - "\a.txt" - "\", "a.txt" - "\\a.txt" - "\", "\", "a.txt" - "http://www.example.com/~user/" - "http:/", "/", "www.example.com/", "~user/" - - ¨ Split - - ŠÖ˜A - - - - - - - SplitPathToSubFolderSign - - - Sub SplitPathToSubFolderSign( in_out_Path as string, out_SubFolderSign as string, out_IsFolder as boolean, out_Separator as string ) - - ƒpƒX‚©‚çAƒTƒu ƒtƒHƒ‹ƒ_[‹L†‚𕪗£‚µ‚Ü‚·B - yˆø”z - in_out_Path - ƒtƒ@ƒCƒ‹‚Ȃǂ̃pƒX i“ü—́j‹L†‚ ‚èAio—́j‹L†‚È‚µ - out_SubFolderSign - io—́j ƒTƒu ƒtƒHƒ‹ƒ_[‹L†A"." ‚© "*" ‚© "" - - (src) - - ƒTƒu ƒtƒHƒ‹ƒ_[‹L† - ƒpƒX‚̍Ōã‚Ì \ ‚̍¶‚É * ‚Ü‚½‚Í . ‚ðŽw’è‚·‚邱‚ƂŁAƒTƒu ƒtƒHƒ‹ƒ_[‚ðŒŸõ‚·‚é‚©‚Ç‚¤‚©‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - "*\file.txt" - c ƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚Ä file.txt ‚ðŒŸõ‚·‚é - ".\file.txt" - c ƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚È‚¢‚Å file.txt ‚ðŒŸõ‚·‚é - "fo\*\file.txt" - "fo\.\file.txt" - c fo ƒtƒHƒ‹ƒ_[‚É‚ ‚é file.txt ‚ðŒŸõ‚·‚é - c ƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚Ä fo ƒtƒHƒ‹ƒ_[‚Ì’†‚Ì file.txt ‚ðŒŸõ‚·‚é - iŽQlj zsh ‚ł́A** ‚ªƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ß‚ÄŒŸõ‚µ‚Ü‚·B - •â‘« - ŽŸ‚̊֐”‚ɁAƒTƒu ƒtƒHƒ‹ƒ_[‹L†‚ªŽg‚¦‚Ü‚·B - - ¨ ArrayFromWildcard - - - ¨ ExpandWildcard - - ƒTƒ“ƒvƒ‹ - - - path = "C:\Folder\.\log.txt"SplitPathToSubFolderSign path, sign, is_folder, separator - Assert path = "C:\Folder\log.txt" - Assert sign = "." - Assert is_folder = False - Assert separator = "\" - - path i“ü—́j - path io—́j - ƒTƒu ƒtƒHƒ‹ƒ_[‹L† - - "C:\Folder\.\log.txt" - "C:\Folder\log.txt" - "." - "C:\Folder\*\log.txt" - "*" - "C:\Folder\log.txt" - "C:\Folder\log.txt" - "" - "C:\Folder\log.txt" - "C:\Folder" - "C:\*\Folder\" - "*" - "" - "C:\Folder\*" - "C:\Folder\*\" - "C:\Folder" - "" - "C:\Folder\.\" - "." - "C:\Folder" - "C:\.\Folder\" - ƒTƒ“ƒvƒ‹ - io—́j ƒtƒHƒ‹ƒ_[‹æØ‚蕶Žš - out_Separator - io—́j ƒtƒHƒ‹ƒ_[Žw’è‚©‚Ç‚¤‚© - out_IsFolder - ƒtƒHƒ‹ƒ_[Žw’è‚©‚Ç‚¤‚© - True - True - True - True - False - False - False - ƒpƒX‚̍Ōオ \ ‚Ì‚Æ‚«‚́AƒtƒHƒ‹ƒ_[iƒtƒ@ƒCƒ‹ˆÈŠOj‚ðŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B ‚‚܂èA - False - False - "C:\Folder\.\*" - "." - "C:\Folder\*" - "C:\Folder\*" - "*" - "C:\Folder\*\*" - False - "C:\Folder\*.txt" - "*" - "C:\Folder\*\*.txt" - "" - "C:\Folder\*.txt" - False - "C:\Folder\*.txt" - False - "C:\Folder\*" - "" - "C:\Folder\*" - True - True - "C:\Folder\.\*\" - "." - "C:\Folder\*" - "C:\Folder\*" - "*" - "C:\Folder\*\*\" - - ¨ new_PathDictionaryClass_fromXML - - - ¨ PathDictionaryClass - - - ¨ T_Path.vbs - - ƒeƒXƒg - T_SplitPathToSubFolderSign - c ƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚߂āAƒtƒHƒ‹ƒ_[–¼ folder ‚ðŒŸõ‚·‚é - "*\folder\" - \ - *\ - .\ - .\ - *\ - ƒtƒHƒ‹ƒ_[‚Ƀ}ƒbƒ`‚³‚¹‚½‚¢‚Æ‚«‚́AÅŒã‚É \ ‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - iƒƒ‚j \ ‚ð•t‚¯‚闝—R‚́AGroup* ‚̂悤‚ɍŌã‚ɃƒCƒ‹ƒhƒJ[ƒh * ‚ª‚ ‚é‚Æ‚«Aƒtƒ@ƒCƒ‹‚ƃtƒHƒ‹ƒ_[‚Ì—¼•û‚Ƀqƒbƒg‚µ‚Ä‚µ‚Ü‚¤‚ƈµ‚¢‚ª“‚­‚Ȃ邽‚ß‚Å‚·B - - ¨ vbslib ‚̃ƒCƒ‹ƒhƒJ[ƒh - - ŠÖ˜A - - - - - - - GetParentFullPath - - - Function GetParentFullPath( Path as string ) as string - - Path ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_‚̐eƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - Šî€ƒpƒXi‘Š‘΃pƒX‚́AƒJƒŒƒ“ƒg‚©‚ç‚Ì‘Š‘΁j - •Ô‚è’l - eƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX - - (src) - - - - cd "C:\Folder"Assert GetParentFullPath( "sub\file.txt" ) = "C:\Folder\sub" - - ŠÖ˜A - - ¨ SearchParent - - - ¨ FileSystemObject::GetParentFolderName - - ŽQl - ƒTƒ“ƒvƒ‹ - - - - - - - ReplaceParentPath - - - Assert ReplaceParentPath( "..\..\folder", "..", "_parent" ) = "_parent\_parent\folder" - - - - Function ReplaceParentPath( Path as string, FromSign as string, ToSign as string ) as string - - eƒtƒHƒ‹ƒ_[‚Ì‹L†‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - Path - FromSign - ’u‚«Š·‚¦‚é‘O‚̃pƒX - ’u‚«Š·‚¦‚é‘O‚̐eƒtƒHƒ‹ƒ_[‚Ì‹L† - ToSign - ’u‚«Š·‚¦‚½Œã‚̐eƒtƒHƒ‹ƒ_[‚Ì‹L† - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - ’u‚«Š·‚¦‚½Œã‚̃pƒX - •Ô‚è’l - - ¨ vbslib.vbs - - - ¨ T_Path.vbs - - T_ReplaceParentPath - eƒtƒHƒ‹ƒ_[‚ɃAƒNƒZƒX‚³‚¹‚È‚¢‚Æ‚«‚ÉŽg—p‚µ‚Ü‚·B•Ô‚è’l‚ɁAFromSign ‚Ì•¶Žš—ñ‚́A‘S‚­ŠÜ‚Ü‚ê‚È‚­‚È‚è‚Ü‚·B - “à•”‚ŁA - - NormalizePath - - ‚ªŒÄ‚΂ê‚Ü‚·B - ƒL[ƒ[ƒhF - _parent - ŠÖ˜A - - ¨ ReplaceRootPath - - eƒtƒHƒ‹ƒ_[‚Ì‹L†‚ð–ß‚·‚Æ‚«‚É‚à ReplaceParentPath ŠÖ”‚ªŽg‚¦‚Ü‚·B - - - - - - - GetCommonParentFolderPath - ƒeƒXƒg - - ¨ T_Path.vbs - - - ¨ vbslib.vbs - - ƒ\[ƒX - - - Assert GetCommonParentFolderPath( "C:\A\B\File.txt", "C:\A\B\File.txt" ) = "C:\A\B\"Assert GetCommonParentFolderPath( "C:\A\File.txt", "D:\A\File.txt" ) = "" - Assert GetCommonParentFolderPath( "http://example.com/i", "http://example.com/i" ) = _ - "http://example.com/" - - - - Function GetCommonParentFolderPath( in_PathA as string, in_PathB as string ) - - ‹¤’Ê‚·‚éeƒtƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_PathA - in_PathB - ƒpƒXA - ƒpƒXB - •Ô‚è’l - ƒpƒXA ‚Æ ƒpƒXB ‚É‹¤’Ê‚·‚éeƒtƒHƒ‹ƒ_[‚̃pƒX - ƒTƒ“ƒvƒ‹ - T_GetCommonParentFolderPath - ‹¤’Ê‚·‚éeƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚Æ‚«‚́AÅŒã‚ªƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚É‚È‚è‚Ü‚·B•Ô‚·’l‚̍Ōã‚ðƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚Å‚Í‚È‚¢‚悤‚É‚µ‚½‚¢‚Æ‚« - ‹¤’Ê‚·‚éeƒtƒHƒ‹ƒ_[‚ª‚È‚¢‚Æ‚«‚́A"" ‚ª•Ô‚è‚Ü‚·B - ƒtƒHƒ‹ƒ_[‚Ì‚Ì‹æØ‚è‹L†‚́A\ ‚Ü‚½‚Í / ‚Ì‚Ç‚¿‚ç‚Å‚à\‚¢‚Ü‚¹‚ñB - - - - - - - GetCommonSubPath - - - Function GetCommonSubPath( in_PathA as string, in_PathB as string, in_FilePath as string ) - - ‹¤’Ê‚·‚éƒTƒu ƒtƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_PathA - in_PathB - ƒpƒXA - ƒpƒXB - in_FilePath - ƒpƒX‚ªƒtƒ@ƒCƒ‹–¼‚©‚Ç‚¤‚©B False=ƒtƒHƒ‹ƒ_[–¼ - ƒpƒXA ‚Æ ƒpƒXB ‚É‹¤’Ê‚·‚éƒTƒu ƒtƒHƒ‹ƒ_[‚̃pƒX - •Ô‚è’l - - - Assert GetCommonSubPath( "C:\A\B\File.txt", "C:\A\B\File.txt", True ) = "C:\A\B"Assert GetCommonSubPath( "C:\A\C\File.txt", "C:\B\C\File.txt", True ) = "C" - Assert GetCommonSubPath( "C:\A\C\File.txt", "C:\B\D\File.txt", True ) = "" - Assert GetCommonSubPath( "C:\A\B", "C:\A\B", False ) = "C:\A\B" - Assert GetCommonSubPath( "C:\A\C", "C:\B\C", False ) = "C" - Assert GetCommonSubPath( "C:\A\C", "C:\B\D", False ) = "" - Assert GetCommonSubPath( "", "C:\B\D", False ) = "" - - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_Path.vbs - - - ¨ vbslib.vbs - - ƒ\[ƒX - T_GetCommonSubPath - - ¨ GetCommonParentFolderPath - - •Ô‚·’l‚̍Ōã‚ðƒtƒHƒ‹ƒ_[‚Ì‹æØ‚è‹L†‚É‚µ‚½‚¢‚Æ‚« - - - - - - - GetIdentifiableFileNames - - - Function GetIdentifiableFileNames( in_FullPathArray as array of string ) as dictionary of string - - ƒtƒ‹ ƒpƒX‚©‚çAŽ¯•Ê‰Â”\ƒtƒ@ƒCƒ‹–¼‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - in_FullPathArray - ƒtƒ‹ ƒpƒX‚Ì”z—ñ - Ž¯•Ê‰Â”\ƒtƒ@ƒCƒ‹–¼‚ðƒL[‚Æ‚µ‚½Aƒtƒ‹ ƒoƒX‚ÌŽ«‘ - •Ô‚è’l - ƒeƒXƒg - - ¨ T_Path.vbs - - - ¨ vbslib.vbs - - ƒ\[ƒX - T_GetIdentifiableFileNames - “¯‚¶ƒtƒ@ƒCƒ‹–¼‚ª‚È‚¢‚Æ‚«‚́A•Ô‚è’l‚̃L[‚̓tƒ@ƒCƒ‹–¼‚É‚È‚è‚Ü‚·B“¯‚¶ƒtƒ@ƒCƒ‹–¼‚ª‚ ‚é‚Æ‚«‚́A‚»‚̃tƒ@ƒCƒ‹‚̐eƒtƒHƒ‹ƒ_[–¼‚àƒL[‚ÉŠÜ‚Ü‚ê‚Ü‚·B - - - full_paths = Array( _ "C:\Folder\Sub1\FileA.txt", _ - "C:\Folder\Sub2\FileA.txt", _ - "C:\Folder\Sub2\FileB.txt" ) - - Set output = GetIdentifiableFileNames( full_paths ) - - id_file_names = Array( _ - "FileB.txt", _ - "Sub1\FileA.txt", _ - "Sub2\FileA.txt" ) - full_paths = Array( _ - "C:\Folder\Sub2\FileB.txt", _ - "C:\Folder\Sub1\FileA.txt", _ - "C:\Folder\Sub2\FileA.txt" ) - Assert IsSameArray( output.Keys, id_file_names ) - Assert IsSameArray( output.Items, full_paths ) - - ƒTƒ“ƒvƒ‹ - “¯‚¶ƒtƒ‹ ƒpƒX‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚Æ‚«‚́AƒGƒ‰[‚É‚Í‚È‚è‚Ü‚¹‚ñ‚ªAƒtƒ‹ ƒpƒX‚©‚ç•ÏŠ·‚µ‚Ü‚¹‚ñB‚Ü‚½AŽ«‘‚̃L[‚͏d•¡‚Å‚«‚È‚¢‚̂ŁA‚P‚‚ɂ܂Ƃ߂ç‚ê‚Ü‚·B ‚æ‚Á‚āA—v‘f”‚ªŒ¸‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - full_paths = Array( _ "C:\Folder\Sub\File.txt", _ - "C:\Folder\Sub\File.txt" ) - - Set output = GetIdentifiableFileNames( full_paths ) - - id_file_names = Array( _ - "C:\Folder\Sub\File.txt" ) - full_paths_answer = Array( _ - "C:\Folder\Sub\File.txt" ) - Assert IsSameArray( output.Keys, id_file_names ) - Assert IsSameArray( output.Items, full_paths_answer ) - - - - - - - - GetParentFoldersName - - (src) - - - - Function GetParentFoldersName( FilePath as string, Level as integer, SeparatorReplacedStr as Empty or string ) - - FilePath ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚ð Level ŒÂ‚‚Ȃ°‚½‚à‚Ì‚ð•Ô‚µ‚Ü‚·B - yˆø”z - FilePath - Šî€‚Æ‚È‚éƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚̃pƒX - Level - eƒtƒHƒ‹ƒ_‚̌”B e‚Ì•ûŒü‚Ö‚½‚ǂ鐔B ‚PˆÈã - - - cd "C:\Folder"Assert GetParentFoldersName( "sub\file.txt", 1, "/" ) = "sub" - Assert GetParentFoldersName( "sub\file.txt", 2, "/" ) = "Folder/sub" - Assert GetParentFoldersName( "sub\file.txt", 99, "/" ) = "C:/Folder/sub" - - ƒTƒ“ƒvƒ‹ - •¡”‚̐eƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚ð‚‚Ȃ°‚½‚à‚Ì - •Ô‚è’l - ƒtƒHƒ‹ƒ_[‹æØ‚蕶Žš‚ð’u‚«Š·‚¦‚½Œã‚Ì•¶Žš - SeparatorReplacedStr - ƒeƒXƒg - - ¨ T_Path.vbs # [T_GetParentFoldersName] - - Level ‚ª‘å‚«‚·‚¬‚Ä‚àAƒGƒ‰[‚É‚Í‚È‚è‚Ü‚¹‚ñB - Level = 1 ‚È‚çAƒtƒ@ƒCƒ‹‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚ª•Ô‚è‚Ü‚·BLevel = 2 ‚È‚çAƒtƒ@ƒCƒ‹‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚̐eƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚ƁASeparatorReplacedStr - ˆø”‚ƁAƒtƒ@ƒCƒ‹‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚ðŒ‹‡‚µ‚½•¶Žš—ñ‚ª•Ô‚è‚Ü‚· - ŠÖ˜A - - ¨ ReplaceRootPath - - - - - - - - ReplaceRootPath - - - Function ReplaceRootPath( BeforePath as string, BeforeRootFullPath as string, AfterRootFullPath as string, IsReplaceParent as boolean ) - - ƒ‹[ƒgEƒtƒHƒ‹ƒ_[‚ð“ü‚ê‘Ö‚¦‚½‚Æ‚«‚̃tƒ‹ƒpƒX‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - BeforePath - •ÏŠ·‚·‚é‘O‚̃pƒXAƒtƒ‹ƒpƒX ‚Ü‚½‚Í ‘Š‘΃pƒX - BeforeRootFullPath - •ÏŠ·‚·‚é‘O‚̃‹[ƒgEƒtƒHƒ‹ƒ_[‚̃tƒ‹ƒpƒX - ’ʏí TrueAeƒtƒHƒ‹ƒ_[‹L†‚ð "_parent" ‚É’u‚«Š·‚¦‚é‚©‚Ç‚¤‚© - IsReplaceParent - •ÏŠ·‚µ‚½Œã‚̃‹[ƒgEƒtƒHƒ‹ƒ_[‚̃tƒ‹ƒpƒX - AfterRootFullPath - BeforePath ‚ð•ÏŠ·‚µ‚½Œã‚̃tƒ‹ƒpƒX - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - BeforePath - BeforeRootFullPath = "C:\FolderA"AAfterRootFullPath = "C:\FolderB" ‚Ì‚Æ‚«‚̃Tƒ“ƒvƒ‹‚ðŽ¦‚µ‚Ü‚·B - IsReplaceParent - •Ô‚è’l - - "a.txt" - True - "C:\FolderB\a.txt" - "C:\FolderA\a.txt" - "C:\FolderB\a.txt" - True - "C:\FolderB\sub\a.txt" - True - "sub\a.txt" - True - "C:\FolderB\sub\a.txt" - "C:\FolderA\sub\a.txt" - "C:\FolderC\a.txt" - "C:\FolderB\_parent\FolderC\a.txt" - True - True - "C:\FolderB\_parent\FolderC\a.txt" - "..\FolderC\a.txt" - "C:\FolderC\a.txt" - False - False - "C:\FolderC\a.txt" - "C:\FolderC\a.txt" - "..\FolderC\a.txt" - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_Path.vbs - - T_ReplaceRootPath - ƒTƒ“ƒvƒ‹ - - - path = ReplaceRootPath( "a.txt", "C:\FolderA", "C:\FolderB", True )Assert path = "C:\FolderB\a.txt" - - ƒTƒ“ƒvƒ‹ - - - path = GetParentFullPath( ReplaceRootPath( "sub\a.txt", "C:\FolderA", "C:\FolderB", True ) )Assert path = "C:\FolderB\sub" - - BeforePath ˆø”‚ª‘Š‘΃pƒX‚Ì‚Æ‚«‚́A•ÏŠ·‘O‚Ì BasePath ‚̊ƒtƒHƒ‹ƒ_[‚ª BeforeRootFullPath ‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B - ŠÖ˜A - - ¨ GetParentFoldersName - - - ¨ ReplaceParentPath - - IsReplaceParent ˆø”‚ɂ‚¢‚ďڍׂ́A - - ¨ GetInputOutputFilePaths - - "." - True - "C:\FolderB" - - - - - - - SearchParent - - - Function SearchParent( StepPath as string ) as string - - StepPath ‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ðAeƒtƒHƒ‹ƒ_‚ÉŒü‚©‚Á‚Ä’T‚µ‚Ü‚·B - yˆø”z - StepPath - ƒtƒ@ƒCƒ‹–¼A‚Ü‚½‚Í‘Š‘΃pƒX - •Ô‚è’l - Œ©‚‚©‚Á‚½ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX - ƒTƒ“ƒvƒ‹F - - - Set root = LoadXML( SearchParent( "common.xml" ), Empty ) - - - (src) - - - ¨ T_Path.vbs - - ƒeƒXƒg - ..\common.xml ‚È‚Ç‚ðŠJ‚«‚Ü‚· - ŠÖ˜A - - ¨ GetParentFullPath - - Œ©‚‚©‚ç‚È‚¢‚Æ‚«‚́AEmpty ‚ð•Ô‚µ‚Ü‚·B - - ¨ GetFullPath - - ‚ðŽg‚Á‚ăsƒŠƒIƒh‚ð‚R‚•À‚ׂé‹L–@‚ð“WŠJ‚·‚é - T_SearchParent - - ¨ Dic_searchParent - - - - - - - - AddLastOfFileName - - - Function AddLastOfFileName( BasePath as string, AddName as string ) as string - - - (src) - - ƒtƒ@ƒCƒ‹ƒpƒX‚̍ŌãiŠg’£Žq‚æ‚è‘Oj‚ɁA•¶Žš—ñ‚ð’ljÁ‚µ‚Ü‚·B ‚Ü‚½‚ÍŠg’£Žq‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - BasePath - AddName - ’ljÁ‘O‚̃tƒ@ƒCƒ‹ƒpƒX - ’ljÁ‚·‚镶Žš—ñ - •Ô‚è’l - ’ljÁŒã‚̃tƒ@ƒCƒ‹ƒpƒX - - - AddLastOfFileName( "file.txt", "123" ) = "file123.txt" - - ƒTƒ“ƒvƒ‹F - AddName ‚ÉŠg’£Žq‚ª‚ ‚Á‚½‚çA•Ô‚è’l‚ÌŠg’£Žq‚́AAddName ‚ÌŠg’£Žq‚É•Ï‚í‚è‚Ü‚·B - - - AddLastOfFileName( "file.txt", "123.html" ) = "file123.html" - - - - AddLastOfFileName( "file.txt", ".html" ) = "file.html" - - - ¨ T_Path.vbs # [T_AddLastOfFileName] - - ƒeƒXƒg - ŠÖ˜A - - ¨ CutLastOfFileName - - ƒL[ƒ[ƒhF - Šg’£Žq‚̕ύX - - ¨ StrT_addLastOfFileName (clib) - - - - AddLastOfFileName( "file.txt", "." ) = "file" - - Šg’£Žq‚𖳂­‚· - - - AddLastOfFileName( path1, "."+g_fs.GetExtensionName( path2 ) ) - - Šg’£Žq‚ð‡‚í‚¹‚é - - ¨ GetPathWithSeparator - - Path ‚̍Ōã‚ð‹æØ‚è‹L†‚É‚µ‚Ü‚· - - - - - - - CutLastOfFileName - - (src) - - - - Sub CutLastOfFileName( in_out_Path as string, LastStr as string, Opt as integer ) - - ƒtƒ@ƒCƒ‹–¼iŠg’£Žq‚ðœ‚­j‚̍Ōã‚ɁAŽw’肵‚½•¶Žš—ñ‚ª‚ ‚ê‚΍폜‚µ‚Ü‚·B - - - Dim ss = "File_Add.txt" - CutLastOfFileName s, "_Add", Emtpy - '// s = "File.txt" - - File_Add.txt - _Add - File.txt - ŒÄ‚яo‚µ‘O‚Ì in_out_Path - LastStr - ŒÄ‚яo‚µŒã‚Ì in_out_Path - - "File_Add.txt" - "_Add" - yˆø”z - in_out_Path - out_Obj - i“üo—́jƒpƒX‚âƒtƒ@ƒCƒ‹–¼‚ðŠÜ‚Þ•¶Žš—ñ - io—́j íœ‚·‚é“à—e‚Ì•¶Žš—ñ - Opt - "File.txt" - "File_Add.txt" - "_Insert" - "File_Add.txt" - •â‘« - Šg’£Žq‚àŠÜ‚߂č폜‚·‚é‚Æ‚«‚́A - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - CutLastOf - - - ¨ CutLastOf - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Str.vbs # [T_StrComp] - - - c.CaseSensitive - - Empty ‚Ü‚½‚Í - - ¨ StrCompLastOfFileName - - - ¨ CutFragmentInURL - - ƒTƒ“ƒvƒ‹ - - - - - - - StrCompLastOfFileName - - - Function StrCompLastOfFileName( Path as string, LastStr as string, Opt as integer ) as integer - - - (src) - - ƒtƒ@ƒCƒ‹–¼iŠg’£Žq‚ðœ‚­j‚Ì––”ö‚ð”äŠr‚µ‚Ü‚·B - yˆø”z - Path - LastStr - ”äŠr‚³‚ê‚éƒtƒ@ƒCƒ‹–¼‚Ü‚½‚̓pƒX - Path ‚Ì––”ö‚Æ”äŠr‚·‚镶Žš—ñ - - c.CaseSensitive - - Opt - Empty ‚Ü‚½‚Í - Str ˆø”‚Ì’l - LastStr ˆø”‚Ì’l - - •Ô‚è’l - •Ô‚è’l - Path ‚Ì––”ö = LastStr ‚È‚çA0 - - ¨ StrComp - - "ABCDE.txt" - "CDE" - 0 (=ˆê’v) - 0ˆÈŠO(=ˆÙ‚È‚é) - "ABC" - "ABCDE.txt" - 0ˆÈŠO(=ˆÙ‚È‚é) - "CDE.txt" - "ABCDE.txt" - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Str.vbs # [T_StrComp] - - - ¨ CutLastOfFileName - - - ¨ StrCompLastOf - - - - - - - - CutFragmentInURL - ŠÖ˜A - - ¨ CutLastOf - - - ¨ CutLastOfFileName - - - - Function CutFragmentInURL( in_URL as string ) - - ƒtƒ@ƒCƒ‹ ƒpƒX‚â URL ‚Ɂi# ‚©‚çŽn‚Ü‚éjƒtƒ‰ƒOƒƒ“ƒg‚ª‚ ‚ê‚΍폜‚µ‚Ü‚·B - - - Assert CutFragmentInURL( "C:\File.txt#2" ) = "C:\File.txt" - - yˆø”z - in_URL - •Ô‚è’l - i“üo—́jƒpƒX‚âƒtƒ@ƒCƒ‹–¼‚ðŠÜ‚Þ•¶Žš—ñ - io—́j íœ‚·‚é“à—e‚Ì•¶Žš—ñ - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - GetTagJumpParams - - - Function GetTagJumpParams( PathAndFragment as string ) as TagJumpParams - - ƒ^ƒOƒWƒƒƒ“ƒvŒ`Ž®‚Ì•¶Žš—ñiƒpƒX{s”ԍ†j‚ð•ª‰ð‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - Set jumps = GetTagJumpParams( "C:\folder\file1.txt(100)" )'// jumps.Path = "C:\folder\file1.txt" - '// jumps.LineNum = 100 - '// IsEmpty( jumps.Keyword ) - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Path.vbs # [T_GetTagJumpParams] - - - ¨ GetEditorCmdLine - - - ¨ T_EditorDiff_Manually.vbs # [T_EditorManually] - - TagJumpParams ƒNƒ‰ƒX - - - Class TagJumpParams Public Path '// ƒpƒX or ""Aƒtƒ‹EƒpƒX‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñ - Public LineNum '// as integer or Empty - Public Keyword '// as string or Empty - End Class - - - - Set jumps = GetTagJumpParams( "file1.txt#Key" )'// jumps.Path = "file1.txt" - '// jumps.Keyword = "Key" - '// IsEmpty( jumps.LineNum ) - - - ¨ GetEditorCmdLine - - ŽQl - ƒ^ƒOƒWƒƒƒ“ƒvŒ`Ž®‚Ì•¶Žš—ñ‚ÌÚ× - - - GetTagJumpParams( "C:\folder\file1.txt(100)" ).Path - - - - Set jumps = GetTagJumpParams( "file1.txt" )'// jumps.Path = "file1.txt" - '// IsEmpty( jumps.LineNum ) - '// IsEmpty( jumps.Keyword ) - - - ¨ vbslib.vbs - - ƒ\[ƒX - - - Set jumps = GetTagJumpParams( "file${>#}1.txt" )'// jumps.Path = "file#1.txt" - '// IsEmpty( jumps.LineNum ) - '// IsEmpty( jumps.Keyword ) - - - - –¢‘Ήž - - - - - - - - GetTagJumpPath - - - Function GetTagJumpPath( PathAndLine as string ) as string - - ƒ^ƒOƒWƒƒƒ“ƒvŒ`Ž®‚Ì•¶Žš—ñiƒpƒX{s”ԍ†j‚©‚çAƒpƒX‚ðŽæ‚èo‚·B - ƒTƒ“ƒvƒ‹F - - - path = GetTagJumpPath( "C:\folder\file1.txt(100)" ) - - path ‚ɂ́A"C:\folder\file1.txt" ‚ª“ü‚è‚Ü‚·B - - (src) - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Path.vbs # GetTagJumpPath - - ”pŽ~—\’è‚Å‚·B GetTagJumpParams ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ GetTagJumpParams - - - - - - - - GetTagJumpLine - - - Function GetTagJumpLine( PathAndLine as string ) as integer - - ƒ^ƒOƒWƒƒƒ“ƒvŒ`Ž®‚Ì•¶Žš—ñiƒpƒX{s”ԍ†j‚©‚çAs”ԍ†‚ðŽæ‚èo‚·B - ƒTƒ“ƒvƒ‹F - - - line = GetTagJumpPath( "C:\folder\file1.txt(100)" ) - - line ‚ɂ́A100 ‚ª“ü‚è‚Ü‚·B - - (src) - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Path.vbs # GetTagJumpLine - - PathAndLine ‚ɍs”ԍ†‚ª–³‚¢‚Æ‚«‚́A0 ‚ª•Ô‚è‚Ü‚·B - ”pŽ~—\’è‚Å‚·B GetTagJumpParams ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ GetTagJumpParams - - - - - - - - IsMovablePathToPath - - - Function IsMovablePathToPath( SrcPath as string, DstPath as string, IsDstFolder as boolean ) as boolean - - - (src) - - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX SrcPath ‚Æ DstPath ‚̊ԂŁAˆÚ“®‚ª‚Å‚«‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - SrcPath - DstPath - ˆÚ“®Œ³‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - ˆÚ“®æ‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - IsDstFolder - DstPath ‚ªƒtƒHƒ‹ƒ_[‚©‚Ç‚¤‚© - ˆÚ“®‚ª‚Å‚«‚é‚©‚Ç‚¤‚© - •Ô‚è’l - ƒeƒXƒg - - ¨ T_Path.vbs # [T_IsMovablePathToPath] - - ƒhƒ‰ƒCƒu‚ªˆÙ‚È‚Á‚Ä‚¢‚½‚èAƒlƒbƒgƒ[ƒN ƒhƒ‰ƒCƒu‚ƃ[ƒJƒ‹ ƒhƒ‰ƒCƒu‚̈Ⴂ‚ª‚ ‚é‚ƁAˆÚ“®‚Å‚«‚Ü‚¹‚ñB - - - - - - - FilePathClass - ƒtƒ@ƒCƒ‹‚̃pƒX‚©Aƒtƒ@ƒCƒ‹‚Ì“à—e‚É‘Š“–‚·‚镶Žš—ñ‚Ì’ŠÛBˆê•”‚Ì vbslib ‚̊֐”‚̈ø”‚Ƀtƒ@ƒCƒ‹–¼‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚éƒtƒ@ƒCƒ‹EƒpƒXEƒIƒuƒWƒFƒNƒg‚Å‚·B - •¶Žš—ñ‚âAƒXƒNƒŠƒvƒg‚Ì’†‚̃Rƒƒ“ƒg‚È‚Ç‚ðAƒtƒ@ƒCƒ‹‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B - - LoadXML - - ŽŸ‚̊֐”‚̃tƒ@ƒCƒ‹–¼‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set root = LoadXML( new_FilePathForString( "<Root></Root>" ), Empty ) - - ŽŸ‚̊֐”‚Å FilePathClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - new_FilePathForString - - ƒeƒXƒg - - ¨ T_XML.vbs - - T_LoadXML_PathObject - ƒ\[ƒX - - ¨ vbslib.vbs - - - new_FilePathForFileInScript - - - GetFilePathString - - •¶Žš—ñ‚ðƒtƒ@ƒCƒ‹‚Æ‚µ‚Ĉµ‚¢‚Ü‚· - ƒXƒNƒŠƒvƒg‚Ì’†‚̃Rƒƒ“ƒg‚ðƒtƒ@ƒCƒ‹‚Æ‚µ‚Ĉµ‚¢‚Ü‚· - “ü—̓tƒ@ƒCƒ‹EƒpƒX‚É‘Š“–‚·‚镶Žš—ñ‚ð•Ô‚µ‚Ü‚· - ŽŸ‚̃vƒƒpƒeƒB‚ª‚ ‚è‚Ü‚·B FilePathClass ‚̃IƒuƒWƒFƒNƒg‚ð ReadFile ŠÖ”‚É“n‚µA‚»‚Ì•Ô‚è’l‚ðŽg‚Á‚ătƒ@ƒCƒ‹‚Ì“à—e‚ðˆ—‚·‚éƒR[ƒh - ‚Í‹¤’Ê‚É‚Å‚«‚é‚Å‚µ‚傤B - .Text - .FilePath - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚Ì“à—e - ƒtƒ@ƒCƒ‹EƒpƒX - - ¨ GetFilePathString - - ŠÖ˜A - - ¨ ReadFile - - - AssertExist - - - ReadFile - - - IsSynchronizedFilesX - - - - Set root = LoadXML( "sample.xml" ), Empty ) - - - - Set root = LoadXML( new_FilePathForFileInScript( Empty ), Empty ) - - - - - - - - new_FilePathForString - - - Set root = LoadXML( new_FilePathForString( "<Root></Root>" ), Empty ) - - - - Function new_FilePathForString( Text as string ) as FilePathClass - - •¶Žš—ñ‚ðƒtƒ@ƒCƒ‹‚Æ‚µ‚Ĉµ‚¤‚悤‚ɁAƒtƒ@ƒCƒ‹–¼‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Text - ƒtƒ@ƒCƒ‹‚Ì“à—e - ƒtƒ@ƒCƒ‹–¼‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éƒIƒuƒWƒFƒNƒg - •Ô‚è’l - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ T_XML.vbs - - T_LoadXML_PathObject - - ¨ vbslib.vbs - - - ¨ FilePathClass - - - - - - - - new_FilePathForFileInScript - - - Function new_FilePathForFileInScript( Parameter as Empty ) as FilePathClass - - ƒXƒNƒŠƒvƒg‚Ì’†‚̃Rƒƒ“ƒg‚ðƒtƒ@ƒCƒ‹‚Æ‚µ‚Ĉµ‚¤‚悤‚ɁAƒtƒ@ƒCƒ‹–¼‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Parameter - VBScript ƒtƒ@ƒCƒ‹‚̃pƒXA# ‰Â”\AEmpty = - ƒtƒ@ƒCƒ‹–¼‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éƒIƒuƒWƒFƒNƒg - •Ô‚è’l - - - '------------------------------------------------------------[FileInScript.xml]'<Root> - '<Tag out_path="_Out.txt"/> - '</Root> - '-----------------------------------------------------------[/FileInScript.xml] - - Sub Main( Opt, AppKey ) - CommandA_App AppKey, new_FilePathForFileInScript( Empty ) - End Sub - - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - - ƒTƒ“ƒvƒ‹ - - ¨ FilePathClass - - - vbslib include - - - ¨ ReadVBS_Comment - - ŠÖ˜A - ƒƒCƒ“EƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹iWScript.ScriptFullNamej ‚ɏ‘‚©‚ꂽ [FileInScript.*] ‚ª‚ ‚és‚ÌŽŸ‚̍s‚©‚çA[/FileInScript.*] ‚ª‚ ‚és‚Ì‘O‚̍s‚Ü‚Å‚ðAƒtƒ@ƒCƒ‹‚Ì“à—e‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B * ‚Í”CˆÓ‚Ì•¶Žš—ñ‚Å‚·B - ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚é XML ƒf[ƒ^‚ð CommandA ‚É“n‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_FileInScript.vbs - - T_new_FilePathForFileInScript - - - Sub CommandA_App( AppKey, Path ) Set root = LoadXML( Path, Empty ) - - out_path = root.selectSingleNode( "./Tag" ).getAttribute( "out_path" ) - Set w_=AppKey.NewWritable( out_path ).Enable() - End Sub - - ã‹LƒXƒNƒŠƒvƒg‚©‚çŒÄ‚яo‚· CommandA_App ŠÖ”‚Ì—áF - ƒ\[ƒX - - ¨ vbslib.vbs - - ƒtƒ@ƒCƒ‹‚Ì“à—eiXML ƒf[ƒ^j‚Ì•”•ª‚̍s“ª‚ɂ́A' ‚ª•K—v‚Å‚·B - ŽQl - - ¨ ƒXƒNƒŠƒvƒgEƒf[ƒ^Eƒtƒ@ƒCƒ‹ (vbslib) - - - WScript.ScriptFullName - - Path ‚ɁAURL ‚̂悤‚É # ‚ð•t‚¯‚é‚ƁAƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚Ì’†‚̍s––‚É‚ ‚éƒ^ƒO‚ðŒŸõ‚µ‚āA‚»‚Ì’†‚̃f[ƒ^‚ðƒtƒ@ƒCƒ‹‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B - - - path_object = new_FilePathForFileInScript( "#FileInScript.xml" ) - - - ¨ LoadXML - - - - - - - - GetFilePathString - - - Function GetFilePathString( Path as string or FilePathClass ) as string - - “ü—̓tƒ@ƒCƒ‹EƒpƒX‚É‘Š“–‚·‚镶Žš—ñ‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Path - ƒtƒ@ƒCƒ‹EƒpƒXEƒIƒuƒWƒFƒNƒgA‚Ü‚½‚́A“ü—̓tƒ@ƒCƒ‹EƒpƒX - “ü—̓tƒ@ƒCƒ‹EƒpƒX‚É‘Š“–‚·‚镶Žš—ñ - •Ô‚è’l - •Ô‚è’l‚́Aƒf[ƒ^‚ª‘¶Ý‚·‚éƒtƒ@ƒCƒ‹EƒpƒX‚ð•\Ž¦‚·‚邽‚߁Aƒf[ƒ^Eƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽæ“¾‚·‚邽‚ß‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - •Ô‚è’l‚ðA - - ReadFile - - ‚ȂǁAƒtƒ@ƒCƒ‹‚Ì“à—e‚ɃAƒNƒZƒX‚·‚éŠÖ”‚É“n‚·‚ƁAŠú‘҂ƈقȂéƒf[ƒ^‚ð“ü—Í - Path ˆø”‚ª - - new_FilePathForFileInScript - - ‚Ì•Ô‚è’l‚ðAGetFilePath ‚Ì - ‚µ‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª‚ ‚è‚Ü‚·B ‚½‚Æ‚¦‚΁A - ˆø”‚ÉŽw’肵‚½‚Æ‚«‚́AƒXƒNƒŠƒvƒg‚Ì’†‚̃Rƒƒ“ƒg‚Å‚Í‚È‚­AƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‘S‘Ì‚ð“ü—Í‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - Path ˆø”‚ª •¶Žš—ñ‚È‚çA‚»‚Ì•¶Žš—ñ‚ð•Ô‚µ‚Ü‚·B - ‚È‚çAWScript.ScriptFullName ‚ð•Ô‚µ‚Ü‚·B - - FilePathClass Œ^ - - - - - - - - ‚»‚Ì‘¼ - - ¨ ReplaceFileNameWildcard - - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽg‚Á‚āAƒtƒ@ƒCƒ‹ƒpƒX‚ð•ÏX‚µ‚Ü‚·B - ‹ŒŽd—l - IsAbsPath - - ¨ IsFullPath - - GetAbsPath - - ¨ GetFullPath - - - ¨ GetParentFullPath - - GetParentAbsPath - - - - - - - ƒtƒ@ƒCƒ‹ˆê——AArrayFromWildcard - - - Function ArrayFromWildcard( WildcardPath as string ) as PathDictionaryClass of Nothing - - ƒƒCƒ‹ƒhƒJ[ƒh‚ð“WŠJ‚µ‚Ü‚·B ƒTƒu ƒtƒHƒ‹ƒ_[‚àŒŸõ‚µ‚Ü‚·B - yˆø”z - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŠÜ‚ÞƒpƒXBƒtƒHƒ‹ƒ_[Žw’è‚à‰ÂB”z—ñ‰Â - WildcardPath - - - For Each full_path In ArrayFromWildcard( "data\*" ).FullPaths echo full_path - Next - - (*1) WildcardPath ˆø” ivbslib ‚̃ƒCƒ‹ƒhƒJ[ƒhj - - (*1) - - ‰Â”\F - "*", "*.txt", "file*", "folder\*.txt", Array( "Fo\*.txt", "Fo\*.log" ),"folder", "Debug\", "Fo\*.txt | Fo\*.log", "Fo\*.txt, Fo\*.log", - "NoWildcard.txt", "folder\*", "fo\*\file.txt", "*\file.txt", ".\file.txt" - - ¨ ƒtƒ@ƒCƒ‹ˆê—— (VBScript) - - ŠÖ˜A - - ¨ ƒtƒ@ƒCƒ‹ˆê—— - - ƒeƒXƒg - - ¨ EnumFolderObject - - ‚‘¬‚ȃtƒHƒ‹ƒ_ˆê—— - ƒtƒ@ƒCƒ‹–¼‚âƒtƒHƒ‹ƒ_[–¼‚Ń\[ƒg‚³‚ê‚Ü‚·B - ƒTƒ“ƒvƒ‹ - «”\ - •s‰Â”\F - "folder*\file.txt" - - ¨ CallForEach_copy - - ƒtƒ@ƒCƒ‹EƒpƒX‚Ì”z—ñ‚ðŽg‚Á‚ăRƒs[‚·‚é - ƒ\[ƒX - - ¨ vbslib.vbs - - •Ô‚è’l - - PathDictionaryClass - - of Nothing - - ¨ T_Wildcard.vbs - - T_ArrayFromWildcard1 - - ƒTƒu ƒtƒHƒ‹ƒ_[‹L† - - ‚ªŽg‚¦‚Ü‚·B —áF "folder\*\back_up.txt", "folder\.\*.txt" - - ¨ PathNameCompare - - - ¨ ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - - PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚ðŽw’肵‚½‚çA‚»‚̃IƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - ƒƒCƒ‹ƒhƒJ[ƒh‚ªAƒtƒ@ƒCƒ‹–¼‚âƒtƒHƒ‹ƒ_[–¼‚É‘Š“–‚·‚é•”•ªi‚à‚Á‚Æ‚à‰E‚Ì \ ‚̉E‘¤j‚É‚ ‚ê‚΁AƒTƒuEƒtƒHƒ‹ƒ_[‚àŒŸõ‚µ‚Ü‚·B - ‚ª—Dæ‚³‚ê‚Ü‚·B - - ƒTƒu ƒtƒHƒ‹ƒ_[‹L† - - ‚½‚¾‚µAWildcardPath ˆø”‚ÉŽw’肵‚½ - ƒTƒu ƒtƒHƒ‹ƒ_[‹L†‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢i .\ ‚à *\ ‚à‚È‚¢j‚Æ‚«‚́A - - ¨ dir, tree (ƒoƒbƒ`) - - Žw’肵‚½ƒpƒX‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ª‚È‚¢‚Æ‚«‚̓Gƒ‰[‚É‚µ‚Ü‚·iƒTƒu ƒtƒHƒ‹ƒ_[‹L† * ‚âAƒƒCƒ‹ƒhƒJ[ƒh‚ª–³‚¢‚Æ‚«‚̂݁jB - - ¨ ArrayFromWildcard2 - - ƒtƒ@ƒCƒ‹‚ɑ΂·‚鏈—‚̏ꍇiArrayFromWildcard ‚Ì•Ô‚è’l‚Ì FilePaths ƒvƒƒpƒeƒB‚È‚Ç‚ªŽQÆ‚³‚ê‚éê‡jAƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’è‚·‚é‚ƁAƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é - ƒtƒ@ƒCƒ‹‚àŒŸõ‚µ‚Ü‚·B - - ¨ Expand_glob_Pattern - - BasePath ƒvƒƒpƒeƒB‚ªŽw’èƒtƒHƒ‹ƒ_[‚É‚È‚é ArrayFromWildcard - - ArrayFromWildcard2 - - ‚ƈႢABasePath ƒvƒƒpƒeƒB‚́AƒJƒŒƒ“ƒg ƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B - - - - - - - ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - - ¨ ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - VBScript - - ŽQl - ƒeƒXƒg - - ¨ T_Wildcard.vbs # T_Wildcard_Speed - - - EnumFolderObject - - Å‚à‘¬‚¢‚̂́A - ‚ðŽg‚¤•û–@‚Å‚·B - - - - - - - ExpandWildcard - - - Sub ExpandWildcard( WildcardPath as string, Flags as integer, out_Folder as string, out_StepPaths as array of string ) - - ƒƒCƒ‹ƒhƒJ[ƒh‚ð“WŠJ‚µ‚Ü‚·B ƒTƒuEƒtƒHƒ‹ƒ_[‚àŒŸõ‚µ‚Ü‚·B - yˆø”z - out_Folder - out_StepPaths - io—́j wildcard ‚ªŠÜ‚Ü‚ê‚éƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒX - io—́j ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚µ‚½‘Š‘΃pƒX‚Ì”z—ñ - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŠÜ‚ÞƒpƒXBƒtƒHƒ‹ƒ_Žw’è‚à‰ÂB”z—ñ‰Â - WildcardPath - - - Set c = g_VBS_Lib - ExpandWildcard "data\*", c.File or c.SubFolder, folder, step_paths - For Each step_path In step_paths - If InStr( step_path, "\_setup_" ) = 0 Then '// œŠO‚·‚éê‡ - echo GetFullPath( step_path, folder ) '// g_fs.BuildPath ‚ÍŽg‚í‚È‚¢‚±‚Æ - End If - Next - - ƒtƒ‰ƒO‚̘_—˜a - Flags - c.SubFolder - wildcard - - f.txt - f.bin - f.txt - - sub\f.txt - False - › - ~ - ~ - f.txt - True - › - ~ - › - *.txt - sub\abc.txt - ~ - ~ - › - True - ~ - › - › - sub\* - sub - True - True - ~ - ~ - › - › - ~ - ~ - ~ - ~ - (*1) WildcardPath ˆø” - - (*1) - - - ¨ ƒtƒ@ƒCƒ‹ˆê—— (VBScript) - - ŠÖ˜A - - ¨ ƒtƒ@ƒCƒ‹ˆê—— - - ‹Œ F_File, F_Folder, F_SubFolder - ƒeƒXƒg - - ¨ EnumFolderObject - - ‚‘¬‚ȃtƒHƒ‹ƒ_ˆê—— - - - g_Vers("ExpandWildcard_Sort") = True - - ‰º‹L‚̂悤‚ɐݒ肵‚Ä‚©‚çAExpandWildcard ‚ðŒÄ‚яo‚·‚ƁAƒtƒ@ƒCƒ‹–¼‚âƒtƒHƒ‹ƒ_[–¼‚Ń\[ƒg‚³‚ê‚Ü‚·B ­‚µ’x‚­‚È‚è‚Ü‚·‚ªA—ñ‹“‚³‚ê‚éƒtƒ@ƒCƒ‹‚̏‡”Ô‚ª‚ǂ̂悤‚Ȋ‹«‚Å‚à - “¯‚¶‚É‚È‚è‚Ü‚·B - - ¨ T_Wildcard.vbs # Main - - - (*2) - - (*2) Flags ˆø” - c.File - c.Folder - c.SubFolder - ‰º‹L‚̒萔‚Ì orB ‰º‹L‚Ì c ‚́Ag_VBS_Lib ‚Ì•Ô‚è’lB - c.FullPath - c.ArrayOfArray - ƒtƒ@ƒCƒ‹‚ðŒŸõ‚·‚é - ƒtƒHƒ‹ƒ_[‚ðŒŸõ‚·‚é - ƒTƒuEƒtƒHƒ‹ƒ_[‚àŒŸõ‚·‚éB - out_Folder ‚ð out_StepPaths ‚Ɋ܂߁Aout_Folder = Empty ‚É‚·‚é - out_StepPaths ‚Ì”z—ñ—v‘f”‚ðAWildcardPath ‚ÉŽw’肵‚½”z—ñ‚Ì—v‘f”‚Æ“¯‚¶‚É‚µ‚āA”z—ñ—v‘f‚́A‚»‚ꂼ‚ê‚̃ƒCƒ‹ƒhƒJ[ƒh - ‚Ƀ}ƒbƒ`‚µ‚½ƒpƒX‚Ì”z—ñ‚É‚·‚é - ƒTƒ“ƒvƒ‹ - «”\ - - ¨ CallForEach_copy - - ƒtƒ@ƒCƒ‹EƒpƒX‚Ì”z—ñ‚ðŽg‚Á‚ăRƒs[‚·‚é - c.SubFolderIfWildcard - c.NoError - Žw’肵‚½ƒpƒX‚ÉŒ©‚‚©‚ç‚È‚¢‚Æ‚«‚É‚àƒGƒ‰[‚É‚µ‚È‚¢ - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ (*1) ArrayFromWildcard ‚Ì WildcardPath ˆø” - - - ¨ ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - - ExpandWildcard_Sort •Ï” - ƒ\[ƒX - - ¨ vbslib.vbs - - - ƒTƒu ƒtƒHƒ‹ƒ_[‹L† - - ‚½‚¾‚µAWildcardPath ˆø”‚ÉŽw’肵‚½ - ‚ª—Dæ‚³‚ê‚Ü‚·B - - ¨ (*1) ArrayFromWildcard ‚Ì WildcardPath ˆø” - - ƒTƒuEƒtƒHƒ‹ƒ_[‚àŒŸõ‚·‚é‚©‚Ç‚¤‚©‚́Aƒ[ƒ‹ƒhƒJ[ƒh‚ªŽw’肳‚ꂽ‚©‚Ç‚¤‚©‚È‚Ç‚É‚æ‚Á‚ÄŒˆ‚ß‚Ü‚·B - Ú×‚́A - c.EmptyFolder - ‹ó‚̃tƒHƒ‹ƒ_[‚ðŒŸõ‚·‚éBout_StepPaths ˆø”‚ɏo—Í‚³‚ê‚éƒpƒX‚Ì––”ö‚É‚Í \ ‚ª•t‚«‚Ü‚·B - - - sort_setting_back_up = g_Vers("ExpandWildcard_Sort")g_Vers("ExpandWildcard_Sort") = True - : - g_Vers("ExpandWildcard_Sort") = sort_setting_back_up - - - ¨ IsMatchedWithWildcard - - ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚© - - - - - - - ExpandWildcard ‚Ì“à•”ƒf[ƒ^\‘¢ - ExpandWildcardWorkClass - .items - .is_root_folder - .folder_path - .first_out_count - .out_fast_ubound - .sort_box - ArrayClass <ExpandWildcardItemClass> - boolean - string - integer - integer - ArrayClass <string> - .re - .re2 - .IsSubFolder - re_type (*1) - boolean - Empty - re2_type (*1) - (*1) re_type ‚Æ re2_type ‚́AˆÈ‰º‚Ì‘g‚ݍ‡‚킹‚Ì‚¢‚¸‚ê‚©‚Å‚·B - re_type - re2_type - RegExp - RegExp - Empty - Empty - Empty - StrMatchKey - NameOnlyClass - - WildcardPath ˆø” - "*" - ƒƒCƒ‹ƒhƒJ[ƒh‚ª‚È‚¢ - "*" ‚ª‚PŒÂ‚Ì‚Æ‚« - * ‚ª‚Q‚‚̂Ƃ«‚©A? ‚ª‚ ‚é‚Æ‚« - work - reg_exp_dic - dictionary < (folder_path), ArrayClass <ExpandWildcardItemClass> > - out_StepPaths - array < File or Folder or (abs_path) > - // ExpandWildcard_sub ŠJŽnŽž‚Ì UBound( out_StepPaths ) - // ŽÀŽ¿“I‚È UBound( out_StepPaths ) - - - - - - - Expand_glob_Pattern - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Wildcard.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - Function Expand_glob_Pattern( in_Pattern as string ) as array of string - - ‚ð“WŠJ‚µ‚Ü‚·B - yˆø”z - in_Pattern - globƒpƒ^[ƒ“‚Ì•¶Žš—ñ - •Ô‚è’l - globƒpƒ^[ƒ“‚ð“WŠJ‚µ‚½ƒpƒX‚Ì”z—ñ - - globƒpƒ^[ƒ“ - - T_glob_1 - "*.txt" - "[1-3].txt" - "s/*.txt" - ƒTƒ“ƒvƒ‹ - in_Pattern ˆø” - ƒƒCƒ‹ƒhƒJ[ƒh‚́AƒJƒŒƒ“ƒg ƒtƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚É“WŠJ‚³‚ê‚Ü‚·BƒTƒuƒtƒHƒ‹ƒ_[‚Í“WŠJ‚³‚ê‚Ü‚¹‚ñB - - “WŠJŒ‹‰Ê‚Ì—á - "1.txt", "2.txt", "3.txt", "example.txt" - "s\example.txt" - "[12].txt" - "1.txt", "2.txt" - "[012].txt" - "1.txt", "2.txt" i0.txt ‚ª‚È‚¢ê‡j - "[!1].txt" - "1.txt", "2.txt", "3.txt" - "2.txt", "3.txt" i1.txt ˆÈŠO‚Ì ?.txtj - "?.txt" - "1.txt", "2.txt", "3.txt" - "[!12].txt" - "3.txt" i1.txt, 2.txt ˆÈŠO‚Ì ?.txtj - "s/v/*.txt" - "s/v\example.txt" iƒƒCƒ‹ƒhƒJ[ƒh‚Ì’¼‘O‚¾‚¯\j - ŠÖ˜A - - ¨ ArrayFromWildcard - - - - - - - - PathDictionaryClass - PathDictionaryClass ‚́AŽ«‘‚̃AƒCƒeƒ€‚ðÝ’è‚·‚é‚Æ‚«‚̃L[‚ɃtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚½‚çAƒL[‚ɃtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚̃pƒX‚àŽw’肵‚Ä‚àA“¯‚¶ƒAƒCƒeƒ€‚ðŽæ“¾‚Å‚«‚鎫‘‚Å‚·B - .FilePaths - .Item Set - .Item Get - .Item Set ‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚àŽw’è‰Â”\B‚½‚¾‚µA.Item Set ‚ÉŽw’肵‚½ƒL[‚ª‘Š‘΃pƒX‚È‚çAâ‘΃pƒX‚Ƃ̓}ƒbƒ`‚µ‚Ü‚¹‚ñB - .AddRemove ‚ŏœŠO‚µ‚½ƒpƒX‚ªŽw’肳‚ꂽ‚Æ‚«‚́A.RemovedObject ‚ª•Ô‚è‚Ü‚·B - Ž«‘‚É“o˜^‚µ‚½ƒtƒ@ƒCƒ‹‚̃L[iƒpƒXj‚ƁAŽ«‘‚É“o˜^‚µ‚½ƒtƒHƒ‹ƒ_[‚ÉŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX‚ð—ñ‹“‚µ‚Ü‚·B - ƒL[‚ª‘Š‘΃pƒX‚È‚çA‘Š‘΃pƒX‚Ì”z—ñ‚ª•Ô‚è‚Ü‚·B - .IsNotFoundError = False ‚É‚·‚é‚ƁAƒL[‚ªŽw‚·ƒpƒX‚Ƀtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª - ‚È‚¢‚Æ‚«‚Å‚àƒGƒ‰[‚É‚È‚è‚Ü‚¹‚ñB - ƒtƒ@ƒCƒ‹A‚Ü‚½‚́AƒtƒHƒ‹ƒ_[‚̃pƒX‚ðƒL[‚ÉŽw’肵‚Ü‚·BƒTƒu ƒtƒHƒ‹ƒ_[‚àŠÜ‚ÞƒƒCƒ‹ƒh ƒJ[ƒh‚àŽw’è‰Â”\‚Å‚·B - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Wildcard.vbs - - T_PathDictionary_1, T_PathDictionary_Wildcard, T_PathDictionary_OverSub - - ¨ vbslib.vbs - - - - Set paths = new PathDictionaryClass Set paths( "Folder\Sub" ) = a_object - paths.AddRemove "*.bak" - - Assert IsSameArray( paths.FilePaths, Array( "Files\1\A.txt", "Files\1\B.txt" ) ) - - For Each key In paths.FilePaths - Assert paths( key ) Is a_object - Next - - ƒTƒ“ƒvƒ‹ - ƒTƒu ƒtƒHƒ‹ƒ_[‚̃L[‚àÝ’肳‚ê‚Ä‚¢‚é‚Æ‚«‚ɁAƒTƒu ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚½‚Æ‚«‚́AƒTƒu ƒtƒHƒ‹ƒ_[‚ɐݒ肳‚ꂽƒAƒCƒeƒ€‚ª—Dæ‚µ‚Ď擾‚³‚ê‚Ü‚·B - .AddRemove( Path ) - ‘ΏۊO‚É‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚âAŠg’£Žq‚ðÝ’肵‚Ü‚· - - - Set paths = new PathDictionaryClass Set paths( "Folder" ) = a_object - Set paths( "Folder\Sub" ) = b_object - Assert paths( "Folder\File.txt" ) is a_object - Assert paths( "Folder\Sub\File.txt" ) is b_object - - ƒƒ“ƒo[ - - ¨ new_PathDictionaryClass_fromXML - - ŠÖ˜A - .FileExists( Path ) - ƒL[‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹ƒpƒX‚ªŽ«‘‚É‚ ‚é‚È‚ç TrueBƒL[‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚Ì’†i‚̃TƒuƒtƒHƒ‹ƒ_[j‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì - ƒpƒX‚ªŽw’肳‚ꂽ‚Æ‚«‚àATrueB - ˆø”‚ɐâ‘΃pƒX‚ðŽw’è‰Â”\B - .BasePath - ƒL[‚É‘Š‘΃pƒX‚ðŽw’肵‚½Žž‚̊ƒpƒXB ‰Šú’l‚͐¶¬Žž‚̃JƒŒƒ“ƒgƒtƒHƒ‹ƒ_[ - .Add( Key, Item ), .Count, .Items, .CompareMode, .Remove(), .RemoveAll() - Scripting.Dictionary ‚Æ“¯‚¶ - .FullPaths - ƒtƒ‹ ƒpƒX‚Ì”z—ñ‚ª•Ô‚é FilePathsB - - ¨ EnumFolderObjectDic - - - ¨ EnumFileObjectDic - - - ¨ Folder::Files - - - ¨ Folder::SubFolders - - ƒtƒHƒ‹ƒ_[‚ðˆê——‚·‚é - ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é - XML ‚©‚çƒtƒ@ƒCƒ‹‚̏W‡‚ðŽw’è‚·‚é - - - Set paths = new PathDictionaryClass paths.BasePath = "C:\BaseFolder" - Set paths( "Folder" ) = a_object - Assert paths( "Folder\File.txt" ) is a_object - - - ¨ Dictionary ƒNƒ‰ƒX iƒnƒbƒVƒ…AŽ«‘AScripting.Dictionaryj - - - ¨ ArrayFromWildcard - - PathDictionaryClass ‚ðŽæ“¾‚·‚é•Ê‚Ì•û–@ - - ¨ FilePathClass - - ƒtƒ@ƒCƒ‹‚̃pƒX‚©Aƒtƒ@ƒCƒ‹‚Ì“à—e‚É‘Š“–‚·‚镶Žš—ñ‚Ì’ŠÛ - - new_PathDictionaryClass_fromXML - - ‚ðŽg‚¦‚΁AXML ƒtƒ@ƒCƒ‹‚Ì’†‚©‚çƒpƒX‚ÌŽw’è‚ðŽæ“¾‚Å‚«‚Ü‚·B - - - <Root> <Variable name="${ExceptExts}" value="*.obj, *.bak"/> - - <File path="Sample.txt"/> - <Folder path="SubFolder" attr="ABC"> - <Except path="${ExceptExts}"/> - <Except path="SubFolder\Debug"/> - </Folder> - </Root> - - Variable name - value - Except - Except - Folder path - path - path - File path - - ArrayFromWildcard - - ‚Å‚àAPathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚ª“¾‚ç‚ê‚Ü‚·B ArrayFromWildcard - - - Set paths = ArrayFromWildcard( "Folder" ) Assert paths( "Folder\File.txt" ) Is Nothing - - •W€‚ÌŽ«‘‚Ƃ̌݊·« - .Count, .Keys, .Items ‚Ȃǂ̃ƒ\ƒbƒh‚âƒvƒƒpƒeƒB‚́AScripting.Dictionary ‚ƌ݊·«‚ª‚ ‚è‚Ü‚·B - - Dic_add - - ‚Ȃǂ́AŽ«‘‚ðŽg‚Á‚½ŠÖ”‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B - Except ƒ^ƒO‚́AAddRemove ƒƒ\ƒbƒh‚É‘Š“–‚µ‚Ü‚·B - .FolderExists( Path ) - FileExists ‚É—ñ‹“‚³‚ê‚éƒtƒ@ƒCƒ‹‚ðŠÜ‚ÞƒtƒHƒ‹ƒ_[‚ª‚ ‚é‚©‚Ç‚¤‚©BPath ‚ªƒtƒ@ƒCƒ‹‚Ƀ}ƒbƒ`‚·‚é‚Æ‚«‚́AFalseB - .FolderPaths - ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Ì‘Š‘΃pƒX‚ð—ñ‹“‚µ‚Ü‚·BeƒtƒHƒ‹ƒ_[‚̐eƒtƒHƒ‹ƒ_[‚à—ñ‹“‚µ‚Ü‚·B - .DeleteFolderPaths - ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚½‚Æ‚«‚ɍ폜‚ÌŒó•â‚Æ‚È‚éƒtƒHƒ‹ƒ_[‚Ì‘Š‘΃pƒX‚ð—ñ‹“‚µ‚Ü‚·B íœ‚ÌŒó•â‚Æ‚È‚éƒtƒHƒ‹ƒ_[‚́AAddRemove ‚ÉŽw’肵‚½ - ƒpƒX‚ðŠÜ‚Ü‚È‚¢eƒtƒHƒ‹ƒ_[‚Å‚·B ƒtƒHƒ‹ƒ_[‚ðíœ‚·‚é‚Æ‚«‚́AŒó•â - ‚Æ‚È‚éƒtƒHƒ‹ƒ_[‚̃TƒuƒtƒHƒ‹ƒ_[‚àíœ‚µ‚Ä‚­‚¾‚³‚¢B - .DeleteFolderExists( Path ) - íœ‚ÌŒó•â‚Æ‚È‚éƒtƒHƒ‹ƒ_[‚©‚Ç‚¤‚©Bíœ‚ÌŒó•â‚Æ‚È‚éƒTƒuƒtƒHƒ‹ƒ_[‚Ƀ}ƒbƒ`‚·‚é‚Æ‚«‚́ATrue - .Keys - Ž«‘‚É“o˜^‚µ‚½ƒL[iƒpƒXj‚ð—ñ‹“‚µ‚Ü‚·B.AddRemove ‚ŏœŠO‚µ‚½ƒpƒX‚à—ñ‹“‚µ‚Ü‚·B - .SearchParent - - ¨ Dic_searchParent - - Žw’肵‚½ƒpƒX‚̐eƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŒŸõ‚µ‚Ü‚·B - - ¨ Dic_addFilePaths_fromPathDirectory - - ŠÖ˜A - - Dic_addFilePaths_fromPathDirectory - - ‚ŁA“Á’è‚̃IƒuƒWƒFƒNƒg‚ðƒAƒCƒeƒ€‚ÉŽ‚ƒpƒX‚ð—ñ‹“‚Å‚«‚Ü‚·B - .IsScaned - .FilePaths, .FullPaths, .FolderPaths ‚É•K—v‚ȃf[ƒ^‚ðW‚߂邽‚߂ɁAƒtƒHƒ‹ƒ_[‚ð’Tõ‚µ‚½‚©‚Ç‚¤‚©B Ž«‘‚ð•ÏX‚·‚é‚Æ False ‚É‚È‚èAÄ“x’Tõ‚µ‚Ü‚·B - .IsNotFoundError - .FilePaths ‚Å .Key ‚ɐݒ肵‚½ƒpƒX‚ªŒ©‚‚©‚ç‚È‚¢ƒGƒ‰[‚𔭐¶‚·‚é‚©‚Ç‚¤‚© - - - Set paths0 = new PathDictionaryClass Set paths( "Folder" ) = a_object - - Set paths = ArrayFromWildcard( paths0 ) - Assert paths is paths0 - Assert paths( "Folder\File.txt" ) Is a_object - - ‚ɂ́AƒpƒX‚Ì•¶Žš—ñ‚¾‚¯‚Å‚È‚­ PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚Å‚àA‚Ç‚¿‚ç‚Å‚àŽw’è‚Å‚«‚Ü‚·B - FilePaths ƒvƒƒpƒeƒB‚́AƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é•¡”‚̃tƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ‚Å‚·B - - - Set paths = new PathDictionaryClass paths.BasePath = "C:\Folder" - Set paths( "Folder" ) = a_object - paths.AddRemove "*.bak" - Assert IsSameArray( paths.FilePaths, Array( "Files\1\A.txt", "Files\1\B.txt" ) ) - - FilePaths ƒvƒƒpƒeƒB‚́A - - PathNameCompare - - ‚Ń\[ƒg‚³‚ꂽ”z—ñ‚ðŽæ“¾‚µ‚Ü‚·B - .RemovedObject - .AddRemove ‚ŏœŠO‚µ‚½ƒpƒX‚ðƒL[‚ÉŽw’肵‚½‚Æ‚«‚Ì Item - .KeysEx( Opt ) - Ž«‘‚É“o˜^‚µ‚½ƒL[iƒpƒXj‚ð—ñ‹“‚µ‚Ü‚·B ‚½‚¾‚µAOpt = Me.ExceptRemoved ‚ðŽw’肵‚½‚Æ‚«‚́A.AddRemove ‚ŏœŠO‚µ‚½ƒpƒX‚ð—ñ‹“‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - - ¨ new_PathDictionaryClass_fromXML - - ŽQl - FilePaths - "Folder" - "Folder\File.txt" - ‘¶Ý‚·‚éƒtƒHƒ‹ƒ_[‚âƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒL[‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢BƒAƒCƒeƒ€‚ɂ́A”CˆÓ‚̃IƒuƒWƒFƒNƒg‚ðŽw’è‚Å‚«‚Ü‚· iƒIƒuƒWƒFƒNƒgŒ^‚̂݁jB - - AddRemove ƒƒ\ƒbƒh - - ‚È‚è‚Ü‚·B - ‚½‚¾‚µA - ‚ªŒÄ‚яo‚µ‚Ä‚ ‚Á‚½‚çA‚»‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Í FilePaths ‚̑ΏۊO‚É - ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚éƒvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚é‚ƁAƒtƒHƒ‹ƒ_[‚Ì’†‚ð’Tõ‚·‚邽‚ߎžŠÔ‚ª‚©‚©‚è‚Ü‚·B PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚Ì“à—e‚ð•ÏX‚µ‚È‚¯‚ê‚΁AƒLƒƒƒbƒVƒ…‚ðŽg‚Á‚č‚‘¬‚É’Tõ‚µ‚Ü‚·B - - GetBasePath - - ‚ɑ΂µ‚Ä‚àA‚Ç‚¿‚ç‚Å‚àŽw’è‚Å‚«‚Ü‚·B - .LeafPaths - - ¨ LeafPathDictionary - - ƒtƒ@ƒCƒ‹A‚Ü‚½‚́A‹ó‚̃tƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒX‚Ì”z—ñ - ŠÖ˜A - .Exists( Path ) - Ž«‘‚É“o˜^‚µ‚½ƒL[iƒpƒXj‚Å‚ ‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B.AddRemove ‚ŏœŠO‚µ‚½ƒpƒX‚à—ñ‹“‚µ‚Ü‚·B - - - - - - - new_PathDictionaryClass_fromXML - - - Function new_PathDictionaryClass_fromXML( path_XML_Elements as IXMLDOMNodeList, AttributeName as string, BasePath as string ) as PathDictionaryClass of IXMLDOMElement - - FF-path ‘®«‘Ήž‚Ì XML ‚©‚ç PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - path_XML_Elements - ƒpƒX‚ª‘‚©‚ꂽ XML —v‘fiƒ^ƒOj‚̃IƒuƒWƒFƒNƒg‚̏W‡ - AttributeName - ’ʏí "path"B ƒpƒX‚ª‘‚©‚ꂽ XML ‘®«‚Ì–¼‘O - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Wildcard.vbs - - T_PathDictionary_XML - •Ô‚è’l‚ÌŽ«‘‚̃AƒCƒeƒ€‚́AXML —v‘fiƒ^ƒOjƒIƒuƒWƒFƒNƒgi - - ¨ vbslib.vbs - - j‚É‚È‚è‚Ü‚·B - - IXMLDOMElement Œ^ - - path_XML_Elements ˆø”‚ɂ́AXML ‚Ì path ‘®«‚ª‚ ‚é XML —v‘fiƒ^ƒOj‚̏W‡‚ðŽw’肵‚Ü‚·B - - ¨ PathDictionaryClass - - PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg - •Ô‚è’l - XML ‚ɏ‘‚©‚ꂽ‘Š‘΃pƒX‚̊ƒpƒX - BasePath - FF-path ‘®«‘Ήž‚Ì XMLApath ‘®«‚ƁAExcept ƒ^ƒO - FF-path ‘®« (File or Folder as files Path attribute) ‚́Aƒtƒ@ƒCƒ‹‚̃pƒX‚ðŽw’è‚·‚é XML ‚Ì path ‘®«‚Å‚·B - FF-path ‘®«‚ªŽg‚¦‚é XML ƒtƒ@ƒCƒ‹‚ɂ́AVariable ƒ^ƒO‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚»‚µ‚āApath ‘®«‚ɁAVariable ƒ^ƒO‚ÌŽQÆ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B i—áF‰º‹L‚Ì ${ExceptExts}j - Except ƒ^ƒO‚Ì path ‘®«‚É‚àAVariable ƒ^ƒO‚ÌŽQÆ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ Variable ƒ^ƒO - - Except ƒ^ƒO‚ðŽg‚¦‚΁AƒTƒuƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éƒtƒ@ƒCƒ‹‚Ì‚¤‚¿AŽw’肵‚½ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ð‘ΏۊO‚É‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B Except ƒ^ƒO‚́AFF-path ‘®«‚ɑΉž‚µ‚½ƒ^ƒO‚ÌŽqƒm[ƒh‚Æ‚µ‚Ä”z’u - ‚µ‚Ä‚­‚¾‚³‚¢B ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽg‚Á‚ÄŠg’£Žq‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B •¡”Žw’è‚·‚é‚Æ‚«‚́A - ƒRƒ“ƒ}‚Å‹æØ‚Á‚Ä‚­‚¾‚³‚¢B ‘Š‘΃pƒX‚̊‚́AXML ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Å‚·B - XML ƒtƒ@ƒCƒ‹‚ÌŽd—l‚É‚æ‚Á‚ẮApath ‘®«‚ðŽ‚Âƒ^ƒO‚É path ‘®«ˆÈŠO‚Ì‘®«‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B i—áF‰º‹L‚Ì Folder ƒ^ƒO‚Ì attr ‘®«j - path ‘®«‚ðŽ‚Âƒ^ƒO‚Ì–¼‘O‚́A"Folder" ‚â "File" ˆÈŠO‚̉”\«‚ª‚ ‚è‚Ü‚·B ƒtƒ@ƒCƒ‹‚ðŽw’è‚·‚é‘®«‚ªApath ‘®«‚Å‚È‚¢‰Â”\«‚à‚ ‚è‚Ü‚·B - ‚»‚ꂼ‚ê‚Ì–¼‘O‚́AÝ’è‚·‚é XML ƒtƒ@ƒCƒ‹‚ÌŽd—l‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - ŠÖ˜A - - ¨ SyncFilesX - - ‚ªŽg‚¦‚Ü‚·B - - - <Root> <Variable name="${ExceptExts}" value="*.obj, *.bak"/> - - <File path="Sample.txt"/> - <Folder path="SubFolder" attr="ABC"> - <Except path="${ExceptExts}"/> - <Except path="SubFolder\Debug"/> - </Folder> - </Root> - - C:\FolderA\Sample.xml - Variable name - value - Except - Except - —ΐF‚Ì•¶Žš‚Ì–¼‘O‚́AFF-path ‘®«A‚Ü‚½‚Í Variable ƒ^ƒO‚É‚æ‚Á‚Ä’è‹`‚³‚ꂽ–¼‘O‚Å‚·B - ã‹L‚́ASample.txt ƒtƒ@ƒCƒ‹‚ƁASubFolder ƒtƒHƒ‹ƒ_[‚Æ‚»‚̃TƒuƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚Ì‚¤‚¿AŠg’£Žq‚ª obj ‚Æ bak ‚̃tƒ@ƒCƒ‹‚ƁASubFolder\Debug ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚ð - œ‚¢‚½ƒtƒ@ƒCƒ‹‚ðAŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B - ÔF‚Ì•¶Žš‚Ì–¼‘O‚́AXML ƒtƒ@ƒCƒ‹‚ÌŽí—Þ‚É‚æ‚Á‚ĈقȂè‚Ü‚·B - Folder path - path - path - File path - inew_PathDictionaryClass_fromXML ŠÖ”‚ÉŽw’肵‚Ü‚·Bj - ƒtƒHƒ‹ƒ_[‚Ì’†‚̈ꕔ‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ɑ΂µ‚āA“Á•Ê‚Ȑݒè‚ð XML ‚É‹Lq‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ‹Lq‚·‚鏇”Ԃɂ͈ˑ¶‚µ‚Ü‚¹‚ñB Žqƒm[ƒh‚Ì‹Lq‚ª—Dæ‚³‚ê‚Ü‚·B - - - <Folder path="Folder" attr="target"><Folder path="Folder\back_up" attr="not_target"> - - ƒTƒ“ƒvƒ‹ - - - path_of_XML = "Files\Files1.xml" base_path = GetParentFullPath( path_of_XML ) - Set root = LoadXML( path_of_XML, Empty ) - - Set dic = new_PathDictionaryClass_fromXML( root.selectNodes( "Folder | File" ), "path", _ - base_path ) - - Assert IsSameArray( dic.FilePaths, Array( _ - "Sample.txt", "SubFolder\A.c", "SubFolder\Sub\A.c" ) ) - - For Each key In dic.FilePaths - Assert dic( key ).getAttribute( "attr" ) = "ABC" - Next - - new_PathDictionaryClass_fromXML - - selectNodes - - ‰º‹L Sample.xml ‚Ì path ‘®«‚Æ Except ƒ^ƒO‚ðƒŠ[ƒh‚µ‚Ü‚·B - - vbslib ‚̃ƒCƒ‹ƒhƒJ[ƒh - - - ¨ GetPathDictionariesFromXML - - - - Set paths = new PathDictionaryClass paths.BasePath = "C:\FolderA" - Set paths( "Sample.txt" ) = file_tag - Set paths( "SubFolder" ) = folder_tag - paths.AddRemove "*.obj" - paths.AddRemove "*.bak" - paths.AddRemove "SubFolder\Debug" - - ã‹L‚Ì XML ‚́A‰º‹L‚̃R[ƒh‚Å‚Å‚«‚é PathDictionary ‚ª‚Å‚«‚Ü‚·B - attr="target" ‚̐ݒè‚́AFolder ƒtƒHƒ‹ƒ_[‚Æ‚»‚̃Tƒu ƒtƒHƒ‹ƒ_[‚ª‘Ώۂł·‚ªAFolder\back_up ƒtƒHƒ‹ƒ_[‚͑ΏۊO‚Å‚·B - - - - - - - GetPathDictionariesFromXML - - - Function GetPathDictionariesFromXML( path_XML_Elements as IXMLDOMNodeList, AttributeName as string, BasePath as string, MapAttributeName as string ) - as dictionary of PathDictionaryClass of IXMLDOMElement - - •¡”‚Ì map ‚©‚ç‚È‚é FF-path ‘®«‘Ήž‚Ì XML ‚©‚ç PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - path_XML_Elements - ƒpƒX‚ª‘‚©‚ꂽ XML —v‘fiƒ^ƒOj‚̃IƒuƒWƒFƒNƒg‚̏W‡ - AttributeName - ’ʏí "path"B ƒpƒX‚ª‘‚©‚ꂽ XML ‘®«‚Ì–¼‘O - - PathDictionaryClass - - •Ô‚è’l - XML ‚ɏ‘‚©‚ꂽ‘Š‘΃pƒX‚̊ƒpƒX - BasePath - ‚̃IƒuƒWƒFƒNƒg‚ÌŽ«‘BƒL[‚́Amap ‘®«‚Ì’l - MapAttributeName - ’ʏí "map"B map ‘®«‚ª‘‚©‚ꂽ XML ‘®«‚Ì–¼‘O - - new_PathDictionaryClass_fromXML - - •¡”‚Ì map ‚ɑΉž‚µ‚½ - ‚Å‚·B - ’Pˆê‚Ì map ‚̏ꍇAƒtƒHƒ‹ƒ_[(A)‚̃Tƒu ƒtƒHƒ‹ƒ_[i‚̃tƒ@ƒCƒ‹j(B) ‚ÌŽw’肪‚ ‚Á‚½ê‡AƒtƒHƒ‹ƒ_[(A) ‚Ì XML ‚̐ݒè‚ƁAƒTƒu ƒtƒHƒ‹ƒ_[(B) ‚Ì XML Ý’è‚Í•Ê‚É‚È‚è‚Ü‚·‚ªA - (A) ‚Æ iB) ‚ňقȂé map ‚ðŽw’肵‚½ê‡AƒtƒHƒ‹ƒ_[(A) ‚́AƒTƒu ƒtƒHƒ‹ƒ_[(B) ‚ɉe‹¿‚³‚ꂸA - ƒTƒu ƒtƒHƒ‹ƒ_[‚à (A) ‚Ì XML ‚̐ݒè‚É‚È‚è‚Ü‚·B - - - <Folder path="Folder" attr="target"><Folder path="Folder" attr="targetB" map="B"> - <Folder path="Folder\back_up" attr="not_target"> - - path (ƒL[) - map="" ‚Ì attr - - "Folder" - "Folder\A.txt" - "Folder\back_up\A.txt" - "target" - "target" - "not_target" - "targetB" - "targetB" - "targetB" - map="B" ‚Ì attr - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_Wildcard.vbs - - T_PathDictionaries_XML - - ¨ vbslib.vbs - - XML ‚Ì map ‘®«‚́AƒpƒX‚ðŽw’è‚·‚é—v‘f‚̐e—v‘f‚âA‚³‚ç‚É‚»‚̐e—v‘fcA‚ɐݒ肷‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - <Parent map="B"><Folder path="Folder" attr="targetB"> - </Parent> - - map ‘®«‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚́AGetPathDictionariesFromXML ‚Ì•Ô‚è’l‚ÌŽ«‘‚̃L[‚Í "" ‚É‚È‚è‚Ü‚·B - - - - - - - new_PathDictionaryClass - ƒ\[ƒX - - ¨ vbslib.vbs - - - - Function new_PathDictionaryClass( in_Path as variant ) as PathDictionaryClass - - “TŒ^“I‚È PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - in_Path - ƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - •Ô‚è’l - PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg - - ¨ PathDictionaryClass - - - - Set paths = new_PathDictionaryClass( "Folder" ) - - ƒTƒ“ƒvƒ‹ - in_Path ˆø”‚ɂ́A•¶Žš—ñA•¶Žš—ñ‚Ì”z—ñAPathDictionaryClass ‚Ì‚¢‚¸‚ê‚©‚ðŽw’è‚Å‚«‚Ü‚·B - - - Set paths = new_PathDictionaryClass( Array( "FolderA", "FolderB" ) ) - - - - Set paths = new_PathDictionaryClass( "Folder" )Set paths2 = new_PathDictionaryClass( paths ) - Assert paths is paths2 - - - - - - - - new_PathDictionaryClass_withRemove - - - Function new_PathDictionaryClass_withRemove( in_BasePath as string, in_RemovePathArray as array of string, in_DictionaryItem as Object ) - as PathDictionaryClass - - ƒ\[ƒX - - ¨ vbslib.vbs - - œŠO‚·‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ª‚ ‚éA‚P‚‚̃tƒHƒ‹ƒ_[‚Ì PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - in_BasePath - ƒx[ƒX‚Æ‚È‚é‚P‚‚̃tƒHƒ‹ƒ_[ - in_RemovePathArray - œŠO‚·‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚Ì‘Š‘΃pƒX‚Ì”z—ñA‚Ü‚½‚Í Empty - PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg - •Ô‚è’l - ¶¬‚·‚鎫‘‚Ì‚·‚×‚Ä‚Ì Item ‚ɐݒ肷‚éƒIƒuƒWƒFƒNƒg - in_DictionaryItem - - ¨ PathDictionaryClass - - ƒTƒ“ƒvƒ‹ - - - Set dic = new_PathDictionaryClass_withRemove( "Folder", Array( "*.bak" ), Nothing ) Assert dic.BasePath = "C:\Folder" - Assert IsSameArray( dic.Keys, Array( "." ) ) - - in_RemovePathArray ˆø”‚ÉŽw’è‚·‚é‘Š‘΃pƒX‚̊ƒtƒHƒ‹ƒ_[‚́Ain_BasePath ‚Å‚·B - - - - - - - GetBasePath - - - Assert GetBasePath( "C:\Folder" ) = "C:\Folder" - - - - Function GetBasePath( in_StringOrObject as variant ) as string - - ƒx[ƒX‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_StringOrObject - •¶Žš—ñA‚Ü‚½‚́A - ƒx[ƒX‚̃pƒX - •Ô‚è’l - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - PathDictionaryClass - - - - Set paths = new PathDictionaryClass paths.BasePath = "C:\BaseFolder" - - Assert GetBasePath( paths ) = "C:\Folder" - - in_StringOrObject ˆø”‚ª•¶Žš—ñ‚Ì‚Æ‚«‚́A‚»‚Ì•¶Žš—ñ‚ð•Ô‚µ‚Ü‚·BPathDictionaryClass Œ^‚Ì‚Æ‚«‚́ABasePath ƒvƒƒpƒeƒB‚ð•Ô‚µ‚Ü‚·B - - ¨ vbslib.vbs - - - ¨ ArrayFromWildcard - - - - Assert GetFullPath( GetBasePath( paths ), Empty ) = "C:\Folder\sub" - - GetBasePath - GetBasePath - GetBasePath - - - - - - - NewDiffFilePaths - - - Function NewDiffFilePaths( in_PathArray as array of string, in_RemovePathArray as array of string ) as dictionary of PathDictionaryClass - - - - Set diff_paths = NewDiffFilePaths( Array( _ "C:\Attached", "C:\Base" ), Empty ) - - For Each step_path In diff_paths.Keys - Set files = diff_paths( step_path ) - If files( 0 ) Is Nothing Then - echo "A>" - Else - echo "A>"+ GetFullPath( step_path, files( 0 ).BasePath ) - End If - If files( 1 ) Is Nothing Then - echo "B>" - Else - echo "B>"+ GetFullPath( step_path, files( 1 ).BasePath ) - End If - Next - - •¡”‚̃tƒHƒ‹ƒ_[‚ð”äŠr‚·‚邽‚߂́Aƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX‚ðƒL[‚Æ‚µ‚½Ž«‘‚𐶐¬‚µ‚Ü‚·B - yˆø”z - in_PathArray - in_RemovePathArray - ƒtƒHƒ‹ƒ_[‚̃pƒXiƒtƒ‹ ƒpƒXA‚Ü‚½‚́A‘Š‘΃pƒXj‚Ì”z—ñ - œŠO‚·‚éƒtƒ@ƒCƒ‹–¼‚̃pƒ^[ƒ“‚Ì”z—ñA‚Ü‚½‚́AEmpty - •Ô‚è’l - Ž«‘AƒL[‚Í‘Š‘΃pƒXAƒAƒCƒeƒ€‚Í‹ó‚Ì - ƒTƒ“ƒvƒ‹ - PathDictionaryClass - - new_PathDictionaryClass_withRemove ŠÖ” - - in_RemovePathArray ˆø”‚́A - ‚Ì in_RemovePathArray ˆø”‚Æ - “¯‚¶ˆÓ–¡‚Å‚·B - ã‹LƒTƒ“ƒvƒ‹‚̏o—Í—áF - - - A>C:\Attached\Add.txtB> - A>C:\Attached\Both.txt - B>C:\Base\Both.txt - A> - B>C:\Base\Delete.txt - - - ¨ vbslib.vbs - - ƒ\[ƒX - - - - - - - Dic_addFilePaths_fromPathDirectory - - - Function Dic_addFilePaths_fromPathDirectory( in_out_Dictionary as Dictionary or Empty, in_SetIndex as integer, in_MaxIndex as integer, in_BasePath as string, - in_PathDictionary as PathDictionaryClass, in_Item as Object ) - - ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX‚ðƒL[‚Æ‚µ‚½Ž«‘‚Ì”z—ñ‚ɁAPathDictionaryŒ^‚ÌŽ«‘‚É‚ ‚éƒAƒCƒeƒ€‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_out_Dictionary - in_SetIndex - Ž«‘AƒL[‚Í‘Š‘΃pƒXAEmpty ‰Â”\AƒAƒCƒeƒ€‚Í - in_Item ‚ðÝ’è‚·‚é in_out_Dictionary ˆø”‚̃AƒCƒeƒ€‚Ì”z—ñ‚̔ԍ† - in_MaxIndex - ƒAƒCƒeƒ€‚Ì”z—ñ‚̍őå”ԍ† - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Wildcard.vbs - - ƒ\[ƒX - T_Dic_addFilePaths - in_PathDictionary - in_PathDictionary Ž«‘‚̃L[‚𑊑΃pƒX‚É‚·‚é‚Æ‚«‚̊ƒtƒHƒ‹ƒ_[‚̃pƒX - in_BasePath - EmptyA‚Ü‚½‚́Ain_PathDictionary ‚̃AƒCƒeƒ€‚Æ”äŠr‚·‚éƒL[ ƒIƒuƒWƒFƒNƒg - •Ô‚è’l - in_out_DictionaryA‚Ü‚½‚́A¶¬‚µ‚½Ž«‘ - in_Item - - ArrayClass ”z—ñ - - - ¨ PathDictionaryClass - - - ¨ EnumFileObjectDic - - ’Šo‚µ‚½ƒL[‚ƃAƒCƒeƒ€‚́Ain_out_Dictionary ˆø”‚ÉŽw’肵‚½Ž«‘‚̃AƒCƒeƒ€iArrayClass Œ^‚Ì”z—ñj‚Ì”z—ñ—v‘f‚ÉŠi”[‚³‚ê‚Ü‚·B ’Šo‚µ‚½ƒL[‚́Ain_BasePath ˆø”‚ÉŽw’肵‚½ƒpƒX‚ðŠî€‚Æ‚µ‚½‘Š‘΃pƒX‚É - •ÏŠ·ŒãA’Šo‚µ‚½ƒAƒCƒeƒ€‚ð’ljÁ‚·‚éæ‚Ì”z—ñ‚ð“Á’è‚·‚邽‚ß‚ÌŽ«‘‚̃L[‚Æ‚µ‚ÄŽg‚í‚ê‚Ü‚·B - in_SetIndex ˆø”‚ÉŽw’肵‚½’l‚ª”z—ñ”ԍ†‚Æ‚È‚é”z—ñ—v‘f‚ɁAin_PathDictionary ˆø”‚ÌŽ«‘‚̃AƒCƒeƒ€ - ‚ªŠi”[‚³‚ê‚Ü‚·B - - - For Each file_path In in_PathDictionary.FullPaths If in_PathDictionary( file_path ) is in_Item Then - file_step_path = GetStepPath( file_path, in_BasePath ) - Set in_out_Dictionary( file_step_path )( in_SetIndex ) = in_Item - - Dic_addFilePaths_fromPathDirectory ŠÖ”‚̏ˆ—“à—e‚́A‚¨‚¨‚æ‚»‰º‹L‚Ì‹[Ž—ƒR[ƒh‚̂悤‚É‚È‚è‚Ü‚·B - in_out_Dictionary ˆø”‚É Empty ‚ðŽw’è‚·‚é‚ƁAŽ«‘‚ðV‹Kì¬‚³‚êA‚»‚ÌŽ«‘‚ª•Ô‚è’l‚É‚È‚è‚Ü‚·Bin_out_Dictionary ˆø”‚ÉŽ«‘‚ðŽw’è‚·‚é‚ƁA‚»‚ÌŽ«‘‚É—v‘f‚ª’ljÁ‚³‚êA‚»‚ÌŽ«‘‚ª•Ô‚è’l‚É‚È‚è‚Ü‚·B - in_out_Dictionary ˆø”‚ÉŽw’肵‚½Ž«‘‚̃AƒCƒeƒ€‚Ì”z—ñ‚Ì‘S—v‘f‚́ANothing ‚ŏ‰Šú‰»‚³‚ê‚Ü‚·B - Ein_PathDictionary ˆø”‚ÉŽw’肵‚½ PathDictionaryClass Œ^‚ÌŽ«‘‚̃AƒCƒeƒ€‚ª in_Item ˆø”‚Ɂ@Žw’肵‚½ƒIƒuƒWƒFƒNƒg‚É‚È‚Á‚Ä‚¢‚éiin_Item ‚ª Empty ‚Å‚Í‚È‚¢‚Æ‚«j - in_PathDictionary ˆø”‚©‚çAˆÈ‰º‚ÌðŒ‚É‡‚¤ƒL[iƒpƒXj‚ƃAƒCƒeƒ€iƒIƒuƒWƒFƒNƒgj‚̃Zƒbƒg‚𒊏o‚µ‚Ü‚·B - - - in_out_Dictionary ˆø”‚ÌŽ«‘ - - - - ”z—ñ - - - - - - - ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX - - - ”z—ñ—v‘f - - - - - - - in_SetIndex ˆø” - in_PathDictionary ˆø”‚ÌŽ«‘‚̃AƒCƒeƒ€ - - - - - - - in_PathDictionary ˆø”‚ÌŽ«‘ - iPathDictionaryClass Œ^j - - - - - - - ƒtƒ@ƒCƒ‹‚̃pƒX - - - in_Item ˆø”‚Æ“¯‚¶ƒAƒCƒeƒ€ - - •¡”‚̃tƒHƒ‹ƒ_[‚ð”äŠr‚·‚é‚Æ‚«‚ȂǁA“¯‚¶‘Š‘΃pƒX‚̃tƒ@ƒCƒ‹‚ɑ΂µ‚ĉ½‚ç‚©‚̏ˆ—‚ð‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B - Dic_addFilePaths_fromPathDirectory ŠÖ”‚ðA‚»‚ꂼ‚ê‚̃tƒHƒ‹ƒ_[‚ɑ΂µ‚ČĂяo‚µA‚Å‚«‚½in_out_Dictionary ˆø”‚ÌŽ«‘‚ðŽg‚Á‚āA‚»‚ꂼ‚ê‚̃tƒHƒ‹ƒ_[‚É‚ ‚éA“¯‚¶‘Š‘΃pƒX‚̃tƒ@ƒCƒ‹ - ‚ɑ΂·‚鏈—‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - - Set dic_A = new PathDictionaryClass : Set dic_A( "C:\FolderA" ) = obj_ASet dic_B = new PathDictionaryClass : Set dic_B( "C:\FolderB" ) = obj_B - - Set dic_A_B = CreateObject( "Scripting.Dictionary" ) - Dic_addFilePaths_fromPathDirectory dic_A_B, 0, 1, "C:\FolderA", dic_A, obj_A - Dic_addFilePaths_fromPathDirectory dic_A_B, 1, 1, "C:\FolderB", dic_B, obj_B - - For Each step_path In dic_A_B.Keys - Set files = dic_A_B( step_path ) - If not files( 0 ) Is Nothing and not files( 1 ) Is Nothing Then - If not IsSameBinaryFile( _ - GetFullPath( step_path, obj_A.BasePath ), _ - GetFullPath( step_path, obj_B.BasePath , Empty ) Then - .... - - ƒTƒ“ƒvƒ‹ - in_BasePath ˆø”‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚Ì’†‚̃tƒ@ƒCƒ‹‚ɑΉž‚·‚éAin_PathDictionary ˆø”‚ÌŽ«‘‚̃AƒCƒeƒ€‚ɁAin_Item ˆø”‚̃IƒuƒWƒFƒNƒgˆÈŠO‚ª“ü‚Á‚Ä‚¢‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - ‚Ü‚½Ain_BasePath ˆø”‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚ÌŠO‚̃tƒ@ƒCƒ‹‚Å‚àAin_PathDictionary ˆø”‚ÌŽ«‘‚Ì - ƒAƒCƒeƒ€‚ɁAin_Item ˆø”‚̃IƒuƒWƒFƒNƒg‚ª’Šo‚³‚ê‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - Dic_addFilePaths_fromPathDirectory - - PathDictionaryClass - - - ¨ vbslib.vbs - - - - - - - - Dic_addFilePaths_fromOtherPathDirectory - - - Function Dic_addFilePaths_fromOtherPathDirectory( in_out_Dictionary as Dictionary or Empty, in_SetIndex as integer, in_MaxIndex as integer, - in_BasePath as string, in_NewItem as Object, - in_OtherBasePath as string, in_OtherPathDictionary as PathDictionaryClass, in_OtherItem as Object ) - - ƒtƒ@ƒCƒ‹‚Ì‘Š‘΃pƒX‚ðƒL[‚Æ‚µ‚½Ž«‘‚Ì”z—ñ‚ɁAPathDictionaryŒ^‚ÌŽ«‘‚É‚ ‚éƒAƒCƒeƒ€‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_out_Dictionary - in_SetIndex - Ž«‘AƒL[‚Í‘Š‘΃pƒXAEmpty ‰Â”\AƒAƒCƒeƒ€‚Í - in_Item ‚ðÝ’è‚·‚é in_out_Dictionary ˆø”‚̃AƒCƒeƒ€‚Ì”z—ñ‚̔ԍ† - in_MaxIndex - ƒAƒCƒeƒ€‚Ì”z—ñ‚̍őå”ԍ† - in_OtherPathDictionary - in_out_Dictionary Ž«‘‚̃L[‚𑊑΃pƒX‚É‚·‚é‚Æ‚«‚̊ƒtƒHƒ‹ƒ_[‚̃pƒX - in_BasePath - EmptyA‚Ü‚½‚́Ain_OtherPathDictionary ‚̃AƒCƒeƒ€‚Æ”äŠr‚·‚éƒL[ ƒIƒuƒWƒFƒNƒg - •Ô‚è’l - in_out_DictionaryA‚Ü‚½‚́A¶¬‚µ‚½Ž«‘ - in_OtherItem - - ArrayClass ”z—ñ - - - ¨ PathDictionaryClass - - in_NewItem - in_OtherBasePath - in_out_Dictionary Ž«‘‚ɒljÁ‚·‚éƒIƒuƒWƒFƒNƒg - in_OtherPathDictionary Ž«‘‚̃L[‚𑊑΃pƒX‚É‚·‚é‚Æ‚«‚̊ƒtƒHƒ‹ƒ_[‚̃pƒX - in_BasePath ˆø”‚Ì’l‚ðŠî€‚̃pƒX‚Æ‚µ‚½Ain_OtherPathDictionary ‚̃L[i‚Æ in_OtherBasePath ‚©‚ç‚Å‚«‚éj‘Š‘΃pƒX‚ɁAƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª‚ ‚ê‚΁A‚»‚Ì‘Š‘΃pƒX‚ð in_out_Dictionary Ž«‘‚̃L[‚Æ‚µAin_NewItem - ‚ð in_out_Dictionary Ž«‘‚̃AƒCƒeƒ€‚Æ‚È‚é‚悤‚É“o˜^‚µ‚Ü‚·B - ŽQl - - ¨ SyncFilesMenuLib.vbs - - - - - - - - LeafPathDictionary - - ExpandWildcard_Sort •Ï” - - ‚ð True ‚ɐݒ肷‚é‚ƁAŽ«‘‚̃L[‚ðABC‡‚Ƀ\[ƒg‚µ‚Ü‚·B - LeafPathDictionary ‚́AƒL[‚ðuƒtƒ@ƒCƒ‹A‚Ü‚½‚́A‹ó‚̃tƒHƒ‹ƒ_[‚̃pƒXv‚Æ‚µ‚½Ž«‘‚Å‚·BŒ^‚́A•W€‚Å—pˆÓ‚³‚ê‚Ä‚¢‚鎫‘‚Æ“¯‚¶‚Å‚·B - ƒL[‚ɐݒ肵‚½ƒpƒX‚́Aƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ª‘¶Ý‚µ‚È‚¢‰Â”\«‚ª‚ ‚è‚Ü‚·B - LeafPathDictionary ‚̃AƒCƒeƒ€iNameOnlyClass ‚̃IƒuƒWƒFƒNƒgj‚Ì Name ƒvƒƒpƒeƒB‚́A - ƒL[‚Æ“¯‚¶ƒpƒXA‚Ü‚½‚́A‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ւ̃pƒX‚Å‚·B - ƒL[‚ÉŠÖ˜A•t‚¯‚ç‚ꂽƒAƒCƒeƒ€‚́Aƒ†[ƒU[‚ªŽ©—R‚ɐݒè‚Å‚«‚Ü‚·B - - - Set dic( "To2.txt" ) = dic( "To.txt" ) Set dic.Remove "To.txt" - - - EnumerateToLeafPathDictionary - - - - Const NotCaseSensitive = 1 Set dic = CreateObject( "Scripting.Dictionary" ) - dic.CompareMode = NotCaseSensitive - - Set dic( "To.txt" ) = new_NameOnlyClass( "From.txt", Empty ) - - Ž«‘‚̃AƒCƒeƒ€‚ð•ÏX‚·‚邱‚ƂŁAƒRƒs[Œ³‚ð•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - Set dic( "To.txt" ) = new_NameOnlyClass( "From2.txt", Empty ) - - Ž«‘‚̃L[‚ð•ÏX‚·‚邱‚ƂŁAƒRƒs[æ‚ð•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒAƒCƒeƒ€‚É‚ ‚éƒpƒX‚©‚çAƒL[‚É‚ ‚éƒpƒX‚ɁAƒtƒ@ƒCƒ‹‚ðƒRƒs[‚·‚邱‚ƂŁA‘½‚­‚̃tƒ@ƒCƒ‹‚ðW‚߂鏈—‚ÉŽg‚¦‚Ü‚·B ƒtƒ@ƒCƒ‹‚ð’u‚«Š·‚¦‚éƒpƒbƒ`‚ð‚ ‚Ä‚é‚Æ‚«‚É‚àŽg‚¦‚Ü‚·B - ƒtƒHƒ‹ƒ_[‚©‚çA - - LeafPathDictionary - - ‚𐶐¬‚µ‚Ü‚· - - CopyFilesToLeafPathDictionary - - - ChangeKeyOfLeafPathDictionary - - ƒL[‚ɏ‘‚©‚ꂽƒpƒX‚ð•ÏX‚µ‚Ü‚· - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðƒRƒs[‚µ‚Ü‚· - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_LeafPath - ŠÖ˜A - - ¨ PatchAndBackUpDictionaryClass - - - new_NameOnlyClass - - False ‚ɐݒ肵‚Ä‚àA‰º‹L‚̃R[ƒh‚̂悤‚Ƀ\[ƒg‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚·B - - - QuickSortDicByKey dic - - - ¨ ChangeKeyOfLeafPathDictionary - - ŠÖ˜A - - QuickSortDicByKey - - LeafPathDictionary ‚̃AƒCƒeƒ€‚Ì Name ƒvƒƒpƒeƒB‚ª•¶Žš—ñ‚Ì”z—ñ‚Ì‚Æ‚«‚́A - - ThreeWayMerge - - ‚µ‚½“à—e‚É‚·‚é—\’è‚Å‚ ‚邱‚Æ‚ðŽ¦‚µ‚Ü‚·B (0) = Base, (1) = Left, (2) = Right ‚Å‚·B - LeafPathDictionary ‚̃AƒCƒeƒ€‚Ì Name ƒvƒƒpƒeƒB‚ª Empty ‚Ì‚Æ‚«‚́Aíœ‚·‚é—\’è‚Å‚ ‚邱‚Æ‚ðŽ¦‚µ‚Ü‚·B - ‚Q‚‚̃tƒHƒ‹ƒ_[‚ð”äŠr‚·‚é‚Æ‚«‚ɁA”äŠr‚·‚éƒtƒ@ƒCƒ‹‚Ì–¼‘O‚âêŠ‚ªˆÙ‚È‚é‚Æ‚«‚́AŠÖ˜A‚·‚éƒpƒX‚ðƒL[Aƒtƒ@ƒCƒ‹‚Ì“à—e‚ðƒAƒCƒeƒ€‚É‚·‚邱‚ƂŁA”äŠr‚ª‚Å‚«‚Ü‚·B ƒ}[ƒW‚·‚é‚Æ‚«‚́Aƒ}[ƒW‚µ‚½Œã‚Ì - ƒpƒX‚É‘Š‘΃pƒX‚ð‡‚í‚¹‚½ƒpƒX‚ðƒL[‚É‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - PathDictionaryClass - - - ExpandWildcard - - .LeafPaths - ‚Ì c.EmptyFolder - LeafPathDictionary ‚ðŽQÆ‚·‚鏈—‚É‚æ‚Á‚ẮAƒL[‚µ‚©ŽQÆ‚µ‚Ü‚¹‚ñB ‚Ü‚½AƒL[‚ðƒRƒs[æAƒAƒCƒeƒ€‚ðƒRƒs[Œ³‚Æ‚µ‚ďˆ—‚·‚邱‚Æ‚à‚ ‚è‚Ü‚·B - - PatchAndBackUpDictionaryClass - - ƒpƒbƒ` - - - - - - - EnumerateToLeafPathDictionary - - - Function EnumerateToLeafPathDictionary( in_Path as string ) as dictionary of NameOnlyClass - - yˆø”z - in_Path - ƒtƒHƒ‹ƒ_[‚̃pƒX - •Ô‚è’l - ƒeƒXƒg - ƒ\[ƒX - - << LeafPathDictionary - - ƒtƒHƒ‹ƒ_[‚©‚çALeafPathDictionary ‚𐶐¬‚µ‚Ü‚·B - - LeafPathDictionary - - - ¨ T_LeafPath.vbs - - T_LeafPath - - ¨ ToolsLib.vbs - - ƒL[‚ɂ́Aƒtƒ‹ ƒpƒX‚ªŠi”[‚³‚ê‚Ü‚·BƒL[‚ƃAƒCƒeƒ€‚́A“¯‚¶ƒpƒX‚É‚È‚è‚Ü‚·B - - - - - - - IsSameHashValuesOfLeafPathDictionary - - - Function IsSameHashValuesOfLeafPathDictionary( _ in_1stLeafPathDictionary as dictionary, in_1stBasePath as string, _ - in_2ndLeafPathDictionary as dictionary, in_2ndBasePath as string ) - - yˆø”z - in_1stLeafPathDictionary - in_1stBasePath - LeafPathDictionary ‚ªŽw‚·‚·‚ׂẴtƒ@ƒCƒ‹‚ðA‚à‚¤‚P‚Â‚Ì LeafPathDictionary ‚Æ”äŠr‚µ‚Ü‚·B - - LeafPathDictionary - - in_2ndBasePath - ”äŠr‚·‚éƒx[ƒX‚Æ‚·‚é‚P‚–ڂ̃tƒHƒ‹ƒ_[‚̃pƒX - in_1stBasePath ˆø”‚ɑΉž‚·‚é‚Q‚–ڂ̃tƒHƒ‹ƒ_[‚̃pƒX - ƒtƒ@ƒCƒ‹‚ª“¯‚¶“à—e‚©‚Ç‚¤‚©‚𒲂ׂé‚̂ɁA - ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B - - g_FileHashCache - - - LeafPathDictionary - - in_2ndLeafPathDictionary - ‚P‚Â–Ú‚Ì - ‚Q‚Â–Ú‚Ì - •Ô‚è’l - ‚·‚ׂẴtƒ@ƒCƒ‹‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚© - ƒ\[ƒX - - ¨ ToolsLib.vbs - - A‚Ü‚½‚́AEmpty - A‚Ü‚½‚́AEmpty - in_1stLeafPathDictionary ˆø”A‚Ü‚½‚́Ain_2ndLeafPathDictionary ˆø”‚ɁA’l‚ª Empty ‚̕ϐ”‚ð - - LeafPathDictionary - - Žw’è‚·‚é‚ƁA‚»‚̕ϐ”‚É - ‚ªŠi”[‚³‚ê‚Ü‚·B - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_LeafPath_IsSameHash - - - - - - - IsSameFileNamesOfLeafPathDictionary - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_LeafPath_IsSameName - - - Function IsSameFileNamesOfLeafPathDictionary( _ in_1stLeafPathDictionary as dictionary, in_1stBasePath as string, _ - in_2ndLeafPathDictionary as dictionary, in_2ndBasePath as string ) - - yˆø”z - in_1stLeafPathDictionary - in_1stBasePath - LeafPathDictionary ‚ªŽw‚·‚·‚ׂẴtƒ@ƒCƒ‹–¼‚ðA‚à‚¤‚P‚Â‚Ì LeafPathDictionary ‚Æ”äŠr‚µ‚Ü‚·B - - LeafPathDictionary - - in_2ndBasePath - ”äŠr‚·‚éƒx[ƒX‚Æ‚·‚é‚P‚–ڂ̃tƒHƒ‹ƒ_[‚̃pƒX - in_1stBasePath ˆø”‚ɑΉž‚·‚é‚Q‚–ڂ̃tƒHƒ‹ƒ_[‚̃pƒX - - LeafPathDictionary - - in_2ndLeafPathDictionary - ‚P‚Â–Ú‚Ì - ‚Q‚Â–Ú‚Ì - •Ô‚è’l - ‚·‚ׂẴtƒ@ƒCƒ‹‚Ì“à—e‚ª“¯‚¶‚©‚Ç‚¤‚© - A‚Ü‚½‚́AEmpty - A‚Ü‚½‚́AEmpty - ƒtƒ@ƒCƒ‹‚Ì“à—e‚Í”äŠr‚µ‚Ü‚¹‚ñB - in_1stLeafPathDictionary ˆø”A‚Ü‚½‚́Ain_2ndLeafPathDictionary ˆø”‚ɁA’l‚ª Empty ‚̕ϐ”‚ð - - LeafPathDictionary - - Žw’è‚·‚é‚ƁA‚»‚̕ϐ”‚É - ‚ªŠi”[‚³‚ê‚Ü‚·B - - - - - - - GetNotSameFileKeysAsItemsOfLeafPathDictionary - - - Function GetNotSameFileKeysAsItemsOfLeafPathDictionary( in_LeafPathDictionary as dictionary ) as array of string - - yˆø”z - in_LeafPathDictionary - LeafPathDictionary ‚̃L[‚ƃAƒCƒeƒ€‚Ńtƒ@ƒCƒ‹‚Ì“à—e‚ªˆÙ‚È‚éƒL[‚ð”z—ñ‚É‚Ü‚Æ‚ß‚Ä•Ô‚µ‚Ü‚·B - - LeafPathDictionary - - ƒL[‚ƃAƒCƒeƒ€‚Ńtƒ@ƒCƒ‹‚Ì“à—e‚©ˆÙ‚È‚éƒL[‚ð”z—ñ - •Ô‚è’l - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_LeafPath_GetNotSameFiles - ƒtƒ@ƒCƒ‹‚ª“¯‚¶“à—e‚©‚Ç‚¤‚©‚𒲂ׂé‚̂ɁA - ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B - - g_FileHashCache - - in_LeafPathDictionary ˆø”‚̃L[‚ƃAƒCƒeƒ€‚ɂ́Aƒtƒ‹ ƒpƒX‚ðŠi”[‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B - - - - - - - ChangeKeyOfLeafPathDictionary - - - Sub ChangeKeyOfLeafPathDictionary( in_out_LeafPathDictionary as dictionary of NameOnlyClass, in_SourcePath as string, in_DestinationPath as string ) - - yˆø”z - in_out_LeafPathDictionary - in_SourcePath - ƒeƒXƒg - ƒ\[ƒX - - << LeafPathDictionary - - ƒRƒs[æ‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðˆÚ“®‚·‚é‚悤‚ɁAƒL[‚ɏ‘‚©‚ꂽƒpƒX‚ð•ÏX‚µ‚Ü‚·B - - LeafPathDictionary - - - ¨ T_LeafPath.vbs - - T_LeafPath - - ¨ ToolsLib.vbs - - in_DestinationPath - ƒRƒs[æ‚ð•ÏX‚·‚é‘O‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - ƒRƒs[æ‚ð•ÏX‚µ‚½Œã‚̃tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - - - - - - - CopyFilesToLeafPathDictionary - - - Sub CopyFilesToLeafPathDictionary( in_LeafPathDictionary as dictionary of NameOnlyClass or PatchAndBackUpDictionaryClass, - in_IsSetItemDestination as boolean ) - - yˆø”z - in_LeafPathDictionary - ƒeƒXƒg - ƒ\[ƒX - - << LeafPathDictionary - - ƒAƒCƒeƒ€‚Ì Name ‘®«‚ɏ‘‚©‚ꂽƒpƒX‚©‚çAƒL[‚ɏ‘‚©‚ꂽƒpƒX‚ɁAƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_[‚ðƒRƒs[‚µ‚Ü‚·B - - LeafPathDictionary - - - ¨ T_LeafPath.vbs - - T_LeafPath - - ¨ ToolsLib.vbs - - in_IsSetItemDestination - Ž«‘‚̃AƒCƒeƒ€‚ðƒL[‚Æ“¯‚¶’l‚É‚·‚é‚©‚Ç‚¤‚© - - ¨ T_Diff.vbs - - T_ThreeWayMerge_Cached - ƒRƒ“ƒtƒŠƒNƒg‚ª”­¶‚µ‚Ä‚à E_Conflict ƒGƒ‰[‚É‚µ‚È‚¢‚悤‚É‚·‚é‚ɂ́AAttachPatchAndBackUpDictionary ‚Ì in_out_Options ˆø”‚ɁAThreeWayMergeOptionClass::IsEnableToRaiseConflictError = False ‚ðŽw’è - ‚µ‚Ü‚·B - in_LeafPathDictionary ˆø”‚̃L[‚ƃAƒCƒeƒ€‚ɂ́Aƒtƒ‹ ƒpƒX‚ðŠi”[‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢Bin_LeafPathDictionary ˆø”‚̃AƒCƒeƒ€‚Ì Name ƒvƒƒpƒeƒB‚ª Empty ‚Ì‚Æ‚«‚́Aíœ‚µ‚Ü‚·B - ‚Å‚¢‚¦‚΁AName(0)`Name(2) ‚́A - LeafPathDictionary ‚̃AƒCƒeƒ€‚Ì Name ƒvƒƒpƒeƒB‚ª•¶Žš—ñ‚Ì”z—ñ‚Ì‚Æ‚«‚́A - - ThreeWayMerge - - Name(0) = Base (real), Name(1) = Left (real), Name(2) = Right (real), Name(3) = - - ThreeWayMergeOptionClass - - ‚Ü‚½‚́AEmpty ‚Å‚·B - PatchAndBackUpDictionaryClass - Name(0) = back_up (real), Name(1) = target (real), Name(2) = patch (real) ‚Å‚·B - ‚µ‚Ü‚·B - - AttachPatchAndBackUpDictionary - - ‚ŃAƒ^ƒbƒ`‚µ‚½ƒpƒbƒ`‚ðŽÀÛ‚̃tƒ@ƒCƒ‹‚É”½‰f‚·‚é‚Æ‚«‚É‚àŽg‚¢‚Ü‚·B - - - - - - - RemoveKeyOfEmptyItemInLeafPathDictionary - - ¨ T_LeafPath.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - Sub RemoveKeyOfEmptyItemInLeafPathDictionary( in_out_LeafPathDictionary as dictionary of NameOnlyClass, in_IsDeleteFile as boolean ) - - yˆø”z - in_out_LeafPathDictionary - in_IsDeleteFile - ƒAƒCƒeƒ€‚Ì Name ƒvƒƒpƒeƒB‚ª Empty ‚ÌŽ«‘‚Ì—v‘f‚ð‚·‚×‚ÄœŠO‚µ‚Ü‚·B - - LeafPathDictionary - - œŠO‚µ‚½ƒL[‚ɏ‘‚©‚ꂽƒpƒX‚̃tƒ@ƒCƒ‹‚ðíœ‚·‚é‚©‚Ç‚¤‚© - - << LeafPathDictionary - - - - Set dic = Dict(Array( "C:\FolderA\a.txt", new_NameOnlyClass( Empty, Empty ) ))RemoveKeyOfEmptyItemInLeafPathDictionary dic, True - - Assert not dic.Exists( "C:\FolderA\a.txt" ) - Assert not exist( "C:\FolderA\a.txt" ) - - ƒTƒ“ƒvƒ‹ - T_LeafPath_RemoveEmpty - - - - - - - NormalizeLeafPathDictionary - - - Sub NormalizeLeafPathDictionary( in_out_LeafPathDictionary as dictionary of NameOnlyClass ) - - yˆø”z - in_out_LeafPathDictionary - ƒtƒHƒ‹ƒ_[‚̃pƒX‚ƁA‚»‚Ì’†‚̃tƒ@ƒCƒ‹‚̃pƒX‚ª‚ ‚é‚Æ‚«AƒtƒHƒ‹ƒ_[‚̃pƒX‚ðœŠO‚µ‚Ü‚·B - - LeafPathDictionary - - - - Const NotCaseSensitive = 1 Set dic = CreateObject( "Scripting.Dictionary" ) - dic.CompareMode = NotCaseSensitive - - Set dic( "C:\Folder" ) = new_NameOnlyClass( "C:\Folder", Empty ) - Set dic( "C:\Folder\File.txt" ) = new_NameOnlyClass( "C:\Folder\File.txt", Empty ) - - NormalizeLeafPathDictionary dic - '// ƒL[‚ª "C:\Folder" ‚̃AƒCƒeƒ€‚ªœŠO‚³‚ê‚Ü‚·B - - ƒTƒ“ƒvƒ‹ - LeafPathDictionary ‚́AƒL[‚ðuƒtƒ@ƒCƒ‹A‚Ü‚½‚́A‹ó‚̃tƒHƒ‹ƒ_[‚̃pƒXv‚Æ‚µ‚½Ž«‘‚Å‚ ‚邱‚Æ‚ªA³‹K‚̏ó‘Ô‚Å‚·B ³‹K‚̏ó‘Ô‚É‚µ‚È‚¯‚ê‚΁Aˆê•”‚̊֐”‚ª³‚µ‚­“®ì‚µ‚Ü‚¹‚ñB - - ¨ T_LeafPath.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ ToolsLib.vbs - - T_LeafPath_Normalize - - - - - - - GetInputOutputFilePaths - - - For Each a_pair In GetInputOutputFilePaths( InputPath, Empty, "Temporary_*.txt" ) - copy_ren a_pair.InputPath, a_pair.OutputPath '// ƒƒCƒ“‚Æ‚È‚é•ÏŠ·ˆ—‚É‘Š“– - - If a_pair.IsOutputPathTemporary Then _ - move_ren a_pair.OutputPath, a_pair.InputPath - Next - - - - Function GetInputOutputFilePaths( InputPath as string or PathDictionaryClass, OutputPath as string, TemporaryBaseName as string ) as array of InputOutputFilePathClass - - ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚·‚é‚Æ‚«‚́A“ü—̓tƒ@ƒCƒ‹‚Əo—̓tƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ‚ð•Ô‚µ‚Ü‚·B - yˆø”z - InputPath - OutputPath - “ü—̓tƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚́A - o—̓tƒ@ƒCƒ‹‚̃pƒXAEmpty = “ü—̓tƒ@ƒCƒ‹‚ɏ㏑‚« - TemporaryBaseName - OutputPath = Empty ‚Ì‚Æ‚«‚ÉŽg‚¤AˆêŽžƒtƒ@ƒCƒ‹‚Ì–¼‘O - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - “ü—̓tƒ@ƒCƒ‹‚Əo—̓tƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ - •Ô‚è’l - - ¨ GetTempPath - - - PathDictionaryClass - - - - For Each a_pair In GetInputOutputFilePaths( "a.txt", "b.txt", "Temporary_*.txt" ) - - - ¨ vbslib.vbs - - - ¨ T_Wildcard.vbs - - T_GetInputOutputFilePaths - ƒTƒ“ƒvƒ‹ - - - For Each a_pair In GetInputOutputFilePaths( "a.txt", Empty, "Temporary_*.txt" ) - - - - For Each a_pair In GetInputOutputFilePaths( "FolderA", "FolderB", "Temporary_*.txt" ) - - - - Set paths = new PathDictionaryClassSet paths( "Files\*.c" ) = Nothing - Set paths( "Files\*.h" ) = Nothing - For Each a_pair In GetInputOutputFilePaths( paths, Empty, "Temporary_*.txt" ) - - OutputPath = Empty ‚ªŽw’肳‚ê‚é‚ƁA•Ô‚è’l‚Ì”z—ñ—v‘f‚̃ƒ“ƒo[ IsOutputPathTemporary ‚Í True ‚É‚È‚èA•Ô‚è’l‚Ì”z—ñ—v‘f‚̃ƒ“ƒo[ OutputPath ‚́ATemporaryBaseName ˆø”‚ÉŠî‚¢‚½ˆêŽžƒtƒ@ƒCƒ‹‚̃pƒX‚É - ‚È‚è‚Ü‚·B ‚±‚ê‚́A‰º‹L‚̃Tƒ“ƒvƒ‹‚̂悤‚ɏo—̓tƒ@ƒCƒ‹‚ð“ü—̓tƒ@ƒCƒ‹‚ɏ㏑‚«‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B - InputPath ˆø”‚Æ OutputPath ˆø”‚ª“¯‚¶ƒpƒX‚Ì‚Æ‚«‚àAOutputPath = Empty ‚ªŽw’肳‚ꂽ‚Æ‚«‚Æ“¯‚¶•Ô‚è’l - ‚É‚È‚è‚Ü‚·B - ˆø”‚̃oƒŠƒG[ƒVƒ‡ƒ“ - “ü—̓tƒ@ƒCƒ‹‚ɏ㏑‚«‚·‚邱‚ƂɑΉž‚µ‚½ƒR[ƒh - - ¨ InputOutputFilePathClass - - ŠÖ˜A - - ¨ ReplaceRootPath - - InputPath ‚É PathDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚ðŽw’è‚Å‚«‚邱‚Æ‚ª“Á’¥‚Å‚·B - - - - - - - InputOutputFilePathClass - ƒ\[ƒX - - ¨ vbslib.vbs - - ‚Ì•Ô‚è’li”z—ñj‚Ì—v‘fB - .InputPath - “ü—̓tƒ@ƒCƒ‹‚̃pƒX - .OutputPath - - GetInputOutputFilePaths - - .IsOutputPathTemporary - o—̓tƒ@ƒCƒ‹‚̃pƒX - OutputPath ƒƒ“ƒo[‚́A“ü—̓tƒ@ƒCƒ‹‚ɏ㏑‚«‚·‚é‘O‚̈ꎞƒtƒ@ƒCƒ‹‚̃pƒX‚©‚Ç‚¤‚© - - - - - - - ArrayFromWildcard2 - - - Function ArrayFromWildcard2( WildcardPath as string ) as PathDictionaryClass of Nothing - - ƒƒCƒ‹ƒhƒJ[ƒh‚ð“WŠJ‚µ‚Ü‚·B ƒTƒu ƒtƒHƒ‹ƒ_[‚àŒŸõ‚µ‚Ü‚·B - yˆø”z - WildcardPath - ƒtƒHƒ‹ƒ_[ƒpƒXB ƒƒCƒ‹ƒhƒJ[ƒh‚à‰ÂB - •Ô‚è’l - - PathDictionaryClass - - of Nothing - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_Wildcard.vbs - - T_ArrayFromWildcard2 - - ArrayFromWildcard - - ‚Ƃ̈Ⴂ‚́A•Ô‚è’l‚Ì BasePath ƒvƒƒpƒeƒB‚ªAWildcardPath ˆø”‚ÉŽw’肵‚½ - ƒtƒHƒ‹ƒ_[‚ɂȂ邱‚Æ‚Å‚·B ArrayFromWildcard ‚ł́AƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚ª BasePath ‚̃vƒƒpƒeƒB‚É‚È‚è‚Ü‚·B ƒƒCƒ‹ƒhƒJ[ƒh‚ª‚ ‚é‚ƁAƒtƒ@ƒCƒ‹–¼‚ŃtƒBƒ‹ƒ^[‚µ‚Ü‚·B - - - Set paths = ArrayFromWildcard2( "Folder" )Assert paths.BasePath = GetFullPath( "Folder", Empty ) - Assert IsSameArray( paths.FilePaths, Array( "A.txt", "B.ini", "Sub\A.txt" ) ) - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - Set paths = ArrayFromWildcard2( "Folder\*.txt" )Assert paths.BasePath = GetFullPath( "Folder", Empty ) - Assert IsSameArray( paths.FilePaths, Array( "A.txt", "Sub\A.txt" ) ) - - ƒƒCƒ‹ƒhƒJ[ƒh‚ª‚È‚¢‚Æ‚«‚́Aƒtƒ@ƒCƒ‹ ‚Ü‚½‚Í ƒtƒHƒ‹ƒ_[‚̃pƒX‚Æ‚µ‚Ä“WŠJ‚µ‚Ü‚·BŽw’肵‚½ƒpƒX‚ªŽw‚·êŠ‚Ƀtƒ@ƒCƒ‹‚©ƒtƒHƒ‹ƒ_[‚Ì‚Ç‚¿‚炪‚ ‚é‚©‚É‚æ‚Á‚Ä•Ï‚í‚è‚Ü‚·B - ‚Ç‚¿‚ç‚à‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - ƒƒCƒ‹ƒhƒJ[ƒh‚ª‚ ‚é‚Æ‚«‚́Aƒtƒ@ƒCƒ‹–¼‚ŃtƒBƒ‹ƒ^[‚µ‚Ü‚·B - ˆê”ʂɁA‘Š‘΃pƒX‚̃x[ƒX‚Æ‚È‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚ð WildcardPath ˆø”‚ÉŽw’肵‚Ü‚·B - BasePath ƒvƒƒpƒeƒB‚𖾎¦“I‚ÉŽw’肵‚½‚¢‚Æ‚«‚́A - - PathDictionaryClass - - ‚𐶐¬‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - IsWildcard - - - Function IsWildcard( path as string ) as boolean - - •¶Žš—ñ‚Ì’†‚ɃƒCƒ‹ƒhƒJ[ƒh‚ðŠÜ‚Þ‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - path - •Ô‚è’l - ’²‚ׂ镶Žš—ñ - path ‚Ì’†‚ɃƒCƒ‹ƒhƒJ[ƒh‚ðŠÜ‚Þ‚©‚Ç‚¤‚© - - (src) - - ŠÖ˜A - - ¨ ReplaceFileNameWildcard - - - - - - - - IsMatchedWithWildcard - - - Function IsMatchedWithWildcard( Path, WildCard ) as boolean - - ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - yˆø”z - ƒƒCƒ‹ƒhƒJ[ƒh - WildCard - ŒŸ¸‚·‚镶Žš—ñ - Path - WildCard ‚ÅŽw’è‚Å‚«‚郏ƒCƒ‹ƒhƒJ[ƒh‚́Aæ“ª‚É * ‚¾‚¯‚Å‚·BWildCard ‚É * ‚ª–³‚¢•¶Žš—ñ‚àŽw’è‚Å‚«‚Ü‚·B - - (src) - - ƒTƒ“ƒvƒ‹ - - - Assert IsMatchedWithWildcard( "a.bmp", "*.bmp" ) = TrueAssert IsMatchedWithWildcard( "a.bmp", "*.jpg" ) = False - - Path ‚ªƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚µ‚½‚©‚Ç‚¤‚© - •Ô‚è’l - - ¨ ExpandWildcard - - ŠÖ˜A - - ¨ T_Wildcard.vbs - - ƒeƒXƒg - - - - - - - RemoveWildcardMatchedArrayItems - - - Sub RemoveWildcardMatchedArrayItems( in_out_PathArray as array of string, WildCard as string ) - - ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚µ‚½ƒpƒX‚ð”z—ñ‚©‚珜‚«‚Ü‚·B - yˆø”z - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŠÜ‚Þƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚Ì–¼‘O - WildCard - i“üo—́j ƒpƒX‚ª“ü‚Á‚½•¶Žš—ñ‚Ì”z—ñ - in_out_PathArray - WildCard ‚ÅŽw’è‚Å‚«‚郏ƒCƒ‹ƒhƒJ[ƒh‚́Aæ“ª‚É * ‚¾‚¯‚Å‚·BWildCard ‚É * ‚ª–³‚¢•¶Žš—ñ‚àŽw’è‚Å‚«‚Ü‚·B - - (src) - - ƒTƒ“ƒvƒ‹ - - - arr = Array( "a.jpg", "b.bmp", "c.jpg" )RemoveWildcardMatchedArrayItems arr, "*.jpg" - Assert IsSameArray( arr, Array( "b.bmp" ) ) - - - - - - - - RemoveWildcard - - - Sub RemoveWildcard( WildCard as string, fnames as array of string ) - - - (src) - - ”pŽ~—\’è‚Å‚· - ‘ã‚í‚è - - ¨ RemoveWildcardMatchedArrayItems - - - - - - - - ReplaceFileNameWildcard - - ¨ T_Wildcard.vbs # [T_ReplaceFileNameWildcard] - - - - Assert ReplaceFileNameWildcard( "Fo\File.txt", "Fo\*.txt", "Fo\*.ini" ) = "Fo\File.ini" - - - - Function ReplaceFileNameWildcard( Path as string, FromStr as string, ToStr as string ) - - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽg‚Á‚āAƒtƒ@ƒCƒ‹ƒpƒX‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - Path - FromStr - ƒtƒ@ƒCƒ‹ƒpƒXiƒƒCƒ‹ƒhƒJ[ƒh‚ÍŽg‚¦‚Ü‚¹‚ñj - •ÏX‘O‚Ì•¶Žš—ñBƒƒCƒ‹ƒhƒJ[ƒh‰Â”\B - ToStr - •ÏXŒã‚Ì•¶Žš—ñBƒƒCƒ‹ƒhƒJ[ƒh‰Â”\B "" ‰Â”\B - ƒtƒ@ƒCƒ‹F - - - vbslib.lib - - ƒTƒ“ƒvƒ‹ - •ÏXŒã‚̃tƒ@ƒCƒ‹ƒpƒXB Empty=Path ‚ª FromStr ‚Ƀ}ƒbƒ`‚µ‚È‚©‚Á‚½ - •Ô‚è’l - - (src) - - ƒeƒXƒg - Path ‚ɐeƒtƒHƒ‹ƒ_[–¼‚ªŠÜ‚Ü‚ê‚é‚Æ‚«‚́AFromStr, ToStr ‚É‚àeƒtƒHƒ‹ƒ_[–¼‚ðŠÜ‚ß‚Ä‚­‚¾‚³‚¢B - - - s= ReplaceFileNameWildcard( Fo\File.txt", "Fo\*.txt", "Fo\*.xml" '// OKs= ReplaceFileNameWildcard( Fo\File.txt", "*.txt", "*.xml" '// NG - - Path ‚ªAFromStr ‚Ƀ}ƒbƒ`‚µ‚È‚©‚Á‚½‚Æ‚«‚́AEmpty ‚ª•Ô‚è‚Ü‚·B - ŠÖ˜A - - ¨ StrMatchKey ƒNƒ‰ƒX - - - ¨ RemoveWildcard - - ƒƒCƒ‹ƒhƒJ[ƒh‚Ƀ}ƒbƒ`‚·‚é‚©‚Ç‚¤‚© - - ¨ IsWildcard - - - - - - - - GetReadOnlyList - - - count = GetReadOnlyList( "C:\Folder", read_onlys, Empty )For Each step_path In read_onlys.Keys - is_read_only = read_onlys( step_path ) '// step_path="FileA.txt", ... - Next - - - - Function GetReadOnlyList( TargetPath as string, out_ReadOnlyDictionary as dictionary of boolean, Opt as Empty ) as integer - - ƒtƒHƒ‹ƒ_[‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚̃tƒ@ƒCƒ‹“Ç‚ÝŽæ‚è‘®«‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - TargetPath - out_ReadOnlyDictionary - ’²‚ׂéƒtƒHƒ‹ƒ_[A‚Ü‚½‚̓tƒ@ƒCƒ‹‚̃pƒX - io—́j ƒtƒ@ƒCƒ‹“Ç‚ÝŽæ‚è‘®«‚ÌŽ«‘AƒL[‚Í‘Š‘΃pƒXAEmpty‰Â - Opt - Empty - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - “Ç‚ÝŽæ‚è‘®«‚ªƒIƒ“‚Å‚ ‚éƒtƒ@ƒCƒ‹‚̐” - •Ô‚è’l - - ¨ T_File.vbs - - T_GetReadOnlyList -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒtƒHƒ‹ƒ_[Ž©‘Ì‚Ì “Ç‚ÝŽæ‚è‘®«‚͎擾‚Å‚«‚Ü‚¹‚ñB - ƒTƒ“ƒvƒ‹ - - - count = GetReadOnlyList( "C:\Folder\FileA.txt", read_onlys, Empty )For Each step_path In read_onlys.Keys - is_read_only = read_onlys( step_path ) '// step_path="." - Next - - TargetPath ˆø”‚ɃtƒHƒ‹ƒ_[‚ðŽw’肵‚½ê‡ - TargetPath ˆø”‚Ƀtƒ@ƒCƒ‹‚ðŽw’肵‚½ê‡ - - ¨ SetFilesToReadOnly - - ŠÖ˜A - “Ç‚ÝŽæ‚è‘®«‚ªƒIƒ“‚Å‚ ‚éƒtƒ@ƒCƒ‹‚ª‚È‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚·‚é - ƒTƒ“ƒvƒ‹ - - - Assert GetReadOnlyList( "C:\Folder\FileA.txt", read_onlys, Empty ) = 0 - - read_onlys.Keys ‚©‚çA“Ç‚ÝŽæ‚è‘®«‚ªƒIƒ“‚Å‚ ‚éƒtƒ@ƒCƒ‹‚̃pƒX‚ª•ª‚©‚è‚Ü‚·B - - - - - - - EnumFolderObjectDic - ƒTƒuEƒtƒHƒ‹ƒ_[EƒIƒuƒWƒFƒNƒg‚ð‚‘¬‚ÉŽ«‘‚É—ñ‹“‚µ‚Ü‚·B ƒTƒuƒtƒHƒ‹ƒ_‚̃TƒuƒtƒHƒ‹ƒ_‚à—ñ‹“‚µ‚Ü‚·B - yˆø”z - Opt - FolderPath - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ’²‚ׂéƒtƒHƒ‹ƒ_‚̃pƒXB ‚±‚̃tƒHƒ‹ƒ_‚Ì’†‚©‚ç—ñ‹“‚µ‚Ü‚· - - - Sub EnumFolderObjectDic( FolderPath as string, Opt as Empty, out_Folders as dictinoary of Folder ) - - io—́j ƒTƒuƒtƒHƒ‹ƒ_‚ðŠÜ‚Þ Folder ƒIƒuƒWƒFƒNƒg‚ÌŽ«‘ - out_Folders - out_Folders ‚ɂ́AFolderPath ‚Ì Folder ƒIƒuƒWƒFƒNƒg‚ƁAFolderPath ‚̃TƒuƒtƒHƒ‹ƒ_[‚Ì Folder ƒIƒuƒWƒFƒNƒg‚Ì—¼•û‚ªŠÜ‚Ü‚ê‚Ü‚·B FolderPath ‚É‘Š“–‚·‚éƒL[‚Ì’l‚Í "." ‚Å‚·B - out_Folders ‚ÍŽ«‘Œ^‚Å‚·B ƒL[‚́AƒtƒHƒ‹ƒ_[‚Ö‚Ì‘Š‘΃pƒX‚Å‚·B ‚»‚̊ƒtƒHƒ‹ƒ_[‚́AFolderPath‚Å‚·B ƒAƒCƒeƒ€‚́AFolder ƒIƒuƒWƒFƒNƒg‚Å‚·B - - - EnumFolderObjectDic "C:\FolderA", Empty, folders1 '// [out] folders1 EnumFolderObjectDic "C:\FolderB", Empty, folders2 '// [out] folders2 - For Each step_path In folders1.Keys - If not folders2.Exists( step_path ) Then - mkdir "C:\FolderB\"+ step_path - For Each file In folders1.Item( step_path ).Files - copy "C:\FolderA\"+ step_path + file.Name, "C:\FolderB\"+ step_path - Next - End If - Next - - ƒTƒ“ƒvƒ‹ - - (src) - - EnumFolderObjectDic - EnumFolderObjectDic - - ¨ ExpandWildcard - - ŠÖ˜A - - ¨ ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - - - Folder - - - ¨ Folder ƒIƒuƒWƒFƒNƒg (VBS) - - o—Í—á - - - ".""fe" - "fo1" - "fo1\fo1" - "fo1\fo11.ex" - "fo1\t1" - "fo2" - - ƒeƒXƒg - - ¨ T_Wildcard.vbs # [T_EnumFolderObjectDic] - - - ¨ EnumFolderObject - - - ¨ EnumFileObjectDic - - - ¨ LeafPathDictionary - - - - - - - - EnumFileObjectDic - - (src) - - ƒtƒHƒ‹ƒ_‚Ì’†‚̃tƒ@ƒCƒ‹EƒIƒuƒWƒFƒNƒg‚ð‚‘¬‚ÉŽ«‘‚É—ñ‹“‚µ‚Ü‚·B - yˆø”z - out_Files - FolderOrPath - io—́j ƒtƒ@ƒCƒ‹‚̃IƒuƒWƒFƒNƒg‚ÌŽ«‘ - ’²‚ׂéƒtƒHƒ‹ƒ_‚̃pƒXB ‚Ü‚½‚́AFolder ƒIƒuƒWƒFƒNƒgi‚‘¬j - - - Sub EnumFileObjectDic( FolderOrPath as string or Folder, out_Files as dictinoary of File - - out_Files ‚ÍŽ«‘Œ^‚Å‚·B ƒL[‚́Aƒtƒ@ƒCƒ‹–¼‚Å‚·B ƒAƒCƒeƒ€‚́AFile ƒIƒuƒWƒFƒNƒg‚Å‚·BƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚Í—ñ‹“‚µ‚Ü‚¹‚ñB - - - Dim files1, files2, file_name - EnumFileObjectDic "C:\FolderA", files1 '// [out] files1 - EnumFileObjectDic "C:\FolderB", files2 '// [out] files2 - For Each file_name In files1.Keys - If not files2.Exists( file_name ) Then - copy "C:\FolderA\"+ file_name, "C:\FolderB" - End If - Next - - ƒTƒ“ƒvƒ‹ - EnumFileObjectDic - EnumFileObjectDic - - File - - ŠÖ˜A - - ¨ EnumFolderObjectDic - - - ¨ Dic_addFilePaths_fromPathDirectory - - - ¨ LeafPathDictionary - - - - - - - - EnumFolderObject - - - Sub EnumFolderObject( FolderPath as string, out_Folders as array of Folder ) - - ƒTƒu ƒtƒHƒ‹ƒ_[‚̃IƒuƒWƒFƒNƒg‚ð‚‘¬‚É—ñ‹“‚µ‚Ü‚·B ƒTƒu ƒtƒHƒ‹ƒ_[‚̃Tƒu ƒtƒHƒ‹ƒ_[‚à—ñ‹“‚µ‚Ü‚·B - yˆø”z - out_Folders - FolderPath - io—́j ƒTƒuƒtƒHƒ‹ƒ_‚̃IƒuƒWƒFƒNƒg‚Ì”z—ñ - ’²‚ׂéƒtƒHƒ‹ƒ_‚̃pƒXB ‚±‚̃tƒHƒ‹ƒ_‚Ì’†‚©‚ç—ñ‹“‚µ‚Ü‚· - - ¨ ExpandWildcard - - - (src) - - - - Set fname_key = new StrMatchKey fname_key.Keyword = LCase( "*.txt" ) - - EnumFolderObject "C:\FolderA", folders '// [out] folders - For Each fo In folders '// fo as Folder - For Each fi In fo.Files '// fo as File - If fname_key.IsMatch( fi.Name ) Then - echo fi.DateLastModified - End If - Next - Next - - ŠÖ˜A - - ¨ ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - - out_Folders ‚ɂ́AFolderPath ‚Ì Folder ƒIƒuƒWƒFƒNƒg‚ƁAFolderPath ‚̃Tƒu ƒtƒHƒ‹ƒ_[‚Ì Folder ƒIƒuƒWƒFƒNƒg‚Ì—¼•û‚ªŠÜ‚Ü‚ê‚Ü‚·B - ƒTƒ“ƒvƒ‹ - EnumFolderObject - - Folder - - ƒTƒuEƒtƒHƒ‹ƒ_[‚ð—ñ‹“‚µ‚È‚¢ê‡ - - ¨ Folder::SubFolders - - «”\ - ƒTƒ“ƒvƒ‹ - - - EnumFolderObject "C:\FolderA", folders '// [out] folders For Each folder In folders '// folder as Folder Object - For Each file In folder.Files '// file as File Object - echo file.Path - Next - Next - - EnumFolderObject - - ¨ Folder ƒIƒuƒWƒFƒNƒg - - - ¨ File ƒIƒuƒWƒFƒNƒg - - - ¨ EnumFolderObjectDic - - - ¨ EnumFileObjectDic - - - ¨ ƒtƒ@ƒCƒ‹‚ðˆê——‚·‚é‚Æ‚«‚Ì‘¬“x - - - - - - - - GetSubFolders - - - Sub GetSubFolders( folders as array of string, path as string ) - - ƒTƒu ƒtƒHƒ‹ƒ_[‚̃pƒX‚ð—ñ‹“‚µ‚Ü‚·B ƒTƒu ƒtƒHƒ‹ƒ_[‚̃Tƒu ƒtƒHƒ‹ƒ_[‚à—ñ‹“‚µ‚Ü‚·B - yˆø”z - folders - path - io—́j ƒTƒu ƒtƒHƒ‹ƒ_[‚̃pƒX‚Ì”z—ñ - ’²‚ׂéƒtƒHƒ‹ƒ_[‚̃pƒXB ‚±‚̃tƒHƒ‹ƒ_[‚Ì’†‚©‚ç—ñ‹“‚µ‚Ü‚· - - ¨ ExpandWildcard - - ŠÖ˜A - - (src) - - - - - - - - ‚»‚Ì‘¼ - - ¨ Dic_searchChildren - - ƒtƒHƒ‹ƒ_[‚É“ü‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ðˆê——‚·‚邱‚Æ‚É‹ß‚¢ˆ—‚ðŽ«‘‚ōs‚¢‚Ü‚·B - - - - - - - - - PatchAndBackUpDictionaryClass - PatchAndBackUpDictionaryClass ‚́Aƒtƒ@ƒCƒ‹‚ð’u‚«Š·‚¦‚éƒpƒbƒ`‚É‚¨‚¯‚éAƒtƒ@ƒCƒ‹‚̈ꗗ‚Å‚·B - .PatchRootPath - ƒpƒbƒ` ƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒXB ’u‚«Š·‚¦‚½Œã‚̃tƒ@ƒCƒ‹‚ª‚ ‚éBì¬‚·‚é—\’è‚̃pƒbƒ`‚É“ü‚ê‚éAƒpƒbƒ` ƒtƒHƒ‹ƒ_[‚̃‹[ƒg‚̃pƒXB - .BackUpRootPath - .PatchPaths - .BackUpPaths - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_LeafPath.vbs - - T_LeafPath - - ¨ ToolsLib.vbs - - ƒoƒbƒNƒAƒbƒv ƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒXB ’u‚«Š·‚¦‚é‘O‚̃tƒ@ƒCƒ‹‚ª‚ ‚éBì¬‚·‚é—\’è‚̃pƒbƒ`‚É“ü‚ê‚éAƒoƒbƒNƒAƒbƒv ƒtƒHƒ‹ƒ_[‚̃‹[ƒg‚̃pƒXB - ƒpƒbƒ` ƒtƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚̈ꗗB - - ¨ LeafPathDictionary - - - ¨ LeafPathDictionary - - ƒoƒbƒNƒAƒbƒv ƒtƒHƒ‹ƒ_[‚É‚ ‚éƒtƒ@ƒCƒ‹‚̈ꗗB - - EnumerateToPatchAndBackUpDictionary - - ƒtƒHƒ‹ƒ_[‚©‚çAƒtƒ@ƒCƒ‹‚̈ꗗ‚𐶐¬‚µ‚Ü‚· - - AttachPatchAndBackUpDictionary - - ƒpƒbƒ`‚ð‚ ‚Ä‚é‚悤‚ɁAƒtƒ@ƒCƒ‹‚̈ꗗ‚ð•ÏX‚µ‚Ü‚· - - MakePatchAndBackUpDictionary - - ƒpƒbƒ`‚É“ü‚ê‚éƒtƒ@ƒCƒ‹‚̈ꗗ‚ðì¬‚µ‚Ü‚· - back_up - patch - ’u‚«Š·‚¦‚½Œã‚̃tƒ@ƒCƒ‹‚ª‚ ‚é - ’u‚«Š·‚¦‚é‘O‚̃tƒ@ƒCƒ‹‚ª‚ ‚é - ƒƒ“ƒo[ - - SyncFilesX ƒRƒ}ƒ“ƒh - - Epatch ƒtƒHƒ‹ƒ_[ = SyncFilesX ‚̃[ƒNEback_up ƒtƒHƒ‹ƒ_[ = SyncFilesX ‚̃x[ƒX - ƒpƒbƒ`Ž©‘̂̍XV“à—e‚ÌŠm”F•û–@ - ‚ŁAŒÃ‚¢ƒpƒbƒ`‚ƁAV‚µ‚¢ƒpƒbƒ`‚̈Ⴂ‚ðŠm”F‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒpƒbƒ`‚ªs‚¤XV“à—e‚ÌŠm”F•û–@ - ‚ðŽg‚Á‚āApatch ƒtƒHƒ‹ƒ_[‚Æ back_up ƒtƒHƒ‹ƒ_[‚̍·•ª‚ðŠm”F‚·‚邱‚ƂŁA - - Diff ƒc[ƒ‹ - - ƒpƒbƒ`‚ªs‚¤XV“à—e‚ðŠm”F‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ‚½‚¾‚µASyncFilesX ‚ł́AˆÈ‰º‚̂悤‚É“Ç‚Ý‘Ö‚¦‚ð‚µ‚Ä‚­‚¾‚³‚¢B - ƒL[‚́Aíœ‚·‚é‘O‚É”äŠr‚·‚éƒtƒ@ƒCƒ‹‚̃tƒ‹ ƒpƒXB ƒAƒCƒeƒ€‚Ì Name ‚́A‚»‚ÌŽÀ‘̂ƂȂ鑶Ý‚·‚éƒtƒ@ƒCƒ‹‚̃tƒ‹ ƒpƒXB - ƒL[‚́AƒRƒs[Œ³‚̃tƒ‹ ƒpƒXB ƒAƒCƒeƒ€‚Ì Name ‚́A‚»‚ÌŽÀ‘̂ƂȂ鑶Ý‚·‚éƒtƒ@ƒCƒ‹‚̃tƒ‹ ƒpƒXB - E‘Š‘΃pƒXP = GetStepPath( patch.PatchPaths.Key, patch.PatchRootPath )E‘Š‘΃pƒXB = GetStepPath( patch.BackUpPaths.Key, patch.BackUpRootPath ) - E‘Š‘΃pƒXT = GetStepPath( full_path_T, base_path_T ) - ‚½‚¾‚µA - Epatch ‚́APatchAndBackUpDictionaryClass ‚̃IƒuƒWƒFƒNƒg - Efull_path_T ‚́Aƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂł ‚éƒtƒ@ƒCƒ‹ T ‚̃tƒ‹ ƒpƒX - Ebase_path_T ‚́Aƒpƒbƒ`‚ð‚ ‚Ä‚é‚Æ‚«‚ÉŽw’è‚·‚é‘Ώۂ̃x[ƒX ƒtƒHƒ‹ƒ_[‚̃pƒX - - GetStepPath - - ‚ ‚éƒtƒ@ƒCƒ‹ T ‚ɑ΂·‚é’u‚«Š·‚¦‚é‘OŒã‚̃tƒ@ƒCƒ‹(B,P) ‚́AŽŸ‚Ì‘Š‘΃pƒXP, B, T ‚ª‚·‚ׂē¯‚¶‚Æ‚¢‚¤ŠÖŒW‚ª‚ ‚è‚Ü‚·B - .Copy() - ƒRƒs[‚µ‚½ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - AttachPatchAndCheckBackUp - - ŠÖ” - ƒpƒbƒ`‚ð‚ ‚Ä‚Ü‚· - ŽQl - - ¨ SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - - - - - - - - AttachPatchAndCheckBackUp - - - Sub AttachPatchAndCheckBackUp( in_PatchTargetPath as string, in_BackUpTargetPath as string, in_PatchPath as string, in_BackUpPath as string ) - - yˆø”z - in_PatchTargetPath - in_PatchPath ˆø”‚ª‘ΏۂƂ·‚郋[ƒg‚̃tƒHƒ‹ƒ_[‚̃pƒX - in_BackUpTargetPath - ƒpƒbƒ`‚ð‚ ‚Ä‚Ü‚·B - in_BackUpPath ˆø”‚ª‘ΏۂƂ·‚郋[ƒg‚̃tƒHƒ‹ƒ_[‚̃pƒX - íœ‚Ü‚½‚͏㏑‚«‚³‚ê‚é‘O‚Ì“à—e‚ª“ü‚Á‚½ back_up ƒtƒHƒ‹ƒ_[‚̃pƒX - in_BackUpPath - ƒRƒs[Œ³ƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ patch ƒtƒHƒ‹ƒ_[‚̃pƒX - in_PatchPath - “à•”‚Å - - PatchAndBackUpDictionaryClass - - ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_PatchAndBackUp_1 - T_PatchAndBackUp_Moved - ƒoƒbƒNƒAƒbƒv ƒtƒ@ƒCƒ‹‚ª“¯‚¶“à—e‚©‚Ç‚¤‚©‚𒲂ׂé‚̂ɁA - ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B - - g_FileHashCache - - - - - - - - EnumerateToPatchAndBackUpDictionary - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - Function EnumerateToPatchAndBackUpDictionary( in_Path as string ) as PatchAndBackUpDictionaryClass - - yˆø”z - in_Path - ƒtƒHƒ‹ƒ_[‚̃pƒX - •Ô‚è’l - ƒeƒXƒg - ƒtƒHƒ‹ƒ_[‚©‚çAPatchAndBackUpDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - - ¨ T_LeafPath.vbs - - T_LeafPath - - << PatchAndBackUpDictionaryClass - - - ¨ PatchAndBackUpDictionaryClass - - ƒpƒbƒ` ƒtƒ@ƒCƒ‹‚̈ꗗ - T_PatchAndBackUp - in_Path ˆø”‚ɂ́Apatch ƒtƒHƒ‹ƒ_[‚Æ back_up ƒtƒHƒ‹ƒ_[‚Ì—¼•û‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚Ü‚·B•Ô‚è’l‚̃L[‚ƃAƒCƒeƒ€‚ɂ́Aƒtƒ‹ ƒpƒX‚ªŠi”[‚³‚ê‚Ü‚·B - - - files = Empty g_FileHashCache.RemoveAll - Set patch = EnumerateToPatchAndBackUpDictionary( "patch" ) - AttachPatchAndBackUpDictionary files, "target", patch, False '//(out)files - CopyFilesToLeafPathDictionary files, True - - ƒTƒ“ƒvƒ‹ - "target" ƒtƒHƒ‹ƒ_[‚ɁAƒpƒbƒ`i "patch\patch" & "patch\back_up" ƒtƒHƒ‹ƒ_[ j‚ð‚ ‚Ä‚Ü‚·B - - g_FileHashCache - - - CopyFilesToLeafPathDictionary - - - AttachPatchAndBackUpDictionary - - EnumerateToPatchAndBackUpDictionary - patch ƒtƒHƒ‹ƒ_[‚Æ back_up ƒtƒHƒ‹ƒ_[‚̃pƒX‚ð‚»‚ê‚¼‚êŽw’è‚·‚é‚Æ‚« - - ¨ MakePatchAndBackUpDictionary - - - - - - - - MakePatchAndBackUpDictionary - - - Function MakePatchAndBackUpDictionary( _ in_AttachedLeafPathDictionary as dictionary, in_RootPathInAttachedLeafPath as string, _ - in_BaseLeafPathDictionary as dictionary, in_RootPathInBaseLeafPath as string, _ - in_PathOfPatchAndBackUp as string ) as PatchAndBackUpDictionaryClass - - ƒtƒ@ƒCƒ‹‚̈ꗗ‚©‚çAPatchAndBackUpDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - in_AttachedLeafPathDictionary - ƒpƒbƒ`‚ð‚ ‚Ä‚½Œã‚̃tƒ@ƒCƒ‹‚̈ꗗA‚Ü‚½‚́AEmpty - in_RootPathInAttachedLeafPath - in_BaseLeafPathDictionary - in_RootPathInBaseLeafPath - ƒpƒbƒ`‚̃‹[ƒg‚É‚·‚éAƒpƒbƒ`‚ð‚ ‚Ä‚½Œã‚̃tƒHƒ‹ƒ_[‚̃pƒX - ƒpƒbƒ`‚ð‚ ‚Ä‚é‘O‚̃tƒ@ƒCƒ‹‚̈ꗗA‚Ü‚½‚́AEmpty - ƒpƒbƒ`‚̃‹[ƒg‚É‚·‚éAƒpƒbƒ`‚ð‚ ‚Ä‚é‘O‚̃tƒHƒ‹ƒ_[‚̃pƒX - in_PathOfPatchAndBackUp - ì¬‚·‚é—\’è‚́Aƒpƒbƒ`‚̃‹[ƒg‚̃pƒXA‚Ü‚½‚́AEmpty - ƒpƒbƒ`Ž©‘́iƒtƒHƒ‹ƒ_[j‚͍쐬‚µ‚Ü‚¹‚ñB ì¬‚·‚é‚Æ‚«‚́A–{ŠÖ”‚ðŒÄ‚яo‚µ‚½Œã‚ŁA - - CopyFilesToLeafPathDictionary - - ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_LeafPath_MakePatch - in_AttachedLeafPathDictionary ˆø”A‚Ü‚½‚́Ain_BaseLeafPathDictionary ˆø”‚ɁA’l‚ª Empty ‚̕ϐ”‚ð - - LeafPathDictionary - - Žw’è‚·‚é‚ƁA‚»‚̕ϐ”‚É - ‚ªŠi”[‚³‚ê‚Ü‚·B ‚»‚̃L[‚ƃAƒCƒeƒ€‚ɂ́Aƒtƒ‹ ƒpƒX‚ª - T_PatchAndBackUp - •Ô‚è’l - - ¨ PatchAndBackUpDictionaryClass - - - - Set patch = MakePatchAndBackUpDictionary( _ Empty, "02", Empty, "01", _ - "_work\Patch" ) - CopyFilesToLeafPathDictionary patch, False - '// "_work\Patch" ‚ɁAƒpƒbƒ`‚̃tƒHƒ‹ƒ_[‚ª‚Å‚«‚Ü‚·B - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - files = Empty g_FileHashCache.RemoveAll - Set patch = MakePatchAndBackUpDictionary( _ - Empty, "patch", Empty, "back_up", Empty ) - AttachPatchAndBackUpDictionary files, "target", patch, False - CopyFilesToLeafPathDictionary files, True - - "01" ƒtƒHƒ‹ƒ_[‚©‚ç "02" ƒtƒHƒ‹ƒ_[‚ª‚Å‚«‚éƒpƒbƒ`‚ð "_work\Patch" ƒtƒHƒ‹ƒ_[‚ɍ쐬‚µ‚Ü‚·B - "target" ƒtƒHƒ‹ƒ_[‚ɁAƒpƒbƒ`i "patch" & "back_up" ƒtƒHƒ‹ƒ_[ j‚ð‚ ‚Ä‚Ü‚·B - MakePatchAndBackUpDictionary - MakePatchAndBackUpDictionary - - g_FileHashCache - - - CopyFilesToLeafPathDictionary - - - CopyFilesToLeafPathDictionary - - - AttachPatchAndBackUpDictionary - - Ši”[‚³‚ê‚Ü‚·B - - - - - - - ChangeKeyOfPatchAndBackUpDictionaryToTarget - - - Sub ChangeKeyOfPatchAndBackUpDictionaryToTarget( _ arg_PatchAndBackUpDictionary as PatchAndBackUpDictionaryClass, _ - in_TargetPath as string or array of string ) - - ƒpƒbƒ`‚̃pƒX .BackUpRootPath, .PatchRootPath, .BackUpPaths, .PatchPaths ‚ð‚ ‚Ä‚é‘ΏۂɈړ®‚µ‚Ü‚·B - yˆø”z - arg_PatchAndBackUpDictionary - in_TargetPath - ƒpƒX‚ð•ÏX‚·‚éƒpƒbƒ` - ƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚̃pƒX - in_TargetPath ‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚̃pƒX‚ɁApatch.BackUpRootPath ‚Æ patch.PatchRootPath ‚ª•ÏX‚³‚ê‚Ü‚·B ‚½‚¾‚µApatch ‚́Aarg_PatchAndBackUpDictionary ˆø”‚Æ‚µ‚Ü‚·B ‚Ü‚½A‚»‚ê‚ɍ‡‚킹‚āA - patch.BackUpPaths ‚Æ patch.PatchPaths ‚̃L[‚ð•ÏX‚µ‚Ü‚·B patch.BackUpPaths ‚Æ patch.PatchPaths ‚Ì - ƒAƒCƒeƒ€‚Ì Name ƒvƒƒpƒeƒB‚́Aƒpƒbƒ`‚ƃoƒbƒNƒAƒbƒv‚̃tƒ@ƒCƒ‹‚ðŽw‚µ‚½‚Ü‚Ü‚Å‚ ‚èA–{ŠÖ”‚ðŒÄ‚яo‚µ‚½ - Œã‚Å‚àƒpƒbƒ`‚ð‚ ‚Ä‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Set patch = new PatchAndBackUpDictionaryClass patch.PatchRootPath = "C:\A\patch" - Set patch.PatchPaths = EnumerateToLeafPathDictionary( patch.PatchRootPath ) - patch.BackUpRootPath = "C:\A\back_up" - Set patch.BackUpPaths = EnumerateToLeafPathDictionary( patch.BackUpRootPath ) - - ChangeKeyOfPatchAndBackUpDictionaryToTarget patch, "Target" - - AttachPatchAndBackUpDictionary files, patch, "Target", False - CopyFilesToLeafPathDictionary patch, False - - - MergePatchAndBackUpDictionary - - –{ŠÖ”‚́A•¡”‚̃pƒbƒ`‚ð‚»‚ê‚¼‚êˆÙ‚È‚é‘ΏۃtƒHƒ‹ƒ_[‚É‚ ‚Ă邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚·‚邽‚߂ɁAŽå‚É - ‚Ì“à•”‚©‚çŒÄ‚яo‚³‚ê‚Ü‚·B - patch.BackUpRootPath - patch.PatchRootPath - "C:\A\back_up" - "C:\A\patch" - patch.BackUpPaths.Key(0) - "C:\A\back_up\1.txt" - "C:\A\patch\1.txt" - patch.PatchPaths.Key(0) - patch.BackUpPaths.Item(0).Name - "C:\A\back_up\1.txt" - patch.PatchPaths.Item(0).Name - "C:\A\patch\1.txt" - - EnumerateToLeafPathDictionary - - - PatchAndBackUpDictionaryClass - - ChangeKeyOfPatchAndBackUpDictionaryToTarget - ŒÄ‚яo‚·‘O - ŒÄ‚яo‚µ‚½Œã - - ChangeKeyOfPatchAndBackUpDictionaryToTarget ‚ðŒÄ‚яo‚·‘OŒã‚Ì’l‚Ì—áF - "C:\A\patch\1.txt" - "C:\A\back_up\1.txt" - "C:\Target\1.txt" - "C:\Target\1.txt" - "C:\Target" - "C:\Target" - T_LeafPath ‚Ì ChangePatchToTarget - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - - ¨ PatchAndBackUpDictionaryClass - - in_TargetPath ‚É”z—ñ‚ðŽw’è‚·‚é‚ƁAƒpƒbƒ`‚ƃoƒbƒNƒAƒbƒv‚ŁAƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚ªˆÙ‚È‚é‚Æ‚«‚̏ˆ—‚ª‚Å‚«‚Ü‚·B in_TargetPath( 0 ) ‚ɂ̓pƒbƒ`‚ɑ΂·‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚̃pƒX‚ðAin_TargetPath( 1 ) - ‚ɂ̓oƒbƒNƒAƒbƒv‚ɑ΂·‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚̃pƒX‚ðŽw’肵‚Ü‚·B ŠÖ”‚©‚ç•Ô‚é‚ƁApatch.PatchRootPath ‚Æ - patch.BackUpRootPath ‚Í in_TargetPath( 0 ) ‚Æ in_TargetPath( 1 ) ‚Ì - ƒTƒ“ƒvƒ‹ - - - Set patch = new PatchAndBackUpDictionaryClass patch.PatchRootPath = "C:\A\patch" - patch.PatchPaths = EnumerateToLeafPathDictionary( patch.PatchRootPath ) - patch.BackUpRootPath = "C:\AA\back_up" - patch.BackUpPaths = EnumerateToLeafPathDictionary( patch.BackUpRootPath ) - - ChangeKeyOfPatchAndBackUpDictionaryToTarget patch, Array( "Target\P", "Target\B" ) - - target_path = patch.PatchRootPath - AttachPatchAndBackUpDictionary files, patch, target_path, False - CopyFilesToLeafPathDictionary patch, False - - "C:\Target" - "C:\Target" - "C:\Target\B\1.txt" - "C:\Target\P\1.txt" - "C:\AA\back_up\1.txt" - "C:\A\patch\1.txt" - - ŒÄ‚яo‚µ‚½Œã - ŒÄ‚яo‚·‘O - "C:\A\patch\1.txt" - patch.PatchPaths.Item(0).Name - "C:\AA\back_up\1.txt" - patch.BackUpPaths.Item(0).Name - patch.PatchPaths.Key(0) - "C:\A\patch\1.txt" - "C:\AA\back_up\1.txt" - patch.BackUpPaths.Key(0) - "C:\A\patch" - "C:\AA\back_up" - patch.PatchRootPath - patch.BackUpRootPath - ChangeKeyOfPatchAndBackUpDictionaryToTarget ‚ðŒÄ‚яo‚·‘OŒã‚Ì’l‚Ì—áF - - ‹¤’Ê‚·‚éƒpƒbƒ`‚ð‚ ‚Ä‚é‘ÎÛ - - ‚̃tƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B ‚½‚¾‚µApatch ‚́Aarg_PatchAndBackUpDictionary ˆø”‚Æ‚µ‚Ü‚·B - ƒpƒbƒ`‚ƃoƒbƒNƒAƒbƒv‚ŁAƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚ª“¯‚¶‚Æ‚« - ƒpƒbƒ`‚ƃoƒbƒNƒAƒbƒv‚ŁAƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚ªˆÙ‚È‚é‚Æ‚« - ChangeKeyOfPatchAndBackUpDictionaryToTarget - - - - - - - MergePatchAndBackUpDictionary - - - files = Empty g_FileHashCache.RemoveAll - Set patch_A = EnumerateToPatchAndBackUpDictionary( "PatchA" ) - Set patch_B = EnumerateToPatchAndBackUpDictionary( "PatchB" ) - Set patch = patch_A.Copy() - - MergePatchAndBackUpDictionary patch, "Target\A", patch_B, "Target\B" - - target_path = patch.PatchRootPath - AttachPatchAndBackUpDictionary files, patch, target_path, True '//(out)files - CopyFilesToLeafPathDictionary files, True - - - - Sub MergePatchAndBackUpDictionary( _ arg_Destination as PatchAndBackUpDictionaryClass, in_TargetRootPathOfDestination as string, _ - in_Source as PatchAndBackUpDictionaryClass, in_TargetRootPathOfSource as string ) - - PatchAndBackUpDictionaryClass ‚̃pƒbƒ`‚ðƒ}[ƒW‚µ‚Ü‚·B - yˆø”z - arg_Destination - in_Source - i“ü—́j ƒ}[ƒW‚·‚é‘OAAio—́j ƒ}[ƒW‚µ‚½Œã - ƒ}[ƒW‚·‚é‘OB - ƒTƒ“ƒvƒ‹ - MergePatchAndBackUpDictionary - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_PatchAndBackUp_Merge - T_PatchAndBackUp_Merge_CheckToTest - patch_A ‚Æ patch_B ‚ðƒ}[ƒW‚µ‚½ patch ‚ðì¬‚µAƒpƒbƒ`‚ð‚ ‚Ä‚Ü‚· - arg_Destination ‚Ì BackUp ‚É‚È‚­‚Ä Patch ‚Ƀtƒ@ƒCƒ‹‚ª‚ ‚èAin_Source ‚Ì BackUp ‚É‚ ‚Á‚Ä Patch ‚É‚È‚¢ê‡‚́Aarg_Destination ‚Æ in_Source ‚̏‡‚Ƀpƒbƒ`‚ð‚ ‚Ä‚é‚ƃGƒ‰[‚É‚È‚è‚Ü‚·iíœ¨’ljÁ‚Æ‹t‡‚È‚½‚߁jB - X‚ɁAarg_Destination ‚Ì BackUp ‚É‚ ‚Á‚Ä Patch ‚É‚È‚­Ain_Source ‚Ì BackUp ‚É‚È‚­‚Ä Patch ‚Å‚à‚ ‚éê‡‚́A - ƒ}[ƒW‚µ‚È‚¯‚ê‚Η¼•û‚̃pƒbƒ`‚ðƒAƒ^ƒbƒ`‚Å‚«‚Ü‚¹‚ñB - arg_Destination ‚Æ in_Source ‚Ì—¼•û‚É“¯‚¶ƒtƒ@ƒCƒ‹‚ɑ΂·‚éƒpƒbƒ`‚ª‚ ‚èA“à—e‚ªˆÙ‚È‚ê‚΁A‚ǂ̂悤‚É‚µ‚Ä‚àA - ƒGƒ‰[‚É‚È‚è‚Ü‚·B - - ¨ PatchAndBackUpDictionaryClass - - - ¨ PatchAndBackUpDictionaryClass - - in_TargetRootPathOfDestination - in_TargetRootPathOfSource - Empty ‚Ü‚½‚́Aarg_Destination ƒpƒbƒ`‚ð‚ ‚Ä‚é‘ΏۃtƒHƒ‹ƒ_[‚̃pƒX - Empty ‚Ü‚½‚́Ain_Source ƒpƒbƒ`‚ð‚ ‚Ä‚é‘ΏۃtƒHƒ‹ƒ_[‚̃pƒX - in_TargetRootPathOfDestination ‚Æ in_TargetRootPathOfSource ‚Ì—¼•û‚ª Empty ‚É‚Å‚«‚é‚̂́Aarg_Destination ‚Æin_Source ‚̃pƒbƒ`‚ª“¯‚¶ƒtƒHƒ‹ƒ_[‚ɑ΂·‚éƒpƒbƒ`‚Å‚ ‚é‚Æ‚«‚¾‚¯‚Å‚·B ‚»‚Ì‚Æ‚«‚́Aƒ}[ƒW‚µ‚½Œã‚Ì - arg_Destination.BackUpRootPath ‚Æ arg_Destination.PatchRootPath ‚́Aƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚Å‚Í - ‚È‚­‚È‚è‚Ü‚·B •Ð•û‚¾‚¯ Empty ‚É‚Í‚Å‚«‚Ü‚¹‚ñB - “à•”‚Å - - ChangeKeyOfPatchAndBackUpDictionaryToTarget - - ‚ðŒÄ‚яo‚µ‚Ä‚¢‚Ü‚·B ƒ}[ƒW‚µ‚½Œã‚Ì - arg_Destination.BackUpRootPath ‚Æ arg_Destination.PatchRootPath ‚́Ain_TargetRootPathOfDestination ‚Æ - in_TargetRootPathOfSource ‚É - - ‹¤’Ê‚·‚éƒpƒbƒ`‚ð‚ ‚Ä‚é‘Ώۂ̃tƒHƒ‹ƒ_[ - - ‚̃pƒX‚É‚È‚è‚Ü‚·B - - EnumerateToPatchAndBackUpDictionary - - - CopyFilesToLeafPathDictionary - - - AttachPatchAndBackUpDictionary - - - g_FileHashCache - - - ¨ CanAttachFriendPatchAndBackUpDictionary - - ŽQl - in_TargetRootPathOfDestination ‚Æ in_TargetRootPathOfSource ‚É”z—ñ‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ŽQl - - ¨ ChangeKeyOfPatchAndBackUpDictionaryToTarget - - in_TargetRootPathOfDestination ‚Æ in_TargetRootPathOfSource ‚É”z—ñ‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - MergePatchAndBackUpDictionary patch_A, Array( "Target\P", "Target\B" ), _ patch_B, ( "Target\P", "Target\B" ) - - MergePatchAndBackUpDictionary - - - Set patch = patch_A.Copy() ChangeKeyOfPatchAndBackUpDictionaryToTarget patch, Array( "Target\P", "Target\B" ) - MergePatchAndBackUpDictionary patch, patch.PatchRootPath, patch_B, ( "Target\P", "Target\B" ) - MergePatchAndBackUpDictionary patch, patch.PatchRootPath, patch_C, ( "Target\P", "Target\B" ) - - - ChangeKeyOfPatchAndBackUpDictionaryToTarget - - MergePatchAndBackUpDictionary - T_PatchAndBackUp_TwistedMerge - - - - - - - CanAttachFriendPatchAndBackUpDictionary - - - Set patch_A = EnumerateToPatchAndBackUpDictionary( "PatchA" ) Set patch_B = EnumerateToPatchAndBackUpDictionary( "PatchB" ) - state = CanAttachFriendPatchAndBackUpDictionary( patch_A, "Target\A", patch_B, "Target\B" ) - If state = c.MustAttachAfterFriend or state = c.MustMergeWithFriend Then - Set patch = patch_A.Copy() - MergePatchAndBackUpDictionary patch, "Target\A", patch_B, "Target\B" - End If - - - - Function CanAttachFriendPatchAndBackUpDictionary( _ in_AttachingPatch as PatchAndBackUpDictionaryClass, in_TargetRootPathOfAttaching as string, _ - in_FriendPatch as PatchAndBackUpDictionaryClass, in_TargetRootPathOfFriend as string ) as integer - - ‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚©‚Ç‚¤‚©‚𒲂ׂ܂·B - yˆø”z - in_AttachingPatch - in_FriendPatch - æ‚ɃAƒ^ƒbƒ`‚·‚éƒpƒbƒ`A - Œã‚ŃAƒ^ƒbƒ`‚·‚éƒpƒbƒ`F - ƒTƒ“ƒvƒ‹ - CanAttachFriendPatchAndBackUpDictionary - ƒ\[ƒX - - ¨ ToolsLib.vbs - - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_PatchAndBackUp_Merge - - MergePatchAndBackUpDictionary - - •¡”‚̃pƒbƒ`‚ð‚ ‚Ä‚é‚Æ‚«‚É - •Ô‚è’l - ’²‚ׂ½Œ‹‰Êi‰º‹Lj - c.MustAttachAfterFriend - c.CannotAttachBoth - c.MustMergeWithFriend - ƒpƒbƒ`A ‚ƃpƒbƒ`F ‚Ì—¼•û‚ðƒAƒ^ƒbƒ`‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ - ƒpƒbƒ`A ‚ƃpƒbƒ`F ‚Ì—¼•û‚ðƒAƒ^ƒbƒ`‚·‚é‚ɂ́Aæ‚Ƀpƒbƒ`F ‚ð‚ ‚Ä‚é‚©A - •Ô‚è’l‚ɂ‚¢‚Ä - c.Attachable - ƒpƒbƒ`A ‚ƃpƒbƒ`F ‚Ì—¼•û‚ðƒAƒ^ƒbƒ`‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚· - ƒpƒbƒ`A ‚ƃpƒbƒ`F ‚Ì—¼•û‚ðƒAƒ^ƒbƒ`‚·‚é‚ɂ́A - - MergePatchAndBackUpDictionary - - ‚·‚é•K—v‚ª‚ ‚è‚Ü‚· - ‚·‚é•K—v‚ª‚ ‚è‚Ü‚· - - MergePatchAndBackUpDictionary - - ‰º‹L‚Ì‚¢‚¸‚ê‚©‚ª•Ô‚è‚Ü‚·B ‚È‚¨Ac = get_ToolsLibConsts() ‚Å‚·B - in_TargetRootPathOfAttaching - Empty ‚Ü‚½‚́Ain_AttachingPatch ƒpƒbƒ`‚ð‚ ‚Ä‚é‘ΏۃtƒHƒ‹ƒ_[‚̃pƒX - in_TargetRootPathOfFriend - Empty ‚Ü‚½‚́Ain_FriendPatch ƒpƒbƒ`‚ð‚ ‚Ä‚é‘ΏۃtƒHƒ‹ƒ_[‚̃pƒX - - ¨ MergePatchAndBackUpDictionary - - in_TargetRootPathOfAttaching, in_TargetRootPathOfFriend ˆø”‚ɂ‚¢‚Ä - ŽQl - ‚Ì in_TargetRootPathOfDestination ˆø”‚Ìà–¾ - in_TargetRootPathOfAttaching ‚Æ in_TargetRootPathOfFriend ‚É”z—ñ‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - - - - - AttachPatchAndBackUpDictionary - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - - Sub AttachPatchAndBackUpDictionary( in_out_LeafPathDictionary as dictionary of NameOnlyClass, - in_PatchAndBackUpDictionary as PatchAndBackUpDictionaryClass or string, - in_RootPathInLeafPath as string, _ - in_out_Options as boolean or ThreeWayMergeOptionClass ) - - - << PatchAndBackUpDictionaryClass - - ƒpƒbƒ`‚ð‚ ‚Ä‚é‚悤‚ɁAƒtƒ@ƒCƒ‹‚̈ꗗ‚ð•ÏX‚µ‚Ü‚· - yˆø”z - in_out_LeafPathDictionary - •ÏX‚³‚ê‚éƒtƒ@ƒCƒ‹ ƒpƒX‚̈ꗗ - in_RootPathInLeafPath - ƒeƒXƒg - - ¨ T_LeafPath.vbs - - T_LeafPath - in_PatchAndBackUpDictionary - in_out_Options - - ¨ LeafPathDictionary - - ƒpƒbƒ`‚ð“–‚Ä‚é‘Ώۂ̃‹[ƒg‚̃pƒX - - ¨ PatchAndBackUpDictionaryClass - - ƒpƒbƒ`iƒpƒbƒ` ƒtƒ@ƒCƒ‹‚̈ꗗj - ƒIƒvƒVƒ‡ƒ“i‰º‹LjA’ʏí True - ƒoƒbƒNƒAƒbƒv ƒtƒ@ƒCƒ‹‚ª“¯‚¶“à—e‚©‚Ç‚¤‚©‚𒲂ׂé‚̂ɁA - ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B - - g_FileHashCache - - T_LeafPath_CheckBackUp - in_PatchAndBackUpDictionary ˆø”‚É•¶Žš—ñŒ^‚Ì’l‚ðŽw’è‚·‚é‚ƁA“à•”‚Å - - EnumerateToPatchAndBackUpDictionary - - ‚ðŒÄ‚яo‚µ‚Ü‚·B - T_PatchAndBackUp - - CopyFilesToLeafPathDictionary - - ƒtƒ@ƒCƒ‹‚̃Rƒs[‚ðŽÀÛ‚É‚·‚é‚Æ‚«‚́AAttachPatchAndBackUpDictionary ‚ŕύX‚µ‚½Œãi•Ï”‚Ì’†‚Ńpƒbƒ`‚ð - ‚ðŒÄ‚яo‚µ‚Ü‚·B ‚»‚̊֐”‚Ì’†‚ŁA - ‚ ‚Ä‚½Œãj - in_out_LeafPathDictionary ˆø”‚É’l‚ª Empty ‚̕ϐ”‚ðŽw’è‚·‚é‚ƁA‚»‚̕ϐ”‚É - - LeafPathDictionary - - ‚ªŠi”[‚³‚ê‚Ü‚·B in_RootPathInLeafPath ‚ªŽw‚·ƒtƒHƒ‹ƒ_[‚ɁAin_PatchAndBackUpDictionary ‚̃pƒbƒ`‚ð‚ ‚Ä‚½ƒtƒ@ƒCƒ‹‚̈ꗗ‚ªŠi”[‚³‚ê‚Ü‚·B ‚»‚̃L[‚ƃAƒCƒeƒ€‚ɂ́Aƒtƒ‹ ƒpƒX‚ªŠi”[‚³‚ê‚Ü‚·B - - ThreeWayMerge - - ‚ðs‚¢‚Ü‚·B - - ¨ T_ModuleAssort.vbs - - T_LeafPathMerge - in_out_Options ‚É boolean Œ^‚ðŽw’肵‚½‚Æ‚«‚́AƒoƒbƒNƒAƒbƒv ƒtƒ@ƒCƒ‹‚ª“¯‚¶“à—e‚Å‚È‚¯‚ê‚΃Gƒ‰[‚É‚·‚é‚© - ‚Ç‚¤‚©‚ðŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B True ‚ðŽw’è‚·‚é‚ƁAƒoƒbƒNƒAƒbƒv‚É‚ ‚éƒtƒ@ƒCƒ‹‚ª‘Ώۂ̃tƒHƒ‹ƒ_[‚É‚È‚¢‚Æ‚«‚Å‚àƒGƒ‰[‚É‚È‚è‚Ü‚·B - - ThreeWayMergeOptionClass - - ‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ CopyFilesToLeafPathDictionary ‚̃eƒXƒg - - Žè“®‚Ńpƒbƒ`‚ð‚ ‚Ä‚é‚Æ‚«‚́A - - UpdateModule ƒRƒ}ƒ“ƒh - - ‚ðŽg‚¢‚Ü‚·B - in_out_LeafPathDictionary ˆø”‚Æ in_PatchAndBackUpDictionary ˆø”‚̃L[‚ƃAƒCƒeƒ€‚ɂ́Aƒtƒ‹ ƒpƒX‚ðŠi”[‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B - - ¨ EnumerateToPatchAndBackUpDictionary ‚̃Tƒ“ƒvƒ‹ - - ƒTƒ“ƒvƒ‹ - ƒoƒbƒNƒAƒbƒv ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ɑΉž‚·‚éƒvƒƒWƒFƒNƒg“à‚̃tƒHƒ‹ƒ_[‚ƁAƒpƒbƒ` ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ɑΉž‚·‚éƒvƒƒWƒFƒNƒg“à‚̃tƒHƒ‹ƒ_[‚ªˆÙ‚È‚é‚Æ‚«‚́A - - ChangeKeyOfPatchAndBackUpDictionaryToTarget - - ‚Ì in_TargetPath ˆø”‚É”z—ñ‚ðŽw’è‚·‚邱‚ƂŁA - ƒvƒƒWƒFƒNƒg“à‚̃tƒHƒ‹ƒ_[‚ð‚»‚ë‚¦‚Ä‚­‚¾‚³‚¢B - ŽQl - - ¨ SyncFilesX ‚ð“à•”‚ÅŽg‚¤ƒc[ƒ‹‚Æ‚Ì”äŠr - - - - - - - - ƒ^ƒu•¶Žš - - ChangeHeadSpaceToTab - - s“ª‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚· - ƒeƒXƒg - - ¨ T_ChangeTabSpace ƒtƒHƒ‹ƒ_ - - - ChangeHeadTabToSpace - - - ChangeMiddleSpaceToTab - - - ChangeMiddleTabToSpace - - s“ª‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚· - s“ªˆÈŠO‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚· - s“ªˆÈŠO‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚· - - - - - - - ChangeHeadSpaceToTab - - - Sub ChangeHeadSpaceToTab( ReadStream as TextStream, WriteStream as TextStream, TabSize as integer ) - - s“ª‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ReadStream - WriteStream - •ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - •ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - TabSize - ‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐” -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ToolsLib.vbs (src) - - - ¨ StartReplaceObj::r - - - ¨ StartReplaceObj::w - - - - - - - - ChangeHeadTabToSpace - - - Sub ChangeHeadTabToSpace( ReadStream as TextStream, WriteStream as TextStream, TabSize as integer ) - - s“ª‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ReadStream - WriteStream - •ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - •ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - TabSize - ‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐” -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ToolsLib.vbs (src) - - - ¨ StartReplaceObj::r - - - ¨ StartReplaceObj::w - - ƒTƒ“ƒvƒ‹ - - - Set rep = StartReplace( "in\sample.c", "out\sample.c", True )ChangeHeadTabToSpace rep.r, rep.w, 4 - rep.Finish - - - - - - - - ChangeMiddleSpaceToTab - - - Sub ChangeMiddleSpaceToTab( ReadStream as TextStream, WriteStream as TextStream, TabSize as integer ) - - s“ªˆÈŠO‚Ì‹ó”’•¶Žš‚ðƒ^ƒu•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ReadStream - WriteStream - •ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - •ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - TabSize - ‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐” -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ToolsLib.vbs (src) - - - ¨ StartReplaceObj::r - - - ¨ StartReplaceObj::w - - - - - - - - ChangeMiddleTabToSpace - - - Sub ChangeMiddleTabToSpace( ReadStream as TextStream, WriteStream as TextStream, TabSize as integer ) - - s“ªˆÈŠO‚̃^ƒu•¶Žš‚ð‹ó”’•¶Žš‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ReadStream - WriteStream - •ÏŠ·‘O‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - •ÏŠ·Œã‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹EƒXƒgƒŠ[ƒ€ - TabSize - ‚P‚‚̃^ƒu•¶Žš‚ ‚½‚è‚Ì‹ó”’•¶Žš‚̐” -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ToolsLib.vbs (src) - - - ¨ StartReplaceObj::r - - - ¨ StartReplaceObj::w - - - - - - - - SetBreakByPath iƒfƒoƒbƒOj - - - Sub SetBreakByFName( in_Path as string ) - - Žw’肵‚½–¼‘O‚̃tƒ@ƒCƒ‹‚ðƒ‰ƒCƒg‚·‚é‚Æ‚«‚ɃuƒŒ[ƒN‚³‚¹‚Ü‚·B - yˆø”z - in_Path - ƒuƒŒ[ƒN‚·‚éƒtƒ@ƒCƒ‹–¼ - g_debug † 1 ‚Ì‚Æ‚«‚¾‚¯ƒuƒŒ[ƒN‚µ‚Ü‚·Bvbslib ‚̊֐”icopyAdelAOpenForWrite ‚Ȃǁj‚Å‚Í‚È‚¢ig_fs.CopyFile ‚ȂǁjŠÖ”‚É‚æ‚Á‚Ä - ƒ‰ƒCƒg‚µ‚½‚Æ‚«‚̓uƒŒ[ƒN‚µ‚Ü‚¹‚ñB - - ¨ T_Debug ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - - SetBreakByFName "Out.txt" '// TODO: - - - ¨ SetupDebugTools - - ŠÖ˜A - SetBreakByFName iƒfƒoƒbƒOj - - - Sub SetBreakByPath( in_Path as string, in_Count as integer ) - - in_Count - ‰½‰ñ–ڂ̃‰ƒCƒg‚ŃuƒŒ[ƒN‚·‚é‚©B Empty = –ˆ‰ñ - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - IsWriteAccessDenied - - (src) - - - - Function IsWriteAccessDenied( ErrNumber as integer, Path as string, FolderOrFile as bitfield, in_out_nRetry as integer ) - - •‰‰×‚ª‚‚¢‚Æ‚«‚É”­¶‚·‚鏑‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ɑΏˆ‚µ‚Ü‚·B - yˆø”z - ErrNumber - ƒ`ƒFƒbƒN‚·‚éƒGƒ‰[ƒR[ƒh - •Ô‚è’l - ‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚½‚©‚Ç‚¤‚© - - - <WARNING msg="‘‚«ž‚Ý‚Å‚«‚Ü‚¹‚ñB" msg2="ÄŽŽs‚µ‚Ä‚¢‚Ü‚·" retry_count="1" path="C:\folder\file.txt"/> - - VBScript (Windows) ‚ł́Aƒtƒ@ƒCƒ‹‚ªƒƒbƒN‚³‚ꂽ‚Æ‚«‚¾‚¯‚Å‚È‚­AƒfƒBƒXƒNEƒAƒNƒZƒX‚Ì•‰‰×‚ª‚‚­‚È‚é‚ƁA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[(ƒGƒ‰[ƒR[ƒh 70)‚ª”­¶‚µ‚Ü‚·B ‚±‚̃Gƒ‰[‚ɑΏˆ‚µ‚È‚¢‚ƁA - ƒXƒNƒŠƒvƒg‚É‚æ‚鎩“®ŽÀs‚ª’†’f‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B IsWriteAccessDenied ‚́A‘‚«ž‚Ý‹‘”Û - ƒGƒ‰[‚É‚æ‚Á‚ăXƒNƒŠƒvƒg‚ª’†’f‚³‚ê‚È‚¢‚悤‚ɁAÄŽŽs‚·‚éƒXƒNƒŠƒvƒg‚Ì‹Lq‚ð•â•‚µ‚Ü‚·B - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg(cscript.exe)‚Å“®‚­ vbslib ‚ŁA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚½‚çAŽŸ‚ÌŒx‚ð•\Ž¦‚µ‚āAƒOƒ[ƒoƒ‹•Ï” g_FileSystemRetryMSec ‚ÉŽw’肵‚½ŽžŠÔiƒ~ƒŠ•bj - i’ʏí4•bj‚¾‚¯ Sleep ‚µ‚Ü‚·B ƒOƒ[ƒoƒ‹•Ï” g_FileSystemMaxRetryMSec ‚ÉŽw’肵‚½ - ŽžŠÔiƒ~ƒŠ•bji’ʏí60•bj‚¾‚¯ÄŽŽs‚µ‚½‚çA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - ÄŽŽs‚́AIsWriteAccessDenied ‚Ì“à•”‚ł͍s‚¢‚Ü‚¹‚ñB ŽQlF‰º‹LƒTƒ“ƒvƒ‹B - ƒEƒBƒ“ƒhƒE(wscript.exe)‚Å“®‚­ vbslib ‚ŁA‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚½‚çAŽŸ‚ÌŒx‚ð•\Ž¦‚µ‚Ä [ ÄŽŽs ] ‚© [ ƒLƒƒƒ“ƒZƒ‹ ] ‚ð‘I‚ÔƒƒbƒZ[ƒWƒ{ƒbƒNƒX‚ª•\Ž¦‚³‚ê‚Ü‚·B - ƒ†[ƒU[‚ª“ü—Í‚·‚é‚Ü‚ÅŽ©“®ŽÀs‚͈ꎞ’âŽ~‚µ‚Ü‚·B - - - ‘‚«ž‚Ý‚Å‚«‚Ü‚¹‚ñB [ÄŽŽs] [ƒLƒƒƒ“ƒZƒ‹] - - ƒAƒNƒZƒX‚µ‚½ƒpƒX - i“üo—́j ÄŽŽs‰ñ” - Path - in_out_nRetry - - - Dim f, path, n_retry, en, ed - n_retry = 0 - Do - On Error Resume Next - Set f = g_fs.CreateTextFile( path ) - en = Err.Number : ed = Err.Description : On Error GoTo 0 - If not IsWriteAccessDenied( en, path, F_File, n_retry ) Then Exit Do - Loop - If en <> 0 Then Err.Raise en,,ed - - ƒTƒ“ƒvƒ‹F ‚•‰‰×ó‘Ô‚Å‚àŽg‚¦‚é CreateTextFile - path - path - ÄŽŽsƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒF[ƒX - - ¨ E_WriteAccessDenied - - ŽQl - FolderOrFile - F_File ‚Ü‚½‚Í F_Folder ‚Ü‚½‚Í F_File or F_Folder - ƒeƒXƒg - - ¨ T_Replace_target.vbs # T_FromLock - - - ¨ T_Copy.vbs # T_CopyLocked - - - ¨ T_File.vbs # T_OverwriteFolderFile - - ƒL[ƒ[ƒhF - g_FileSystemMaxRetryMSec - g_FileSystemRetryMSec - ‘‚«ž‚Ý‹‘”ÛƒGƒ‰[(ƒGƒ‰[ƒR[ƒh 70)‚ª”­¶‚·‚é‰Â”\«‚ª‚ ‚é‚à‚Ì‚Ì—á - g_fs.CopyFile, g_fs.CopyFolder, g_fs.MoveFile, g_fs.MoveFolderg_fs.DeleteFolder, g_fs.CreateFolder - g_fs.CreateTextFile, g_fs.OpenTextFile - File::Name ‚Ö‚Ì‘ã“ü‚É‚æ‚é‰ü–¼, ADODBStream::SaveToFile - vbslib ‚ª’ñ‹Ÿ‚·‚éƒtƒ@ƒCƒ‹‘€ì‹@”\‚́A‘‚«ž‚Ý‹‘”ÛƒGƒ‰[‚ª”­¶‚µ‚È‚¢‚悤‚ɑΏˆ‚³‚ê‚Ä‚¢‚邽‚߁AIsWriteAccessDenied ‚ðŒÄ‚яo‚·•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - ¨ ƒtƒ@ƒCƒ‹‚Ì•‰‰×‚ª‚‚¢‚ƃXƒNƒŠƒvƒg‚ª’†’f‚µ‚Ä‚µ‚Ü‚¤ Windows (Web) - - - ¨ T_File_w_Manually.vbs - - - ¨ T_File_c_Manually.vbs - - - - - - - - SetFilesToReadOnly - - - SetFilesToReadOnly g_fs.GetFolder( "C:\folder" ) - - - - Sub SetFilesToReadOnly( in_Folder as Folder ) - - ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚ðA“Ç‚ÝŽæ‚èê—p‚É‚µ‚Ü‚·B - yˆø”z - in_Folder - “Ç‚ÝŽæ‚èê—p‚ɐݒ肷‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ SetFilesToNotReadOnly - - - ¨ vbslib.vbs - - - Folder ƒIƒuƒWƒFƒNƒg - - - ¨ File::Attributes - - - ¨ GetReadOnlyList - - - - - - - - SetFilesToNotReadOnly - - - SetFilesToNotReadOnly g_fs.GetFolder( "C:\folder" ) - - - - Sub SetFilesToNotReadOnly( in_Folder as Folder ) - - ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚ðA“Ç‚ÝŽæ‚èê—p‚Å‚Í‚È‚­‚µ‚Ü‚·B - yˆø”z - in_Folder - “Ç‚ÝŽæ‚èê—p‚ɐݒ肷‚éƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚Ì - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ vbslib.vbs - - - Folder ƒIƒuƒWƒFƒNƒg - - - ¨ SetFilesToReadOnly - - - ¨ File::Attributes - - - - - - - - BinaryArray ƒNƒ‰ƒXAƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹ - ƒoƒCƒiƒŠ[Eƒtƒ@ƒCƒ‹‚̃f[ƒ^‚ðˆµ‚¢‚â‚·‚­‚·‚éƒNƒ‰ƒX‚Å‚·Bƒtƒ@ƒCƒ‹‚ð”z—ñ‚̂悤‚Ɉµ‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ŠÖ˜A - - ¨ Byte ”z—ñ (VBScript) - - - - Set bin = new BinaryArray bin.Size = 4 - bin(0) = &hFF '// low byte of BOM - bin(1) = &hFE '// high byte of BOM - bin(2) = &h80 '// low byte of hiragana mu - bin(3) = &h30 '// high byte of hiragana mu - bin.Save "unicode_sample.txt" - - ƒTƒ“ƒvƒ‹ - ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚Öƒ‰ƒCƒgB Unicode Œ`Ž®‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹ u‚Þ(=0x3080)v ‚ðì‚é - - - Set bin = ReadBinaryFile( "unicode_sample.txt" ) If bin(0) = &hFF and bin(1) = &hFE Then - echo "This is unicode file." - End If - - ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚©‚烊[ƒhBUnicode Œ`Ž®‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚©‚Ç‚¤‚©”»’è‚·‚é - ƒƒ“ƒo[ - - - Set bin = new BinaryArray bin.Load "unicode_sample.txt" - strbin = bin.Read( Empty, Empty ) - strbin = LeftB( strbin, 2 ) + ChrB( &h6F ) + ChrB( &h30 ) + MidB( strbin, 3 ) - bin.Write strbin, 0, Empty - bin.Save "unicode_sample.txt" - - ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚̕ύXB Unicode ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚̐擪‚É u‚Í(=0x306F)v ‚ð’ljÁ‚·‚é - LeftB, MidB, RightB, LenB, AscB, ChrB ‚́A•¶Žš—ñ‘€ìŠÖ”‚̃oƒCƒiƒŠ”Å‚Å‚·B - ƒtƒ@ƒCƒ‹F - - - System.vbs - - ”z—ñ‚Ì—v‘fB ”z—ñ”ԍ†B iƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒBj - - .Item - - - .Size - - - .Load - - - .Save - - - .Read - - - .Write - - - .ToEmpty - - - .Length - - - .Count - - - .ReDim_ - - - .UBound_ - - ”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY - ”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY - ”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY - ”z—ñ‚Ì—v‘f”‚ð•ÏX‚µ‚Ü‚·B ReDim Preserve ‚Æ“¯‚¶‚Å‚·B - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðA”z—ñ‚É“ü—Í‚µ‚Ü‚·B - ”z—ñ‚Ì“à—e‚ðAƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B - ”z—ñ‚Ì“à—e‚̈ꕔ‚ðAByte ”z—ñ‚É‚µ‚Ä•Ô‚µ‚Ü‚·B - ”z—ñ‚Ì“à—e‚̈ꕔ‚ðA•ÏX‚µ‚Ü‚·B - ”z—ñ‚ð‹ó‚É‚µ‚Ü‚·B ”z—ñ—v‘f”‚Í 0 ‚É‚È‚è‚Ü‚·B - ”z—ñ‚̍őå—v‘f”ԍ†‚ð•Ô‚µ‚Ü‚·B - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚𕶎š—ñ‚É‚µ‚Ü‚·B ƒ_ƒ“ƒv‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_Binary ƒtƒHƒ‹ƒ_ - - - (src) - - - .ReadStruct - - - .WriteStruct - - - .xml - - ”z—ñ‚Ì“à—e‚̈ꕔ‚ðA\‘¢‰»‚µ‚½Ž«‘‚ðŽæ“¾‚µ‚Ü‚·B - \‘¢‰»‚µ‚½”z—ñ‚ðŽg‚Á‚āAƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚Ƀ‰ƒCƒg‚µ‚Ü‚·B - - - Dim bin, out, size bin.Write &h10, Empty, Array( &h12, &h34, &h56, &h78, &h9A, &hBC, &hDE ) - size = bin.ReadStruct( &h10, out, Array( "a", vbByte, "b", vbInteger+vbArray, 3 ) ) - '// out("a") = &h12 - '// out("b")(0) = &h5634 - '// out("b")(1) = &h9A78 - '// out("b")(2) = &hDEBC - - ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚ð\‘¢‰»‚µ‚㊁[ƒh‚·‚é - - .ReadStruct - - - .Read - - - .Write - - - .Save - - - .Load - - - .Write - - - .Size - - - .Save - - .WriteFromBinaryArray - ”z—ñ‚Ì“à—e‚̈ꕔ‚ðƒRƒs[‚µ‚Ü‚·B - - ReadBinaryFile - - - - Set bin = new_BinaryArray( Array( &h42, &h4D ) ) - - ƒoƒCƒiƒŠ[ƒf[ƒ^‚ðì¬‚·‚é - ŠÖ˜A - - ¨ OpenForReadRIFF - - - ¨ OpenForWriteRIFF - - - ¨ ADODB.Stream - - ƒoƒCƒiƒŠ[ƒf[ƒ^‚ðƒ_ƒ“ƒv•\Ž¦‚·‚é - - - echo_v new_BinaryArrayAsText( "Š¿Žš", Empty ).xml - - - .WriteFromDump - - - - - - - - new_BinaryArray - - - Set bin = new_BinaryArray( Array( &h42, &h4D ) ) - - - - Function new_BinaryArray( IntegerArray as array of integer ) as BinaryArray - - ƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B - yˆø”z - IntegerArray - ƒoƒCƒiƒŠ[‚Ì“à—e‚É‘Š“–‚·‚é”z—ñB ”’lŒ^‚Ü‚½‚Í - •Ô‚è’l - ¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ ReadBinaryFile - - - ¨ System.vbs - - - Byte ”z—ñ - - - - binary = bin_1.Read( &h10, &h28 ) echo_v GetEchoStr( new_BinaryArray( binary ) ) - - - - - - - - new_BinaryArrayFromFile - - - Function new_BinaryArrayFromFile( Path as string ) as BinaryArray - - ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚©‚çƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B - yˆø”z - Path - ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚̃pƒX - •Ô‚è’l - ¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ - ƒ\[ƒX - - ¨ System.vbs - - ŠÖ˜A - - ¨ Load (BinaryArray) - - - ¨ ReadBinaryFile - - - - - - - - new_BinaryArrayFromBase64 - - - Set bin = new_BinaryArrayFromBase64( "EjRWeA==" ) - - - - Function new_BinaryArrayFromBase64( Base64_Text as string ) as BinaryArray - - Base64 ‚ŃGƒ“ƒR[ƒh‚³‚ꂽ•¶Žš—ñ‚©‚çƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B - yˆø”z - Base64_Text - Base64 ‚ŃGƒ“ƒR[ƒh‚³‚ꂽ•¶Žš—ñ - •Ô‚è’l - ¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ System.vbs - - ƒeƒXƒg - - ¨ T_Binary.vbs - - Test_of_Base64 - ŠÖ˜A - - ¨ Base64 (BinaryArray) - - - - - - - - new_BinaryArrayAsText - - - Set bin = new_BinaryArrayAsText( "Š¿Žš", "EUC-JP" ) - - - - Function new_BinaryArrayAsText( Text as string, CharacterSet as string ) as BinaryArray - - •¶Žš—ñ‚©‚çŽw’肵‚½•¶ŽšƒR[ƒhƒZƒbƒg‚̃oƒCƒiƒŠEƒf[ƒ^‚ðŽ‚ÂƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B - yˆø”z - Text - •¶Žš—ñ - CharacterSet - •¶ŽšƒR[ƒhƒZƒbƒgAEmpty ‚ðŽw’è‚·‚é‚Æ "Unicode" - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ System.vbs - - ƒeƒXƒg - - ¨ T_Binary.vbs - - T_Binary_TextCharacterSet - ŠÖ˜A - - ¨ Text (BinaryArray) - - ¶¬‚³‚ꂽƒoƒCƒiƒŠ”z—ñ - •Ô‚è’l - - ¨ new_TextFileCharSetStack - - •¶ŽšƒR[ƒhƒZƒbƒgˆê—— - EUC-JP Œ`Ž®‚Ì•¶Žš—ñ‚ªŠi”[‚³‚ꂽƒoƒCƒiƒŠ”z—ñ‚𐶐¬‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - •¶Žš—ñ‚Ì’†‚Ì‚·‚ׂĂ̕¶ŽšƒR[ƒhiUnicodej‚ð•\Ž¦‚µ‚Ü‚·B - - - echo_v new_BinaryArrayAsText( "Š¿Žš", Empty ).xml - - - ¨ AssertString - - •¶Žš—ñ‚ªˆÙ‚È‚Á‚Ä‚¢‚½‚ç Diff ƒc[ƒ‹‚ðŠJ‚«‚Ü‚· - - - - - - - ItemA”z—ñ”ԍ† (BinaryArray) - - - Default Property BinaryArray::Item( i as integer ) as integer - - ”z—ñ”ԍ†‚ðŽg‚Á‚āAƒoƒCƒiƒŠ”z—ñ‚Ì—v‘f‚ðŽQÆ‚µ‚Ü‚·B iƒfƒtƒHƒ‹ƒgEƒvƒƒpƒeƒBj - yˆø”z - i - ”z—ñ‚Ì—v‘f‚̔ԍ†B æ“ª‚Í 0 - - - Dim bin : Set bin = new BinaryArraybin.Load "a.bin" - echo bin(0) '// bin.Item(0) ‚Æ“¯‚¶ - bin(0) = &h30 - - ƒTƒ“ƒvƒ‹ - bin(0) - bin(0) - - (src) - - ‚PƒoƒCƒg‚¸‚ƒAƒNƒZƒX‚µ‚Ü‚·B - - - - - - - Size, Length, Count (BinaryArray) - - - Property BinaryArray::Size as integer - - - - Property BinaryArray::Length as integer - - - - Property BinaryArray::Count as integer - - ƒoƒCƒiƒŠ”z—ñ‚Ì—v‘f”B ƒoƒCƒgEƒTƒCƒY - ’l‚ðÝ’è‚·‚é‚ƁA”z—ñ‚̃TƒCƒY‚ª•Ï‰»‚µ‚Ü‚·B‘å‚«‚­‚È‚Á‚½•”•ª‚Ì’l‚́A0x00 ‚É‚È‚è‚Ü‚·B - ¬‚³‚­‚È‚Á‚½•”•ª‚͍폜‚³‚ê‚Ü‚·B - - - Dim bin : Set bin = new BinaryArraybin.Load "a.bin" - bin.Size = bin.Size + 1 - bin.Save "a_plus1.bin" - - ƒTƒ“ƒvƒ‹ - Size - Size - - - - - - - ReDim_ (BinaryArray) - - - Sub BinaryArray::ReDim_( UBound as integer ) - - ƒoƒCƒiƒŠ”z—ñ‚Ì—v‘f”iƒoƒCƒgƒTƒCƒYj‚ð•ÏX‚µ‚Ü‚·B ReDim Preserve ‚Æ“¯‚¶‚Å‚·B - yˆø”z - UBound - V‚µ‚¢”z—ñ‚̍őå—v‘f”ԍ† - ReDim ‚Ì––”ö‚ɃAƒ“ƒ_[ƒXƒRƒA‚ª•t‚¢‚Ä‚¢‚Ü‚·BiReDim ‚Í—\–ñŒê‚Å‚ ‚邽‚߁Bj - - (src) - - - - - - - - Load (BinaryArray) - - - Sub BinaryArray::Load( Path as string ) - - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðAƒoƒCƒiƒŠ”z—ñ‚É“ü—Í‚µ‚Ü‚·B - yˆø”z - Path - ƒtƒ@ƒCƒ‹‚̃pƒX - ƒoƒCƒiƒŠ”z—ñ‚ÉŒ³X“ü‚Á‚Ä‚¢‚½“à—e‚Í–³‚­‚È‚è‚Ü‚·B - - ¨ ReadBinaryFile - - ŠÖ˜A - - ¨ new_BinaryArrayFromFile - - - - - - - - Save (BinaryArray) - - - Sub BinaryArray::Save( Path as string ) - - ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚ðAƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B - yˆø”z - Path - ƒtƒ@ƒCƒ‹‚̃pƒX - - - Dim i Dim bin : Set bin = new BinaryArray - bin.ReDim_ &hFF - For i=0 To &hFF : bin(i) = i : Next - bin.Save "a.bin" - - ƒTƒ“ƒvƒ‹ - - - - - - - Read (BinaryArray) - - - Function BinaryArray::Read( Offset as integer, Length as integer ) as array of Byte - - ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ðAByte ”z—ñ‚É‚µ‚Ä•Ô‚µ‚Ü‚·B - yˆø”z - Offset - ”z—ñ‚Ì’†‚Å’Šo‚·‚é•”•ª‚̐擪‚̈ʒuB ”z—ñ‚̐擪‚©‚ç = 0 - ”z—ñ‚Ì’†‚Å’Šo‚·‚é•”•ª‚Ì’·‚³iƒoƒCƒgjB -1 = ÅŒã‚Ü‚Å - Length - Offset = 0 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̐擪‚©‚ç‚É‚È‚è‚Ü‚·BLength = -1 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̍Ōã‚Ü‚Å‚É‚È‚è‚Ü‚·B - •Ô‚è’l - ”z—ñ‚Ì“à—e‚̈ꕔ‚𒊏o‚µ‚½ Byte ”z—ñ - - ¨ Byte ”z—ñ - - - array of Byte - - •Ô‚è’l‚ɁA•¶Žš—ñŠÖ” LeftB, MidB, RightB, LenB, AscB, ChrB ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B•Ô‚è’l‚ɑ΂µ‚Ä + ‰‰ŽZŽq‚ÍŽg‚¦‚Ü‚¹‚ñ‚ªAMidB( ByteArray, 1 ) ‚È‚Ç‚Å String Œ^‚É•ÏŠ· - ‚·‚ê‚΁A+ ‰‰ŽZŽq‚ªŽg‚¦‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - binary = bin.Read( &h10, &h28 ) echo AscB( MidB( binary, 3, 1 ) ) - - - ¨ ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚̕ύX - - ƒTƒ“ƒvƒ‹ - - (src) - - ŠÖ˜A - - ¨ ReadStruct (BinaryArray) - - - ¨ Write (BinaryArray) - - - ¨ Read (ADODB.Stream) - - - - - - - - Write (BinaryArray) - - - Sub BinaryArray::Write( Offset as integer, Length as integer, ByteArray as variant ) - - ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ðA•ÏX‚µ‚Ü‚·B - yˆø”z - ByteArray - •ÏX“à—e‚ªŠi”[‚³‚ꂽ•¶Žš—ñiUTF-16jA‚Ü‚½‚Í”z—ñA‚Ü‚½‚͐”’l - Length - ”z—ñ‚Ì’†‚ŕύX‚·‚é•”•ª‚Ì’·‚³iƒoƒCƒgjB -1 = ByteArray ˆø”‚Ì‘S‘Ì - ”z—ñ‚Ì’†‚ŕύX‚·‚é•”•ª‚̐擪‚̈ʒuB ”z—ñ‚̐擪‚©‚ç = 0 - Offset - Offset = 0 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̐擪‚©‚ç‚É‚È‚è‚Ü‚·BLength = -1 ‚Ü‚½‚Í Empty ‚É‚·‚é‚ƁA”z—ñ‚̍Ōã‚Ü‚Å‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - bin.Write 0, Empty, Array( &h42, &h4D ) - - - ¨ ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹‚̕ύX - - ƒTƒ“ƒvƒ‹ - - - bin.Write 0, 2, ChrB( &h42 ) + ChrB( &h4D ) - - - - bin.Write 1, 1, &h4D - - - ¨ ConvertToByteArray (ADODBConsts) - - ŠÖ˜A - - (src) - - - ¨ Read (BinaryArray) - - - ¨ WriteStruct (BinaryArray) - - - - - - - - ReadStruct (BinaryArray) - - - Function BinaryArray::ReadStruct( Offset as integer, out_Dic as dictionary, FormatArray as integer ) as integer - - ƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ðƒŠ[ƒh‚µ‚½“à—e‚ðA\‘¢‰»‚µ‚½Ž«‘‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - Offset - ”z—ñ‚Ì’†‚Å’Šo‚·‚é•”•ª‚̐擪‚̈ʒuB ”z—ñ‚̐擪‚©‚ç = 0 - io—́j ”’l‚ÌŽ«‘B ƒL[‚Í FormatArray ‚ÉŽw’肵‚½‚à‚́B - out_Dic - •Ô‚è’l - ’Šo‚µ‚½•”•ª‚̃oƒCƒiƒŠ‚Ì‘å‚«‚³iƒoƒCƒgj - ƒTƒ“ƒvƒ‹ - - - Dim bin, out, size bin.Write &h10, Empty, Array( &h12, &h34, &h56, &h78, &h9A, &hBC, &hDE ) - size = bin.ReadStruct( &h10, out, Array( "a", vbByte, "b", vbInteger+vbArray, 3 ) ) - '// out("a") = &h12 - '// out("b")(0) = &h5634 - '// out("b")(1) = &h9A78 - '// out("b")(2) = &hDEBC - - ƒoƒCƒiƒŠ”z—ñ‚©‚ç’Šo‚·‚é•”•ª‚ÌŒ^‚̏W‡ i‰º‹Lj - FormatArray - - (src) - - FormatArray ˆø” - out_Dic iŽ«‘Œ^j ‚ÉŠi”[‚·‚éƒL[‚Ì–¼‘O‚ƁA’l‚ÌŒ^‚ðA‡”Ô‚É•À‚ׂ½”z—ñ‚ðŽw’肵‚Ü‚·BvbInteger ‚È‚Ç‚ÌŒ^‚É {vbArray ‚µ‚½‚Æ‚«‚́A”z—ñ‚ðƒŠ[ƒh‚µ‚Ü‚·B ‚±‚Ì‚Æ‚«AX‚É”z—ñ‚Ì - —v‘f”‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B —v‘f”‚ð -1 ‚É‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚̍Ōã‚܂ŃŠ[ƒh‚µ‚Ü‚·B - ‰º‹L‚Ì c ‚́AADODBConsts ‚Å‚·B - vbByte - 1ƒoƒCƒgA•„†‚È‚µA0`255 - vbInteger - 2ƒoƒCƒgA•„†‚ ‚èA-32768`32767, &h0000`&hFFFF - vbInteger + c.Unsigned - 2ƒoƒCƒgA•„†‚È‚µALongŒ^A0`65535 - vbLong - 4ƒoƒCƒgA•„†‚ ‚èA-2147483648`2147483647A&h10000`&hFFFFFFFF - * + vbArray - ”z—ñB vbByte ‚È‚Ç‚ÌŒ^‚É vbArray ‚ðƒvƒ‰ƒX‚µ‚Ä‚­‚¾‚³‚¢BFormatArray ‚ɂ́A”z—ñ‚Ì—v‘f”‚àŽw’肵‚Ä‚­‚¾‚³‚¢B - —v‘f”‚ð -1 ‚É‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚̍Ōã‚܂ŃŠ[ƒh‚µ‚Ü‚·B - &h10 out - "a", vbByte, "b", vbInteger+vbArray, 3 - ŠÖ˜A - - ¨ WriteStruct (BinaryArray) - - - ¨ Read (BinaryArray) - - - - - - - - WriteStruct (BinaryArray) - - - Sub BinaryArray::WriteStruct( Offset as integer, FormatAndDataArray as array ) - - \‘¢‰»‚µ‚½”z—ñ‚ðŽg‚Á‚āAƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ɁAƒoƒCƒiƒŠ[ƒf[ƒ^‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - yˆø”z - Offset - ƒoƒCƒiƒŠ”z—ñ‚Ì’†‚ŕύX‚·‚é”͈͂̐擪ˆÊ’uB ”z—ñ‚̐擪‚©‚ç = 0 - ƒoƒCƒiƒŠ”z—ñ‚Öƒ‰ƒCƒg‚·‚é•”•ª‚ÌŒ^‚ƃ‰ƒCƒg‚·‚é’l‚̏W‡ i‰º‹Lj - FormatAndDataArray - ƒTƒ“ƒvƒ‹ - - - bin.WriteStruct &h40, Array( vbByte, &h12, vbInteger, Array( &h5634, &h9A78, &hDEBC ) ) '// bin = 0x0040 : 12 34 56 78 9A BC DE - - ŠÖ˜A - - (src) - - FormatAndDataArray ˆø” - u’l‚ÌŒ^v —v‘f‚ƁAu’lA‚Ü‚½‚́A’l‚ð•À‚ׂ½”z—ñv —v‘f‚ðŒJ‚è•Ô‚·”z—ñ‚ðŽw’肵‚Ü‚·B - vbByte - 1ƒoƒCƒgA•„†‚È‚µA0`255 - vbInteger - 2ƒoƒCƒgA•„†‚ ‚èA-32768`32767, &h0000`&hFFFF - vbInteger + c.Unsigned - 2ƒoƒCƒgA•„†‚È‚µALongŒ^A0`65535 - vbLong - 4ƒoƒCƒgA•„†‚ ‚èA-2147483648`2147483647A&h10000`&hFFFFFFFF - - ¨ ConvertToStructuredByteArray (ADODBConsts) - - - ¨ ReadStruct (BinaryArray) - - - ¨ Write (BinaryArray) - - ƒoƒCƒiƒŠ”z—ñ bin ‚Ì 0x40 ‚̈ʒu‚ɁAvbByteŒ^i8ƒrƒbƒg®”Œ^j‚Ì 0x12 ‚ƁAvbIntegerŒ^i16ƒrƒbƒg®”Œ^j‚Ì 0x5634, 0x9A78, 0xDEBC ‚ðŠi”[‚µ‚Ü‚·B - ƒoƒCƒiƒŠ”z—ñ bin ‚Ì 0 ‚̈ʒu‚ɁAvbByteŒ^i8ƒrƒbƒg®”Œ^j‚Ì 0x12A0x34A0x56A0x78 ‚ðŠi”[‚µ‚Ü‚·B - - - bin.WriteStruct 0, Array( vbByte, Array( &h12, &h34, &h56, &h78 ) ) '// bin = 0x0000 : 12 34 56 78 - - - ¨ new_BinaryArray - - - - - - - - WriteFromBinaryArray (BinaryArray) - - - Sub BinaryArray::WriteFromBinaryArray( WriteOffset as integer, ReadBinaryArray as BinaryArray, ReadOffset as integer, Size as integer ) - - ƒoƒCƒiƒŠ”z—ñ‚̈ꕔ‚ð•Ê‚̃oƒCƒiƒŠ”z—ñ‚ɁA‚‘¬‚ɃRƒs[‚µ‚Ü‚·B - yˆø”z - Me - ƒRƒs[æ‚Æ‚È‚éƒoƒCƒiƒŠ”z—ñ - Me ‚Ì’†‚ŕύX‚·‚é”͈͂̐擪ˆÊ’uB ”z—ñ‚̐擪‚©‚ç = 0 - WriteOffset - - (src) - - ReadBinaryArray - ReadOffset - Size - ƒRƒs[Œ³‚Æ‚È‚éƒoƒCƒiƒŠ”z—ñ - ReadBinaryArray ‚Ì’†‚͈̔͂̐擪ˆÊ’uB ”z—ñ‚̐擪‚©‚ç = 0 - ƒRƒs[‚·‚éƒTƒCƒYiƒoƒCƒgj, -1=ÅŒã‚Ü‚Å - ReadBinaryArray ‚̃TƒCƒY‚æ‚è‘å‚«‚È’l‚ð Size ˆø”‚ÉŽw’肵‚½‚Æ‚«‚́AÅŒã‚܂ŃRƒs[‚µ‚Ü‚·B - - - - - - - WriteFromDump (BinaryArray) - - - Sub BinaryArray::WriteFromDump( in_Offset as integer, in_Dump as string ) - - •¶Žš—ñ‚Ƀ_ƒ“ƒv‚³‚ꂽƒoƒCƒiƒŠ[ƒf[ƒ^‚ðAƒoƒCƒiƒŠ”z—ñ‚Ì“à—e‚̈ꕔ‚ɁAƒ‰ƒCƒg‚µ‚Ü‚·B - yˆø”z - in_Offset - ƒoƒCƒiƒŠ”z—ñ‚Ì’†‚ŕύX‚·‚é”͈͂̐擪ˆÊ’uB ”z—ñ‚̐擪‚©‚ç = 0 - ƒoƒCƒiƒŠ[ƒf[ƒ^‚ðƒ_ƒ“ƒv‚µ‚½•¶Žš—ñ - in_Dump - ƒTƒ“ƒvƒ‹ - - ¨ System.vbs - - ƒ\[ƒX - - - bin.WriteFromDump %h10, "0x05 | 0x14, 0x1234, 0x98765432" '// bin = 0x0010 : 15 34 12 32 54 76 98 - - ƒoƒCƒiƒŠ”z—ñ bin ‚Ì 0 ‚̈ʒu‚ɁAvbByteŒ^i8ƒrƒbƒg®”Œ^j‚Ì 0x12A0x34A0x56A0x78 ‚ðAŠi”[‚µ‚Ü‚·B - - - bin.WriteFromDump 0, "12 34 56 78" '// bin = 0x0000 : 12 34 56 78 - - in_Dump ˆø”‚Ì’†‚́A16i”‚Æ | ‰‰ŽZŽqˆÈŠO‚Í–³Ž‹‚³‚ê‚Ü‚·B 16i”‚́AÚ“ªŽ« 0x ‚ð•t‚¯‚é‚©AÚ“ªŽ«‚ð•t‚¯‚È‚¢‚Å‚­‚¾‚³‚¢B | ‰‰ŽZŽq‚́A˜_—˜a‚Å‚·B - –³Ž‹‚³‚ê‚镶Žš‚ðœ‚«A16i”‚ª˜A‘±‚·‚é‚ÆŽŸ‚̃f[ƒ^‚Å‚ ‚é‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B - 16i”‚ÌŒ…”‚ª‚ɉž‚¶‚āA®”‚̃rƒbƒg”‚ªˆÙ‚È‚è‚Ü‚·B 2, 4, 8 Œ…‚È‚çAƒŠƒgƒ‹ ƒGƒ“ƒfƒBƒAƒ“‚Ì - 8, 16, 32 ƒrƒbƒg®”‚É‚È‚è‚Ü‚·B - ƒeƒXƒg - T_Binary_FromDump - - ¨ T_Binary.vbs - - - - - - - - Compare (BinaryArray) - - - Function BinaryArray::Compare( ThanBinary as BinaryArray ) - - ƒoƒCƒiƒŠ”z—ñ‚ð”äŠr‚µ‚Ü‚·B - yˆø”z - ThanBinary - ”äŠr‘Ώۂ̃oƒCƒiƒŠ”z—ñ - ƒeƒXƒg - - ¨ T_Binary.vbs - - - ¨ System.vbs - - ƒ\[ƒX - •Ô‚è’l - ˆê’v=0AStrComp ‚Æ“¯‚¶ - - ¨ Byte ”z—ñiƒoƒCƒiƒŠj‚Ì“à—e‚ð”äŠr‚·‚é - - ŠÖ˜A - - - - - - - SwapEndian (BinaryArray) - - - Sub BinaryArray::SwapEndian( Offset as integer, Size as integer, SwapUnitSize as integer ) - - ƒoƒCƒiƒŠ”z—ñ‚̈ꕔ‚̃Gƒ“ƒfƒBƒAƒ“‚ð‹t‚É‚µ‚Ü‚·B - yˆø”z - Offset - ƒGƒ“ƒfƒBƒAƒ“‚ð‹t‚É‚·‚é”͈͂̐擪ƒIƒtƒZƒbƒg - ƒGƒ“ƒfƒBƒAƒ“‚ð‹t‚É‚·‚é”͈͂̃TƒCƒYiƒoƒCƒgj - Size - ƒTƒ“ƒvƒ‹ - - - '// bin = 12 34 56 78 9A BC DE bin.SwapEndian &h2, &h4, 2 - '// bin = 12 56 34 9A 78 BC DE - - ƒoƒCƒiƒŠ”z—ñ bin ‚Ì 0x2 ‚̈ʒu‚©‚çŽn‚Ü‚é 4ƒoƒCƒg‚͈̔͂ðA2ƒoƒCƒg’PˆÊi2ƒoƒCƒg®”j‚Å‹t‚É‚µ‚Ü‚·B - SwapUnitSize - ‹t‚É‚·‚é’PˆÊ - ƒeƒXƒg - - ¨ T_Binary.vbs - - - ¨ System.vbs - - ƒ\[ƒX - - - - - - - ToEmpty (BinaryArray) - - - Sub BinaryArray::ToEmpty() - - ”z—ñ‚ð‹ó‚É‚µ‚Ü‚·B ”z—ñ—v‘f”‚Í 0 ‚É‚È‚è‚Ü‚·B - - - - - - - UBound_ (BinaryArray) - - - Property Get BinaryArray::UBound_() as integer - - ”z—ñ‚̍őå—v‘f”ԍ†‚ð•Ô‚µ‚Ü‚·B - - (src) - - UBound ‚Ì––”ö‚ɃAƒ“ƒ_[ƒXƒRƒA‚ª•t‚¢‚Ä‚¢‚Ü‚·BiUBound ‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é‚ƁABinaryArray ‚ªŽÀ‘•‚Å‚«‚È‚­‚Ȃ邽‚߁Bj - - - - - - - xml (BinaryArray) - - - Property Get BinaryArray::xml() as string - - ”z—ñ‚Ì‚·‚ׂĂ̗v‘f‚𕶎š—ñ‚É‚µ‚Ü‚·B - - - <BinaryArray size="6">FF FE 6F 30 80 30 - </BinaryArray> - - o—Í—áF - - (src) - - - - - - - - MD5 (BinaryArray) - - - Property Get BinaryArray::MD5() as string - - - - echo ReadBinaryFile( "Sample.zip" ).MD5 - - ƒoƒCƒiƒŠ[Eƒf[ƒ^i”z—ñ‚Ì‘S‘́j‚ɑ΂·‚é ƒnƒbƒVƒ…’lB - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ System.vbs - - - ¨ T_Binary.vbs - - - ¨ MD5 - - ŠÖ˜A - MD5 ƒnƒbƒVƒ…’l‚́A0`9, a`f ‚Ì•¶Žš‚ª32•¶Žš‚Ì•¶Žš—ñ‚É‚È‚è‚Ü‚·B - SHA-1 ƒnƒbƒVƒ…’l‚́A0`9, a`f ‚Ì•¶Žš‚ª40•¶Žš‚Ì•¶Žš—ñ‚É‚È‚è‚Ü‚·B - SHA-256 ƒnƒbƒVƒ…’l‚́A0`9, a`f ‚Ì•¶Žš‚ª64•¶Žš‚Ì•¶Žš—ñ‚É‚È‚è‚Ü‚·B - - - Property Get BinaryArray::SHA1() as string - - ƒL[ƒ[ƒhF - SHA1, SHA-1, SHA256, SHA-256, SHA384, SHA-384, SHA512, SHA-512, RIPEMD160, RIPEMD-160 - - - Property Get BinaryArray::SHA256() as string - - SHA-256, SHA-384, SHA-512, RIPEMD-160 ‚́AWindows Vista ˆÈ~‚ÅŽg‚¦‚Ü‚·B - - - Property Get BinaryArray::SHA384() as string - - - - Property Get BinaryArray::SHA512() as string - - SHA-384 ƒnƒbƒVƒ…’l‚́A0`9, a`f ‚Ì•¶Žš‚ª96•¶Žš‚Ì•¶Žš—ñ‚É‚È‚è‚Ü‚·B - SHA-512 ƒnƒbƒVƒ…’l‚́A0`9, a`f ‚Ì•¶Žš‚ª128•¶Žš‚Ì•¶Žš—ñ‚É‚È‚è‚Ü‚·B - RIPEMD-160 ƒnƒbƒVƒ…’l‚́A0`9, a`f ‚Ì•¶Žš‚ª40•¶Žš‚Ì•¶Žš—ñ‚É‚È‚è‚Ü‚·B - - - Property Get BinaryArray::RIPEMD160() as string - - - ¨ ƒnƒbƒVƒ…’l - - - - 5c1d447971bc0c49f09b2e965ac4ed37 - - c •\Ž¦—á - - ¨ GetHash ƒRƒ}ƒ“ƒh - - - ¨ MD5 ƒŠƒXƒg - - - ¨ new_BinaryArrayAsText - - •¶Žš—ñ‚©‚çƒnƒbƒVƒ…’l‚𓾂éê‡ - - ¨ PowerShell - MD5‚ðŒvŽZ‚·‚é - - - ¨ g_FileHashCache - - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ªˆÙ‚È‚ê‚΁AƒnƒbƒVƒ…’l‚àˆÙ‚È‚è‚Ü‚·B “à—e‚ªˆÙ‚È‚é‚̂ɃnƒbƒVƒ…’l‚ª“¯‚¶‚É‚È‚éiÕ“Ë‚·‚éjŠm—¦‚͂킸‚©‚É‚ ‚è‚Ü‚·‚ªAŽÀ—p“I‚É‚Í–â‘è‚ ‚è‚Ü‚¹‚ñB - ƒtƒ@ƒCƒ‹‚Ì“à—e‚Ì‚²‚­ˆê•”‚¾‚¯•Ï‚¦‚½‚Æ‚«‚́AÕ“Ë‚µ‚Ü‚¹‚ñB ‚È‚º‚È‚çAÕ“Ë‚³‚¹‚é‚ɂ́A - ƒnƒbƒVƒ… ƒAƒ‹ƒSƒŠƒYƒ€‚É‚æ‚Á‚ÄŒˆ‚Ü‚é–@‘¥‚ŁAƒtƒ@ƒCƒ‹‚Ì“à—e‚Ì‘S‘Ì‚ð‡‚í‚¹‚é•K—v‚ª - ‚ ‚é‚©‚ç‚Å‚·B - ‚È‚¨Aƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’l‚́A - ‚Å‚àŠm”F‚Å‚«‚Ü‚·B - - GetHash ƒRƒ}ƒ“ƒh - - - - - - - - GetVersionString ƒTƒ“ƒvƒ‹ - - - Sub Main() Set c = g_VBS_Lib - - path = InputPath( "zipƒtƒ@ƒCƒ‹‚̃pƒX >", c.CheckFileExists ) - echo GetVersionString( path ) - End Sub - - Dim g_VersionDataBase : g_VersionDataBase = Array(_ - "c28bae2972d4e9c9f90ed1861f0b8002", "vbslib, 4.00, 2012-07-02",_ - "700af264a9f00733b4d26f0407625d5b", "vbslib, 4.01, 2013-02-14" ) - - Function GetVersionString( Path ) - If IsArray( g_VersionDataBase ) Then _ - Set g_VersionDataBase = Dict( g_VersionDataBase ) - - value_of_MD5 = ReadBinaryFile( Path ).MD5 - If g_VersionDataBase.Exists( value_of_MD5 ) Then - GetVersionString = g_VersionDataBase( value_of_MD5 ) - Else - GetVersionString = "Unknown" - End If - End Function - - zip ‚Ȃǂ̃pƒbƒP[ƒWEƒtƒ@ƒCƒ‹‚̃o[ƒWƒ‡ƒ“‚ð MD5 ‚©‚ç”»’è‚·‚éƒ\[ƒXEƒR[ƒh‚̃Tƒ“ƒvƒ‹‚ðŽ¦‚µ‚Ü‚·B - ŠÖ˜A - - ¨ MD5 (BinaryArray) - - - ¨ GetHash - - - - - - - - Base64 (BinaryArray) - - - Property Get BinaryArray::Base64() as string - - - - Set bin = new_BinaryArrayFromBase64( "EjRWeA==" ) echo bin.Base64 - - ƒoƒCƒiƒŠ[Eƒf[ƒ^i”z—ñ‚Ì‘S‘́j‚ɑ΂·‚é Base64 ‚ŃGƒ“ƒR[ƒh‚³‚ꂽ•¶Žš—ñB - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ System.vbs - - ƒeƒXƒg - - ¨ T_Binary.vbs - - Test_of_Base64 - ŠÖ˜A - - ¨ new_BinaryArrayFromBase64 - - - ¨ Base64 - - ŽQl - - ¨ Base64 ƒRƒ}ƒ“ƒh - - - - - - - - Text (BinaryArray) - - - Function BinaryArray::Text( CharacterSet as string ) as string - - ƒoƒCƒiƒŠ[Eƒf[ƒ^‚ðŽw’肵‚½•¶ŽšƒR[ƒhƒZƒbƒg‚Ì•¶Žš—ñ‚Æ‚µAVBScript ‚Ì•¶Žš—ñ‚ð•Ô‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ System.vbs - - ƒeƒXƒg - - ¨ T_Binary.vbs - - T_Binary_TextCharacterSet - ŠÖ˜A - - ¨ new_TextFileCharSetStack - - - ¨ new_BinaryArrayAsText - - •¶ŽšƒR[ƒhƒZƒbƒgˆê—— - - - Set shift_JIS_bin = new_BinaryArray( Array( &h8A, &hBF, &h8E, &h9A ) )Assert shift_JIS_bin.Text( "Shift-JIS" ) = "Š¿Žš" - - ƒTƒ“ƒvƒ‹ - VBScript ‚Ì•¶Žš—ñ‚ðŽw’肵‚½•¶ŽšƒR[ƒhƒZƒbƒg‚É•Ï‚¦‚é - - - - - - - OpenForReadRIFF - - ¨ RIFF Œ`Ž® - - WAV, AVI ‚È‚Ç‚ÌŒ`Ž®‚̈ꕔ‚É‚ ‚½‚éAƒcƒŠ[\‘¢‚ðŽ‚Á‚½ƒ`ƒƒƒ“ƒN‚É‚æ‚Á‚č\¬‚³‚ê‚éƒoƒCƒiƒŠ[ƒf[ƒ^Œ`Ž®‚ðƒŠ[ƒh‚µ‚Ü‚·B - ŽQl - - - Function OpenForReadRIFF( in_Path as string ) as RIFF_Reader - - RIFF Œ`Ž®ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚̃Š[ƒh‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - “ü—̓tƒ@ƒCƒ‹‚̃pƒX - in_Path - •Ô‚è’l - “à—e‚ðƒŠ[ƒh‚·‚é‚Æ‚«‚ÉŽg‚¤ƒIƒuƒWƒFƒNƒg - - - Set bin = OpenForReadRIFF( "riff.bin" ) - Set chunk = bin.ReadFirstChild() '// chunk as RIFF_ChunkClass - Assert chunk.FourCC = "Set " - Assert bin.Stack( 0 ).FourCC = "Root" - Assert bin.Stack( 1 ).FourCC = "Set " - - Set chunk = bin.ReadFirstChild() - Assert chunk.FourCC = "Elem" - Assert chunk.Size = 5 - Assert not chunk.IsExistChild - Assert not chunk.IsExistNextSibling - - bin.ReadStruct data, Array( _ - "a", vbByte+vbArray, 3, "b", vbInteger ) ) - Assert data("a")(0) = &h41 - Assert data("a")(1) = &h42 - Assert data("a")(2) = &h43 - Assert data("b") = &h4544 '// ƒŠƒgƒ‹ƒGƒ“ƒfƒBƒAƒ“ - - bin.ReturnToParent - Set chunk = bin.ReadNextSibling() - Assert chunk.FourCC = "Elm2" - - ƒTƒ“ƒvƒ‹ - - - RIFF( 'Root' LIST( 'Set ' - 'Elem'( &h41, &h42, &h43, &h44, &h45 ) - ) - 'Elm2'( &h58, &h59, &h5A ) - ) - - ã‹L‚̃XƒNƒŠƒvƒg‚́A‰º‹L‚̃cƒŠ[\‘¢‚ð‚½‚Ç‚Á‚Ä‚¢‚Ü‚·B - - ReadFirstChild - - - ReadNextSibling - - - ReturnToParent - - - ReadStruct - - - RIFF_ChunkClass - - - ¨ System.vbs - - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_Binary.vbs - - - - - - - - SeekChunkByIndexes (RIFF_Reader) - - - Function RIFF_Reader::SeekChunkByIndexes( in_Empty as Empty, in_Indexes0_Array as array of integer ) as RIFF_ChunkClass - - ƒCƒ“ƒfƒbƒNƒX”ԍ†‚ÅŽw’肵‚½ƒ`ƒƒƒ“ƒN‚ɃWƒƒƒ“ƒv‚µ‚āAƒŠ[ƒh‚µ‚Ü‚·B - yˆø”z - in_Empty - Empty = ƒ‹[ƒg ƒ`ƒƒƒ“ƒN‚©‚炽‚Ç‚é - ƒeƒXƒg - - ¨ T_Binary.vbs - - T_RIFF_SeekChunkByIndexes - ƒ\[ƒX - - ¨ System.vbs - - ƒŠ[ƒh‚µ‚½ƒ`ƒƒƒ“ƒN‚ÉŠÖ‚·‚éî•ñ - •Ô‚è’l - in_Indexes0_Array - ƒCƒ“ƒfƒbƒNƒX”ԍ†‚Ì”z—ñ - - - - - - - - - - RIFF ƒ`ƒƒƒ“ƒN - - - - LIST ƒ`ƒƒƒ“ƒN - - - - —v‘fƒ`ƒƒƒ“ƒN - - - - —v‘fƒ`ƒƒƒ“ƒN - - - - —v‘fƒ`ƒƒƒ“ƒN - - - - —v‘fƒ`ƒƒƒ“ƒN - - ƒTƒ“ƒvƒ‹ - - - Set chunk = a_RIFF.SeekChunkByIndexes( Empty, Array( 2, 0 ) ) - - Array( ) - in_Indexes0_Array ˆø”‚̈ʒuŠÖŒWF - Array( 0 ) - Array( 1 ) - Array( 2 ) - Array( 2, 0 ) - Array( 2, 1 ) - - - - - - - ReadFirstChild (RIFF_Reader) - - - Function RIFF_Reader::ReadFirstChild() as RIFF_ChunkClass - - Œ»ÝˆÊ’u‚É‚ ‚郊ƒXƒg ƒ`ƒƒƒ“ƒN‚́AŽqƒ`ƒƒƒ“ƒN‚̃wƒbƒ_[‚ðƒŠ[ƒh‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ƒŠ[ƒh‚µ‚½Žqƒ`ƒƒƒ“ƒN‚ÉŠÖ‚·‚éî•ñ - - RIFF_ChunkClass - - ::IsExistChild = False ‚Ì‚Æ‚«‚ɌĂяo‚·‚ƃGƒ‰[‚É‚È‚è‚Ü‚·B - - - - - - - ReadNextSibling (RIFF_Reader) - - - Function RIFF_Reader::ReadNextSibling() as RIFF_ChunkClass - - Œ»ÝˆÊ’u‚ÌŽŸ‚ÌŒZ’íƒ`ƒƒƒ“ƒN‚̃wƒbƒ_[‚ðƒŠ[ƒh‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ƒŠ[ƒh‚µ‚½ŒZ’íƒ`ƒƒƒ“ƒN‚ÉŠÖ‚·‚éî•ñ - - RIFF_ChunkClass - - ::IsExistNextSibling = False ‚Ì‚Æ‚«‚ɌĂяo‚·‚ƃGƒ‰[‚É‚È‚è‚Ü‚·B - - - - - - - ReadStruct (RIFF_Reader) - - - Function RIFF_Reader::ReadStruct( out_Dic as dictionary, FormatArray as integer ) as integer - - Œ»ÝˆÊ’u‚̃`ƒƒƒ“ƒN‚Ì“à—e‚ðƒŠ[ƒh‚µAŽ«‘‚ÉŠi”[‚µ‚Ü‚·B - yˆø”z - io—́j ƒ`ƒƒƒ“ƒN‚Ì“à—e‚ª“ü‚Á‚½Ž«‘ - out_Dic - •Ô‚è’l - ’Šo‚µ‚½•”•ª‚̃oƒCƒiƒŠ‚Ì‘å‚«‚³iƒoƒCƒgj - ƒoƒCƒiƒŠ”z—ñ‚©‚ç’Šo‚·‚é•”•ª‚ÌŒ^‚̏W‡ - FormatArray - - ¨ ReadStruct (BinaryArray) - - ŽQl - - - - - - - ReturnToParent (RIFF_Reader) - - - Function RIFF_Reader::ReturnToParent() as RIFF_ChunkClass - - Œ»ÝˆÊ’u‚ðeƒ`ƒƒƒ“ƒN‚Ɉړ®‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - eƒ`ƒƒƒ“ƒN‚ÉŠÖ‚·‚éî•ñ - - - - - - - RIFF_ChunkClass - .Offset - .FourCC - ƒ`ƒƒƒ“ƒN‚̃wƒbƒ_[‚ðƒŠ[ƒh‚µ‚Ä“¾‚ç‚ꂽƒ`ƒƒƒ“ƒN‚ÉŠÖ‚·‚éî•ñB - .Size - .IsExistChild - .IsExistNextSibling - ƒ`ƒƒƒ“ƒN‚̐擪‚̈ʒuB 0 ‚ªæ“ª - ƒ`ƒƒƒ“ƒN‚Ì–¼‘O‚É‘Š“–‚·‚é FourCC i4•¶Žš‚Ì•¶Žš—ñj - ƒ`ƒƒƒ“ƒN‚É“ü‚Á‚Ä‚¢‚éƒf[ƒ^‚̃TƒCƒYiƒoƒCƒgj - Žqƒ`ƒƒƒ“ƒN‚ª‚ ‚é‚©‚Ç‚¤‚© - ŽŸ‚ÌŒZ’íƒ`ƒƒƒ“ƒN‚ª‚ ‚é‚©‚Ç‚¤‚© - - - - - - - OpenForWriteRIFF - - ¨ RIFF Œ`Ž® - - WAV, AVI ‚È‚Ç‚ÌŒ`Ž®‚̈ꕔ‚É‚ ‚½‚éAƒcƒŠ[\‘¢‚ðŽ‚Á‚½ƒ`ƒƒƒ“ƒN‚É‚æ‚Á‚č\¬‚³‚ê‚éƒoƒCƒiƒŠ[ƒf[ƒ^Œ`Ž®‚ðì¬‚µ‚Ü‚·B - ŽQl - - - Set w_=AppKey.NewWritable( "." ).Enable() - Set bin = OpenForWriteRIFF( "riff.bin", "Root" ) - bin.WriteLIST "Set " - bin.WriteChunk "Elem" - bin.WriteStruct Array( vbByte, Array( &h41, &h42, &h43 ) ) - bin.WriteStruct Array( vbInteger, Array( &h4544 ) ) - bin.WriteEnd '// End of "Elem" chunk - bin.WriteEnd '// End of "Set " chunk - bin.WriteChunk "Elm2" - bin.WriteStruct Array( vbByte, Array( &h58, &h59, &h5A ) ) - bin = Empty - - ƒTƒ“ƒvƒ‹ - - - RIFF( 'Root' LIST( 'Set ' - 'Elem'( &h41, &h42, &h43, &h44, &h45 ) - ) - 'Elm2'( &h58, &h59, &h5A ) - ) - - 52 49 46 46 2A 00 00 00 52 6F 6F 744C 49 53 54 12 00 00 00 53 65 74 20 - 45 6C 65 6D 05 00 00 00 41 42 43 44 45 00 - 45 6C 6D 32 03 00 00 00 58 59 5A 00 - RIFF 0x0000002A RootLIST 0x00000012 Set - Elem 0x00000005 0x41 0x42 0x43 0x44 0x45 - Elm2 0x00000003 0x58, 0x59, 0x5A - ã‹L‚̃XƒNƒŠƒvƒg‚́AˆÈ‰º‚̃oƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚ðì‚è‚Ü‚·B - - WriteLIST - - - WriteChunk - - - WriteStruct - - - WriteEnd - - - - Function OpenForWriteRIFF( in_Path as string, in_RootFourCC as string ) as RIFF_Writer - - RIFF Œ`Ž®ƒoƒCƒiƒŠ[ƒtƒ@ƒCƒ‹‚̃‰ƒCƒg‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - o—̓tƒ@ƒCƒ‹‚̃pƒX - in_Path - in_RootFourCC - ƒ‹[ƒgƒ`ƒƒƒ“ƒN‚Ì–¼‘O‚É‘Š“–‚·‚é FourCC i4•¶Žš‚Ì•¶Žš—ñj - •Ô‚è’l - “à—e‚ðƒ‰ƒCƒg‚·‚é‚Æ‚«‚ÉŽg‚¤ƒIƒuƒWƒFƒNƒg - ƒeƒXƒg - - ¨ System.vbs - - ƒ\[ƒX - - ¨ T_Binary.vbs - - - - - - - - WriteLIST (RIFF_Writer) - - << OpenForWriteRIFF - - - - Sub RIFF_Writer::WriteLIST( in_FourCC as string ) - - ƒŠƒXƒg ƒ`ƒƒƒ“ƒN‚̃wƒbƒ_[‚ðo—Í‚µ‚Ü‚·B - yˆø”z - in_FourCC - o—Í‚·‚郊ƒXƒg ƒ`ƒƒƒ“ƒN‚Ì–¼‘O‚É‘Š“–‚·‚é FourCC i4•¶Žš‚Ì•¶Žš—ñj - ŽŸ‚́A - ƒŠƒXƒg‚ðI—¹‚·‚é‚Æ‚«‚́A - WriteEnd - ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - WriteLIST - ‚© - - WriteChunk - - ‚Ì‚Ç‚¿‚ç‚©‚̃`ƒƒƒ“ƒN‚̃wƒbƒ_[‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - - - - - - - WriteChunk (RIFF_Writer) - - - Sub RIFF_Writer::WriteLIST( in_FourCC as string ) - - ƒŠƒXƒgˆÈŠO‚̃`ƒƒƒ“ƒN‚̃wƒbƒ_[‚ðo—Í‚µ‚Ü‚·B - yˆø”z - in_FourCC - o—Í‚·‚éƒ`ƒƒƒ“ƒN‚Ì–¼‘O‚É‘Š“–‚·‚é FourCC i4•¶Žš‚Ì•¶Žš—ñj - ŽŸ‚́A - - WriteStruct - - ‚щƒCƒg‚µ‚Ü‚·B - - - - - - - WriteStruct (RIFF_Writer) - - - Sub RIFF_Writer::WriteStruct( FormatAndDataArray as array ) - - \‘¢‰»‚µ‚½”z—ñ‚ðŽg‚Á‚āAŒ»Ý‚̃`ƒƒƒ“ƒN‚ɁAƒoƒCƒiƒŠ[ƒf[ƒ^‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - yˆø”z - ˜A‘±‚µ‚Ä WriteStruct ‚ðŒÄ‚яo‚·‚ƁA“¯‚¶ƒ`ƒƒƒ“ƒN‚Ì’†‚Ì‘±‚«‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - - ¨ WriteStruct (BinaryArray) - - ƒoƒCƒiƒŠ”z—ñ‚Öƒ‰ƒCƒg‚·‚é•”•ª‚ÌŒ^‚ƃ‰ƒCƒg‚·‚é’l‚̏W‡ - FormatAndDataArray - ŽQl - - WriteEnd - - ‚Ń`ƒƒƒ“ƒNi‚̃TƒCƒYj‚ðŠm’肵‚Ü‚·B - - - - - - - WriteEnd (RIFF_Writer) - - - Sub RIFF_Writer::WriteEnd() - - ƒ`ƒƒƒ“ƒN‚̃TƒCƒY‚ðŠm’肵‚Ü‚·B Œ»Ý‚̃`ƒƒƒ“ƒN‚̃‰ƒCƒg‚ðI—¹‚µ‚½‚Æ‚«‚ɌĂяo‚µ‚Ü‚·B - - WriteChunk - - ‚Ü‚½‚Í - - WriteLIST - - ‚щƒCƒg‚µ‚½ƒ`ƒƒƒ“ƒN‚̃wƒbƒ_[‚̈ꕔ‚É‚ ‚é - ƒTƒCƒYî•ñ‚Ì•”•ª‚ɁA“KØ‚È’l‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - - WriteLIST - - ‚© - - WriteChunk - - ‚Ì‚Ç‚¿‚ç‚©‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚́A - WriteEnd ‚ðŒÄ‚яo‚·‘O‚̃`ƒƒƒ“ƒN‚̐e‚ÌŒZ’í‚̃`ƒƒƒ“ƒN‚ªƒ‰ƒCƒg‚³‚ê‚Ü‚·B - –{ŠÖ”‚ðŒÄ‚яo‚µ‚½Œã‚ŁA - –{ŠÖ”‚́A - ƒ‹[ƒg‚̃`ƒƒƒ“ƒN‚É‚È‚é‚܂ŁAWriteEnd ‚ðŒÄ‚яo‚·•K—v‚Í‚ ‚è‚Ü‚¹‚ñB RIFF_Writer ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŁA‘«‚è‚È‚©‚Á‚½ WriteEnd ŒÄ‚яo‚µ‚ð“à•”‚ÅŽ©“® - “I‚ɍs‚¢AOpenForWriteRIFF ŠÖ”‚̈ø”‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B - - - - - - - WritePadding (RIFF_Writer) - - - Sub RIFF_Writer::WritePadding( in_FourCC as string, in_Alignment as integer ) - - ŽŸ‚̃oƒCƒiƒŠ[ƒf[ƒ^‚̃Aƒ‰ƒCƒ“ƒƒ“ƒg‚𑵂¦‚邽‚߂ɁAƒpƒfƒBƒ“ƒO‚·‚éƒ`ƒƒƒ“ƒN‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - yˆø”z - in_FourCC - in_Alignment - ƒpƒfƒBƒ“ƒO‚ð‚·‚éƒ`ƒƒƒ“ƒN‚Ì FourCC - ƒAƒ‰ƒCƒ“ƒƒ“ƒg - - ¨ ƒ`ƒƒƒ“ƒN‚Ì’†‚̃f[ƒ^‚̐擪‚ðƒAƒ‰ƒCƒ“ƒƒ“ƒg‚·‚é‚É‚Í - - ŽQl - :'Pad ' FourCC ... ƒ‰ƒCƒg‚·‚é”͈͂̍ŏ‰ - padding_size - padding ... ƒ‰ƒCƒg‚·‚é”͈͂̍Ōã - 'Data' FourCC ... WritaStruct ŠÖ”‚щƒCƒg - data_size - data ... ƒAƒ‰ƒCƒ“ƒƒ“ƒg‚ª‘µ‚¤ˆÊ’u - ‰º‹L‚Ì data ‚̃Aƒ‰ƒCƒ“ƒƒ“ƒg‚𑵂¦‚邽‚߂ɁA‰º‹L‚Ì 'Pad ' ƒ`ƒƒƒ“ƒN‚ðƒ‰ƒCƒg‚µ‚Ü‚·B - - - - - - - g_FileHashCache - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_LeafPath.vbs - - T_FileHashCache - - ¨ ToolsLib.vbs - - ƒtƒ@ƒCƒ‹‚̃nƒbƒVƒ…’liMD5j‚̃LƒƒƒbƒVƒ…BƒL[‚̓tƒ‹ ƒpƒXAƒAƒCƒeƒ€‚̓nƒbƒVƒ…’liƒŠ[ƒh ƒIƒ“ƒŠ[j‚Å‚ ‚鎫‘B - ƒvƒƒZƒX‹N“®ŒãA‰‚ß‚ÄŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚Ì‚Æ‚«‚¾‚¯AƒnƒbƒVƒ…’l‚ðŒvŽZ‚µ‚Ü‚·B - ‘å—ʂ̃tƒ@ƒCƒ‹‚ð‰½“x‚à”äŠr‚·‚é‚Æ‚«‚ÉŽg‚¤‚ƁA‚‘¬‚É‚È‚è‚Ü‚·B - - - Assert g_FileHashCache( "C:\A.txt" ) = "9060587edeb01a63e3d3edc959678d1e" - - - ¨ MD5 (BinaryArray) - - ŽQl - g_FileHashCache ‚É“ü‚éƒIƒuƒWƒFƒNƒg‚́AToolsLib.vbs ‚ð include ‚·‚é‚Æ‚«‚ɍ쐬‚³‚ê‚Ü‚·BƒL[‚ªƒtƒHƒ‹ƒ_[‚̃pƒX‚Ì‚Æ‚«‚̃AƒCƒeƒ€‚́A"Folder" ‚Å‚·B - ‚½‚¾‚µAƒtƒHƒ‹ƒ_[‚ª‹ó‚Ì‚Æ‚«‚́A"EmptyFolder" ‚Å‚·B - ƒL[‚ªƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX‚Å‚Í‚È‚¢‚Æ‚«‚̃AƒCƒeƒ€‚́A"" ‚Å‚·B - ƒtƒ@ƒCƒ‹‚̕ύX‚ª‚ ‚Á‚½‚Æ‚«‚́ARemove ƒƒ\ƒbƒhARemoveAll ƒƒ\ƒbƒh‚ŃLƒƒƒbƒVƒ…‚ð”jŠü‚µ‚Ä‚­‚¾‚³‚¢B - - - g_FileHashCache.RemoveAll - - - - g_FileHashCache.CopyRenFile "Source.txt", "Destination.txt" - - ƒnƒbƒVƒ…’l‚ÌŒvŽZ‚ƁAƒtƒ@ƒCƒ‹‚̃Rƒs[‚𓯎ž‚É‚·‚é‚Æ‚«‚́ACopyRenFile ‚ðŒÄ‚яo‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹‚̍폜‚Æ“¯Žž‚ɁAƒLƒƒƒbƒVƒ…‚ðXV‚·‚é‚Æ‚«‚́ADeleteFile ‚ðŒÄ‚яo‚µ‚Ü‚·B - - - g_FileHashCache.DeleteFile "File.txt" - - - - g_FileHashCache.Remove "File.txt" - - FileHashCacheClass - - - - - - - ƒoƒCƒiƒŠ¬ÝƒeƒLƒXƒg¶¬ (txt2bintxt.exe) - ƒ_ƒEƒ“ƒ[ƒh - txt2bintxt.exe ‚́AVBScript ‚ŁAˆê•”‚ªƒoƒCƒiƒŠ‚É‚È‚Á‚Ä‚¢‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðì¬‚Å‚«‚é‚悤‚É‚·‚é•ÏŠ·ƒc[ƒ‹‚Å‚·B - - - f.WriteLine "123" f.WriteLine Chr(&hFF)+"EF BB BF 0D 0A" - f.WriteLine "123" - - ƒoƒCƒiƒŠ‚É‚È‚Á‚Ä‚¢‚és‚́As“ª‚É Chr(&hFF) ‚ðo—Í‚µ‚Ä‚­‚¾‚³‚¢B - - - 31 32 33 0D 0AEF BB BF 0D 0A - 31 32 33 0D 0A - - ‚±‚¤‚µ‚ďo—Í‚µ‚½ƒtƒ@ƒCƒ‹‚ðAin.txt ‚Æ‚µ‚āA - - - txt2bintxt.exe in.txt out.txt - - ‚ðŽÀs‚·‚é‚ƁAout.txt ‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - out.txt iƒoƒCƒiƒŠ•\Œ»j - out.txt iƒeƒLƒXƒg•\Œ»j - - - 123Eƒ\ - 123 - - EF BB BF 0D 0A - EF BB BF 0D 0A - Eƒ\ - EF BB BF ‚́AUTF-8 ‚Ì BOM ‚Å‚·B - - ¨ txt2bintxt.zip - - •s—v‚É‚È‚Á‚½“ü—̓tƒ@ƒCƒ‹(in.txt) ‚́A•Ê“ríœ‚µ‚Ä‚­‚¾‚³‚¢B - ŠÖ˜A - - ¨ new_TextFileCharSetStack - - BOM •t‚«ƒeƒLƒXƒgƒtƒ@ƒCƒ‹ - - ¨ BinaryArray ƒNƒ‰ƒX - - ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹EƒAƒNƒZƒX - - - - - - - Txt2BinTxt - - - Sub Txt2BinTxt( SrcPath as string, DstPath as string ) - - - (src) - - - ¨ ƒoƒCƒiƒŠ¬ÝƒeƒLƒXƒg¶¬ (txt2bintxt.exe) - - ŽQl - - - - - - - get_ADODBConsts - - - Function get_ADODBConsts() as ADODBConsts - - ADODB ƒ‚ƒWƒ…[ƒ‹‚̒萔‚ðƒƒ“ƒo[‚ÉŽ‚ƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - ADODBConsts ‚ª’è‹`‚·‚é’萔 - adReadAll, adTypeBinary, adTypeTextadModeRead, adModeWrite, adModeReadWrite - adSaveCreateOverWrite - adCRLF, adLF, Keep - ƒTƒ“ƒvƒ‹ - - - Dim c : Set c = get_ADODBConsts()t = f.Read( c.adReadAll ) - - - (src) - - ƒoƒCƒg”z—ñ‚ðì¬‚·‚éŠÖ” - ƒoƒCƒg”z—ñ‚Ɛ®”‚ÌŠÔ‚Å•ÏŠ·‚·‚éŠÖ” - - ConvertToByteArray - - - ConvertToStructuredByteArray - - - BytesToShortInt - - - BytesToUShortIntToLongInt - - - BytesToLongInt - - - ShortIntToBytes - - - LongIntToUShortIntToBytes - - - LongIntToBytes - - ŠÖ˜A - - ¨ ADODB.Stream - - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - - - - - - ConvertToByteArray (ADODBConsts) - - - Function ADODBConsts::ConvertToByteArray( ByteArray as variant, Offset as integer, Size as integer ) as array of Byte - - •¶Žš—ñ‚â”z—ñ‚␔’l‚ðAƒoƒCƒg”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - ByteArray - Offset - •¶Žš—ñA‚Ü‚½‚Í”z—ñA‚Ü‚½‚͐”’l - •Ô‚è’l‚̐擪‚Æ‚È‚é ByteArray ‚Ì’†‚̈ʒuBæ“ª=0 - Size - ByteArray ‚Ì’†‚©‚ç•Ô‚è’l‚É‚·‚éƒTƒCƒYiƒoƒCƒgjBÅŒã‚Ü‚Å=-1 - ƒtƒ@ƒCƒ‹F - - - System.vbs - - •Ô‚è’l - - Byte ”z—ñ - - - Write (ADODB.Stream) - - ‚É“n‚¹‚é - ƒTƒ“ƒvƒ‹ - - - Dim binary, stream Dim c : Set c = get_ADODBConsts() - binary = c.ConvertToByteArray( ChrB( &h42 ) + ChrB( &h4D ), 0, Empty ) - stream.Write binary - - - - binary = c.ConvertToByteArray( &h4D, 1, Empty ) - - - (src) - - - ¨ T_Binary ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - ŽQl - - ¨ Write (BinaryArray) - - - - - - - - ConvertToStructuredByteArray (ADODBConsts) - - - Function ADODBConsts::ConvertToStructuredByteArray( FormatAndDataArray as array ) as array of Byte - - \‘¢‰»‚µ‚½”z—ñ‚ðAƒoƒCƒg”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - FormatAndDataArray - ƒoƒCƒiƒŠ”z—ñ‚Öƒ‰ƒCƒg‚·‚é•”•ª‚ÌŒ^‚ƃ‰ƒCƒg‚·‚é’l‚̏W‡ - •Ô‚è’l - - Byte ”z—ñ - - - Write (ADODB.Stream) - - ‚É“n‚¹‚é - - (src) - - - ¨ T_Binary ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - ŽQl - - ¨ WriteStruct (BinaryArray) - - \‘¢‰»‚µ‚½”z—ñAFormatAndDataArray ˆø”‚Ìà–¾ - - - - - - - BytesToShortInt - - - Function ADODBConsts::BytesToShortInt( b0, b1, b2, b3 as integer ) as integer - - 2ƒoƒCƒg‚̃oƒCƒiƒŠEƒf[ƒ^‚ðA-32768(&h8000)`32767(&h7FFF) ‚̐®”‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - c.BytesToShortInt( &hFE, &hFF ) = &hFFFE - - - (src) - - - - - - - - BytesToUShortIntToLongInt - - - Function ADODBConsts::BytesToUShortIntToLongInt( b0, b1, b2, b3 as integer ) as integer - - 2ƒoƒCƒg‚̃oƒCƒiƒŠEƒf[ƒ^‚ðA0`65535 ‚̐®”‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - c.BytesToUShortIntToLongInt( &hFE, &hFF ) = 65534 - - - (src) - - - - - - - - BytesToLongInt - - - Function ADODBConsts::BytesToLongInt( b0, b1, b2, b3 as integer ) as integer - - 4ƒoƒCƒg‚̃oƒCƒiƒŠEƒf[ƒ^‚ðALong Œ^®”‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - c.BytesToLongInt( &h78, &h56, &h34, &h12 ) = &h12345678 - - - (src) - - - - c.BytesToLongInt( AscB( b ), AscB( MidB( b, 2, 1 ) ), _ AscB( MidB( b, 3, 1 ) ), AscB( RightB( b, 1 ) ) ) - - - - - - - - ShortIntToBytes - - - Function ADODBConsts::ShortIntToBytes( Value as integer ) as array of integer - - -32768(&h8000)`32767(&h7FFF) ‚̐®”‚ðA2ƒoƒCƒg‚Ì”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - c.ShortIntToBytes( &hFEFF ) = Array( &hFF, &hFE ) - - &h0000`&h7FFFiIntegerŒ^jA&h10000` &h7FFFFFFFiLongŒ^j ‚́A³‚̐®”‚Å‚·B&h8000`&hFFFFiIntegerŒ^jA&h80000000`iLongŒ^j ‚́A•‰‚̐®”‚Å‚·B - - (src) - - - - - - - - LongIntToUShortIntToBytes - - - Function ADODBConsts::LongIntToUShortIntToBytes( Value as integer ) as array of integer - - 0`65535 ‚̐®”‚ðA2ƒoƒCƒg‚Ì”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - c.LongIntToUShortIntToBytes( 65534 ) = Array( &hFE, &hFF ) - - - (src) - - - - - - - - LongIntToBytes - - - Function ADODBConsts::LongIntToBytes( Value as integer ) as array of integer - - ®”‚ðA4ƒoƒCƒg‚Ì”z—ñ‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - c.LongIntToBytes( &h12345678 ) = Array( &h78, &h56, &h34, &h12 ) - - - (src) - - - - - - - - ADODB.Stream ŠÖ˜A - - - - - - - ADODB_Stream_loadFromFile - - ¨ vbslib.vbs - - - - Sub ADODB_Stream_loadFromFile( Stream as ADODB.Stream, Path as string ) - - ƒGƒ‰[ƒƒbƒZ[ƒW‚ð“KØ‚É‚µ‚½ ADODB.Stream.LoadFromFile B - ƒeƒXƒg - ƒ\[ƒX - - ¨ LoadFromFile (ADODB.Stream) - - ŽQl - - ¨ T_fc.vbs - - T_IsSameBinaryFile_ReadWriteLock - - - - - - - (•¡”s) ArrayFromLines - •¡”s‚©‚ç‚Ȃ镶Žš—ñ‚Ì‚¤‚¿A‚»‚ꂼ‚ê‚̍s‚ð—v‘f‚Æ‚µ‚½”z—ñ‚ð•Ô‚µ‚Ü‚·B - - - Function ArrayFromLines( lines as string ) as Array of string - - - - For Each line In ArrayFromLines( "ABC"+ vbCRLF +"DEF" )Next - - yˆø”z - lines - •Ô‚è’l - •¡”s‚©‚ç‚Ȃ镶Žš—ñ - ‚»‚ꂼ‚ê‚̍s‚ð—v‘f‚Æ‚µ‚½”z—ñ - ã‹L ArrayFromLines ‚Ì•Ô‚è’l‚́AArray( "ABC", "DEF" ) - "ABC"+ vbCRLF +"DEF" - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - - ¨ StringStream ƒNƒ‰ƒX - - ‰üs•¶Žš‚́ACR+LF ‚Å‚à LF ‚Å‚à‚Ç‚¿‚ç‚Å‚à\‚¢‚Ü‚¹‚ñB - - - a_array = ArrayFromLines( Trim2( root.selectSingleNode( _ "./Lines/text()" ).nodeValue ) ) - - ƒTƒ“ƒvƒ‹ - - - <Lines>Line (1) - Line (2) - </Lines> - - XML - VBScript - a_array ‚́AArray( "Line (1)", "Line (2)" ) ‚É‚È‚è‚Ü‚·B - - Trim2 - - Lines - - nodeValue - - - selectSingleNode - - ƒeƒXƒg - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ T_Lines.vbs - - - ¨ FindStringLines - - - ¨ SortStringLines - - - - - - - - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg - - ¨ ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒ\[ƒXƒtƒ@ƒCƒ‹ (Module Mixer) - - ŠÖ˜A - - ¨ \‘¢‰»ƒeƒLƒXƒgƒtƒH[ƒ}ƒbƒg - - - ReadTextSections - - - OpenForWriteTextSection - - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚ß‚½•¶Žš—ñ‚ð•Ô‚µ‚Ü‚· - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ð•ÒW‚µ‚Ü‚· - •¡”‚̃ZƒNƒVƒ‡ƒ“‚É•ª‚¯‚½ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðˆµ‚¢‚Ü‚·B - - CreateFromTextSections - - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚߂ătƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚· - - ¨ MultiTextXML_Class - - - - - - - - CreateFromTextSections - - - Sub CreateFromTextSections( in_XML_Path as string, in_XML_Root as IXMLDOMElement, in_CreateFilePath as string, in_MixedTextXPath as string, in_Empty as Empty ) - - yˆø”z - in_XML_Path - in_XML_Root - TextSection ƒ^ƒO‚ª‚ ‚é XML ƒtƒ@ƒCƒ‹‚̃pƒX - EmptyA‚Ü‚½‚́Ain_XML_Path ‚Ì XML ‚Ì—v‘fƒIƒuƒWƒFƒNƒg - in_CreateFilePath - ì¬‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - in_MixedTextXPath - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚߂ătƒ@ƒCƒ‹‚ðì¬‚µ‚Ü‚·B - •Ô‚è’l - EmptyA‚Ü‚½‚́AƒIƒvƒVƒ‡ƒ“i‰º‹Lj - in_Empty - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚ß‚½ƒeƒLƒXƒg - ‰º‹L‚Ì MixedText ƒ^ƒO‚ª‚ ‚é XML —v‘f‚Ì XPathAŠî€‚Í in_XML_Root - ŽQl - - ¨ CreateFromTextSections ƒRƒ}ƒ“ƒh - - ƒeƒLƒXƒgAMixedText ƒ^ƒO‚̃Tƒ“ƒvƒ‹ - in_XML_Root ‚Ì’†‚É‚ ‚é - - Variable ƒ^ƒO‚̕ϐ” - - ‚́ATextSection ƒ^ƒO‚Ì path ‘®«‚ÉŽw’è‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - CreateFile ƒ^ƒO‚ÉŽw’肳‚ꂽ‚·‚ׂẴtƒ@ƒCƒ‹‚ðì¬‚·‚éB - - - CreateFromTextSections "SettingA.xml", Empty, Empty, Empty, Empty - - in_XML_Root ‚É Empty ‚ðŽw’è‚·‚é‚ƁA“à•”‚Å - - LoadXML - - ( in_XML_Path, Empty ) ‚ðŒÄ‚яo‚µ‚Ü‚·B ‚»‚Ì•ªA - CreateFile ƒ^ƒO‚ÉŽw’肳‚ꂽ‚·‚ׂẴtƒ@ƒCƒ‹‚ðì¬‚·‚éB - ƒTƒ“ƒvƒ‹ - - - CreateFromTextSections "SettingA.xml", Empty, "_out.txt", "#C_Type", Empty - - ƒeƒXƒg - - ¨ T_TextSection.vbs - - T_CreateFromTextSections - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ŠÖ˜A - - ¨ CreateFromTextSections ƒRƒ}ƒ“ƒh - - - ¨ ReadTextSections ŠÖ” - - - - CreateFromTextSections "SettingA.xml", Empty, "_out.txt", "/MixedText[@id='C_Type']", Empty - - ˆ—ŽžŠÔ‚ª‚©‚©‚è‚Ü‚·B - in_Empty ‚É get_ToolsLibConsts().DeleteIfNoSection ‚ðŽw’è‚·‚é‚ƁAMixedText ƒ^ƒO‚Ì’†‚Ì TextSection ƒ^ƒO‚ª‚P‚Â‚à–³‚¢‚Æ‚«‚ɁAin_CreateFilePath ‚̃tƒ@ƒCƒ‹‚ªíœ‚³‚ê‚Ü‚·B - - - - - - - ReadTextSections - - - Function ReadTextSections( in_XML_Root as IXMLDOMElement, in_MixedTextXPath as string, in_VariablesForPath as string, - in_Variables as LazyDictionaryClass, in_Empty as Empty ) - - yˆø”z - in_XML_Root - in_MixedTextXPath - in_MixedSettingXPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ‰º‹L‚Ì MixedText ƒ^ƒO‚ª‚ ‚é XML —v‘f‚Ì XPathAŠî€‚Í in_XML_Root - in_XML_FilePath - ƒAƒhƒŒƒX‚̊‚Æ‚È‚é XML ƒtƒ@ƒCƒ‹‚̃pƒX - in_VariablesForPath - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚ß‚½•¶Žš—ñ‚ð•Ô‚µ‚Ü‚·B - •Ô‚è’l - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - in_Empty - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚ðW‚ß‚½ƒeƒLƒXƒg - Empty ‚Ü‚½‚Í path ‘®«‚É•]‰¿‚·‚é‚Æ‚«‚ÉŽg‚¤Ž«‘ - - ¨ LazyDictionaryClass - - ŽQl - ƒeƒXƒg - - ¨ T_TextSection.vbs - - T_ReadTextSections - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - <File mixed_text="SettingA.xml#mixed_1"/> - - ƒTƒ“ƒvƒ‹ - SettingB.xml - - - <MixedText id="mixed_1"><TextSection path="File.c#First"/> - <TextSection path="File.c#Second"/> - </MixedText> - - SettingA.xml - VBScript - - - Set linker = new LinkedXMLs linker.XmlTagNamesHavingIdName = Array( "MixedText" ) - - xml_path = "SettingB.xml" - Set xml_root = LoadXML( xml_path, Empty ) - - linker.StartNavigation xml_path, xml_root - Set mixed_text_tag = linker.GetLinkTargetNode( xml_root.getAttribute( "mixed_text" ) ) - text = ReadTextSections( mixed_text_tag, ".", linker.TargetXmlPath, Empty, Empty ) - linker.EndNavigation - - - LinkedXMLs - - "SettingB.xml" - "mixed_text" - mixed_text - SettingB.xml ‚Ì XML ‘®«‚©‚çŽQÆ‚·‚é MixedText ƒ^ƒO‚©‚çƒZƒNƒVƒ‡ƒ“‚ðW‚ß‚éB - ReadTextSections - ŠÖ˜A - - ¨ CreateFromTextSections ƒRƒ}ƒ“ƒh - - - ¨ CreateFromTextSections ƒRƒ}ƒ“ƒh - - ƒeƒLƒXƒg‚̃Tƒ“ƒvƒ‹ - in_XML_Root ‚Ì’†‚É‚ ‚é - - Variable ƒ^ƒO‚̕ϐ” - - ‚ƁAin_VariablesForPath ˆø”‚̕ϐ”‚́ATextSection ƒ^ƒO‚Ì path - ‘®«‚ÉŽw’è‚Å‚«‚Ü‚·B - - ¨ CreateFromTextSections ŠÖ” - - VBScript - - - xml_path = "SettingB.xml" Set xml_root = LoadXML( xml_path, Empty ) - - text = ReadTextSections( xml_root, "/MixedText[@id='mixed_1']", xml_path, Empty, Empty ) - - ReadTextSections - - - - - - - - - - - - - - - - - - - - - MakeCrossedOldSections - - ¨ ToolsLib.vbs - - ƒ\[ƒX - ƒeƒXƒg - - ¨ T_TextSection.vbs - - T_MakeCrossedOldSections - - - Sub MakeCrossedOldSections( in_OutFolderPath as string, _ in_NewFolderPath as string or PathDictionaryClass, in_OldFolderPath as string, _ - in_NewTxscPath as string, in_OldTxscPath as string, in_Option as Empty ) - - V‚µ‚¢ƒZƒNƒVƒ‡ƒ“‚̍\¬‚ɍ‡‚킹‚é‚悤‚ɁAŒÃ‚¢“à—e‚̃ZƒNƒVƒ‡ƒ“‚ðW‚ß‚Ü‚·B - yˆø”z - in_OutFolderPath - in_NewFolderPath - o—̓tƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - V‚µ‚¢ƒZƒNƒVƒ‡ƒ“‚̍\¬‚ðŽ‚Âƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒX - in_OldFolderPath - ŒÃ‚¢“à—e‚̃ZƒNƒVƒ‡ƒ“‚ðŽ‚Âƒtƒ@ƒCƒ‹‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃pƒX - in_OldFolderPath ‚Ì’†ŠÔƒtƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - in_OldTxscPath - in_NewFolderPath ‚Ì’†ŠÔƒtƒ@ƒCƒ‹‚ðŠi”[‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - in_NewTxscPath - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - in_Option - - ¨ T_CrossedOld ƒtƒHƒ‹ƒ_[ - - - PathDictionaryClass - - in_NewFolderPath ˆø”‚É - ‚̃IƒuƒWƒFƒNƒg‚ðŽw’è‚Å‚«‚Ü‚·B - in_NewFolderPath ˆø”‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚ɑΉž‚·‚éo—̓tƒ@ƒCƒ‹‚ª in_OutFolderPath ˆø”‚ÉŽw’肵‚½ƒtƒHƒ‹ƒ_[‚ÉŠi”[‚³‚ê‚Ü‚·B - ŠÖ˜A - - ¨ DoTextShrink - - - ¨ NaturalDocs - - - MakeTextSectionIndexFile - - ’†ŠÔƒtƒ@ƒCƒ‹‚́A - ‚ªo—Í‚·‚éƒZƒNƒVƒ‡ƒ“ ƒCƒ“ƒfƒbƒNƒX ƒtƒ@ƒCƒ‹‚Å‚·B - ƒTƒ“ƒvƒ‹ - Out - New - Old - A.txt - B.txt - - - /* Title: Section_A_1 */This is old Section-A-1. - - - - - - - /* Title: Section_B_1 */This is old Section-B-1. - - /* Title: Section_B_2 */ - This is old Section-B-2. - - A.txt - - - /* Title: Section_A_1 */New A-1. - - - New A-2. - - B.txt - - - /* Title: Section_B_1 */New B-1. - - /* Title: Section_B_2 */ - New B-2. - - - - /* Title: Section_B_1 */This is old Section-B-1. - - - - - Y.txt - X.txt - - - /* Title: Section_A_1 */This is old Section-A-1. - - /* Title: Section_B_2 */ - This is old Section-B-2. - - /* Title: Section_A_2 */This is old Section-A-2. - /* Title: Section_A_2 */ - /* Title: Section_A_2 */This is old Section-A-2. - - - - - - New ƒtƒHƒ‹ƒ_[‚É‚ ‚é A.txt ‚Æ“¯‚¶–¼‘O‚̃tƒ@ƒCƒ‹‚ðAOut ƒtƒHƒ‹ƒ_[‚ɍ쐬‚µ‚Ü‚·B ‚»‚Ì“à—e‚́ANew ƒtƒHƒ‹ƒ_[‚É‚ ‚é A.txt ‚̃ZƒNƒVƒ‡ƒ“‚̍\¬i‡˜jA‚·‚È‚í‚¿ASection_A_1ASection_A_2 ‚Ì - ‡‚É‚È‚è‚Ü‚·B ƒZƒNƒVƒ‡ƒ“‚Ì–¼‘O‚́A - - MakeTextSectionIndexFile - - ‚ª“ü—Í‚·‚éŒ`Ž®‚Å‹Lq‚µ‚Ü‚·B - - Natural Docs - - Œ`Ž®‚̂ݑΉž‚µ‚Ä‚¢‚Ü‚·B ‚»‚ꂼ‚êƒZƒNƒVƒ‡ƒ“‚Ì“à—e‚́AOld ƒtƒHƒ‹ƒ_[‚É - Œ»Ý‚́A - ‚ ‚éA‚·‚ׂẴtƒ@ƒCƒ‹‚Ì’†‚©‚猟õ‚µ‚ÄŒ©‚‚©‚Á‚½ƒZƒNƒVƒ‡ƒ“‚ðƒRƒs[‚µ‚½“à—e‚É‚È‚è‚Ü‚·B - - ¨ ModuleAssort - - - - - - - - MakeTextSectionIndexFile - - vbslib_helper.exe - - “à•”‚Å - ‚ðŒÄ‚яo‚µ‚Ä‚¢‚Ü‚·B - - - MakeTextSectionIndexFile "*.c", "NaturalDocs", "C_Type", Empty, Empty - - - - Sub MakeTextSectionIndexFile( Path as string or PathDictionaryClass, TagTypeName as string, BeforeRootFullPath as string, AfterRootFullPath as string ) - - ƒ^ƒO‚ª•t‚¢‚½ƒtƒ@ƒCƒ‹‚©‚çAƒZƒNƒVƒ‡ƒ“ ƒCƒ“ƒfƒbƒNƒX ƒtƒ@ƒCƒ‹‚ðXV‚µ‚Ü‚·B - yˆø”z - Path - TagTypeName - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚́A - ƒ^ƒO‚̃^ƒCƒvA"NaturalDocs" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_MakeTxScFile - .txsc ƒtƒ@ƒCƒ‹‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚Ì•û‚ªV‚µ‚¢‚Æ‚«‚́AXV‚ð‚¹‚¸A‚‘¬‚ɏˆ—‚µ‚Ü‚·B - - ¨ T_TextSection.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - PathDictionaryClass - - - ¨ NaturalDocs ŠÖ˜A‚̍\•¶‰ðÍ - - *.txsc ƒtƒ@ƒCƒ‹‚ðì¬‚·‚é - ƒTƒ“ƒvƒ‹ - _txsc\(ƒtƒ@ƒCƒ‹–¼.Šg’£Žq).txsc ‚Ì—á - - - <File path="..\Sample.c" type="C_Type"><TextSection keyword="Function" name="StartA" start_line="100" end_line="129" - next_to_comment_line="110"/> - <TextSection keyword="Function" name="StartB" start_line="130" end_line="159" - next_to_comment_line="140"/> - </File> - - BeforeRootFullPath - AfterRootFullPath - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚̃‹[ƒgEƒtƒHƒ‹ƒ_[‚̃pƒX - ƒZƒNƒVƒ‡ƒ“ ƒCƒ“ƒfƒbƒNƒX ƒtƒ@ƒCƒ‹(.txsc) ‚̃‹[ƒgEƒtƒHƒ‹ƒ_[‚̃pƒX - BeforeRootFullPath ˆø”AAfterRootFullPath ˆø”‚É Empty ‚ðŽw’è‚·‚é‚ƁAƒJƒŒƒ“ƒg ƒtƒHƒ‹ƒ_[‚ðŽw’肵‚½‚Æ‚«‚Æ“¯‚¶ˆ—‚ð‚µ‚Ü‚·B BeforeRootFullPath ˆø”AAfterRootFullPath ˆø”‚̏ڍׂ́A - - ¨ ReplaceRootPath - - SectionTypeName - o—̓tƒ@ƒCƒ‹‚Ì’†‚Ì type ‘®«‚É“ü‚ê‚镶Žš—ñ - BeforeRootFullPath ˆø”‚Æ AfterRootFullPath ˆø”‚ɁAƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚ƃCƒ“ƒfƒbƒNƒX ƒtƒ@ƒCƒ‹‚Ì‚ ‚éêŠ‚ÌŠÖŒW‚ðŽw’肵‚Ü‚·B - - ¨ TextStream::Line - - ŽQl - - ¨ Natural Docs - - TagTypeName = "NaturalDocs" ‚̏ꍇ‚Ì Sample.c ‚Ì—á - - - /************************************************************************ Function: StartA - ************************************************************************/ - void StartA() - { - } - - /*********************************************************************** - * Function: StartB - ************************************************************************/ - void StartB() - { - } - - ƒR[ƒ‹ƒcƒŠ[ - - MakeNaturalComments_C_Language - - config->AdditionalKeywords - g_NaturalDocsKeywords - - (src) - - MakeTextSectionIndexFile - End of File - MakeTextSectionIndexFile -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (.vbs) - - - (.c) - - - - - - - - ConnectInTextSectionIndexFile - - - Sub ConnectInTextSectionIndexFile( in_IndexFilePath as string, in_KeywordAndName as array of array of string, in_Empty as Empty ) - - ƒZƒNƒVƒ‡ƒ“ ƒCƒ“ƒfƒbƒNƒX ƒtƒ@ƒCƒ‹‚Ì’†‚ÌŽw’肵‚½ƒZƒNƒVƒ‡ƒ“‚ð‘O‚̃ZƒNƒVƒ‡ƒ“‚Ƃ‚Ȃ°‚éB - yˆø”z - in_IndexFilePath - in_KeywordAndName - ƒZƒNƒVƒ‡ƒ“ ƒCƒ“ƒfƒbƒNƒX ƒtƒ@ƒCƒ‹‚̃pƒX - ‘O‚̃ZƒNƒVƒ‡ƒ“‚Ƃ‚Ȃ°‚éƒZƒNƒVƒ‡ƒ“‚̃L[ƒ[ƒh‚Æ–¼‘O‚Ì”z—ñ - in_Empty - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - _txsc\(ƒtƒ@ƒCƒ‹–¼.Šg’£Žq).txsc ‚Ì—á - - - <File path="..\Sample.c" type="C_Type"><TextSection keyword="Function" name="StartA" start_line="100" end_line="129" - next_to_comment_line="110"/> - <TextSection keyword="Function" name="StartB" start_line="130" end_line="159" - next_to_comment_line="140"/> - </File> - - - - ConnectInTextSectionIndexFile "Sample.c", Array( Array( "Function", "StartB" ) ) - - ã‹L TextSection ƒ^ƒO‚ð‚‚Ȃ°‚éƒXƒNƒŠƒvƒgF - ‚‚Ȃ°‚½Œã‚Ì.txsc ƒtƒ@ƒCƒ‹‚Ì—áF - - - <File path="..\Sample.c" type="C_Type"><TextSection keyword="Function" name="StartA" start_line="100" end_line="159" - next_to_comment_line="110"/> - </File> - - - - - - - - OpenForWriteTextSection - - - Set file = OpenForWriteTextSection( "file.txt", Empty, Empty ) file.Cut "Section1" - file = Empty - - - - Function OpenForWriteTextSection( SourcePath as string, DestinationPath as string, Option_ as Empty ) as WriteTextSectionClass - - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg‚̕ҏW‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - SourcePath - DestinationPath - •ÒW‘O‚̃ZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚̃pƒX - •ÒW‚µ‚½Œ‹‰Ê‚ðo—Í‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚́AEmpty - Option_ - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ŠÖ˜A - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ \‘¢‰»ƒeƒLƒXƒgƒtƒH[ƒ}ƒbƒg (Module Mixer) - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - ¨ T_TextSection.vbs - - •Ô‚è’l - WriteTextSectionClass - - ¨ WriteTextSectionClass - - - ¨ Cut (WriteTextSectionClass) - - •Ô‚è’l‚̃IƒuƒWƒFƒNƒg‚ÌŽQÆƒJƒEƒ“ƒ^[‚ª 0 ‚É‚È‚Á‚½‚çAƒtƒ@ƒCƒ‹‚ɏo—Í‚³‚ê‚Ü‚·B - ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg - ƒZƒNƒVƒ‡ƒ“‚ðíœ‚µ‚Ü‚·B - file.txt ƒtƒ@ƒCƒ‹‚Ì’†‚́A"Section1" ‚ðŠÜ‚ÞƒZƒNƒVƒ‡ƒ“‚ðíœ‚µ‚Ü‚·B - - ¨ UsesSection (Mxp_Symbol) - - - ¨ PickUp (WriteTextSectionClass) - - Žc‚·ƒZƒNƒVƒ‡ƒ“‚ð‘I‘ð‚µ‚Ü‚·B - - - - - - - Cut (WriteTextSectionClass) - - - Sub WriteTextSectionClass::Cut( Key as string ) - - ƒZƒNƒVƒ‡ƒ“‚ðíœ‚µ‚Ü‚·B - yˆø”z - Key - ƒZƒNƒVƒ‡ƒ“‚Ì’†‚ÉŠÜ‚Ü‚ê‚镶Žš—ñ - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - - - - - PickUp (WriteTextSectionClass) - - - Sub WriteTextSectionClass::PickUp( Key as string ) - - Žc‚·ƒZƒNƒVƒ‡ƒ“‚ð‘I‘ð‚µ‚Ü‚·B - yˆø”z - Key - ƒZƒNƒVƒ‡ƒ“‚Ì’†‚ÉŠÜ‚Ü‚ê‚镶Žš—ñ - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - –{ŠÖ”‚ð‚P“x‚Å‚àŒÄ‚яo‚·‚ƁAWriteTextSectionClass ‚̃IƒuƒWƒFƒNƒg‚ÌŽQÆƒJƒEƒ“ƒ^[‚ª 0 ‚É‚È‚Á‚½‚Æ‚«A‘I‘ð‚³‚ê‚È‚©‚Á‚½ƒZƒNƒVƒ‡ƒ“‚Í‚·‚ׂč폜‚³‚ê‚Ü‚·B - –{ŠÖ”‚ð‚P“x‚àŒÄ‚яo‚³‚È‚©‚Á‚½‚Æ‚«‚́A‚·‚ׂẴZƒNƒVƒ‡ƒ“‚ªŽc‚è‚Ü‚·B - - - - - - - .ini ƒtƒ@ƒCƒ‹ - ŠÖ˜A - - ¨ OpenForRegFile - - - - [SectionX]SettingA = abc - - SettingB = 12 - ; comment - - [SectionY] - SettingA = BC - - ‰º‹L‚ÌŒ`Ž®‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚Å‹Lq‚³‚ꂽÝ’è’l‚ðˆµ‚¢‚Ü‚·B - s––‚܂ł̃Rƒƒ“ƒg‹L†‚́As“ª‚̂ݑΉž - ‹ós‚à‰Â”\ - ƒZƒNƒVƒ‡ƒ“–¼‚͏ȗª‰Â”\ - - ¨ GetIniFileTextValue - - - ¨ SetIniFileTextValue - - - ¨ RenumberIniFileData - - - ¨ ParseIniFileLine - - - - - - - - ParseIniFileLine - - - Function ParseIniFileLine( Line as string ) as ParsedIniFileLineClass - - .ini ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽs‚ð‰ðÍ‚µ‚Ü‚·B - yˆø”z - Line - .ini ƒtƒ@ƒCƒ‹‚Ì’†‚Ì‚Ps - ‰ðÍŒ‹‰Ê - •Ô‚è’l - - - Set line = ParseIniFileLine( "[Section1]" ) '// line.Section = "Section1" - '// line.Name = Empty - '// line.Value = Empty - - Set line = ParseIniFileLine( "Name = Value" ) - '// line.Section = Empty - '// line.Name = "Name" - '// line.Value = "Value" - - Set line = ParseIniFileLine( "Name =" ) - '// line.Section = Empty - '// line.Name = "Name" - '// line.Value = "" - - Set line = ParseIniFileLine( "comment" ) - '// line.Section = Empty - '// line.Name = Empty - '// line.Value = Empty - - ƒTƒ“ƒvƒ‹ - [ ] ‚ň͂܂ꂽs‚́AƒZƒNƒVƒ‡ƒ“–¼‚Æ‚µ‚ĉðÍ‚µ‚Ü‚·B= ‚ª‚È‚¢s‚́AƒRƒƒ“ƒgs‚Æ‚µ‚ĉðÍ‚µ‚Ü‚·B - ParsedIniFileLineClass - .Section - .Name - .Value - ƒZƒNƒVƒ‡ƒ“–¼ - ¶•Ó - ‰E•Ó - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_IniFile.vbs - - T_GetIniFileTextValue - - - - - - - GetIniFileTextValue - - - Function GetIniFileTextValue( IniText as string, SectionName as string, VariableName as string, Option_ as Empty ) as string - - .ini ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽÝ’è’l‚ðŽQÆ‚µ‚Ü‚·B - yˆø”z - IniText - SectionName - .ini ƒtƒ@ƒCƒ‹‚Ì“à—e - ƒZƒNƒVƒ‡ƒ“–¼AƒZƒNƒVƒ‡ƒ“‚ª‚È‚¢ƒtƒ@ƒCƒ‹‚Å‚Í=Empty - VariableName - •Ï”–¼ - ŠÖ˜A - ƒeƒXƒg - ƒ\[ƒX - •Ï”‚̐ݒè’l - •Ô‚è’l - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - Option_ - - ¨ vbslib.vbs - - - ¨ T_IniFile.vbs - - - ¨ SetIniFileTextValue - - T_GetIniFileTextValue - - - Assert GetIniFileTextValue( text, Empty, "NameA", Empty ) = "Value" - - ƒTƒ“ƒvƒ‹ - ŠY“–‚·‚é•Ï”‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AEmpty ‚ª•Ô‚è‚Ü‚·B - - [ e: .ini ƒtƒ@ƒCƒ‹ ] - - - ¨ GetIniFileTextValues - - - - Assert GetIniFileTextValue( text, "SectionB", "NameA", Empty ) = "Value" - - - - - - - - GetIniFileTextValues - - - Function GetIniFileTextValues( IniText as string, SectionName as string, VariableName as string, Option_ as Empty ) as array of string - - .ini ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽÝ’è’l‚𕡐”ŽQÆ‚µ‚Ü‚·B - yˆø”z - IniText - SectionName - .ini ƒtƒ@ƒCƒ‹‚Ì“à—e - ƒZƒNƒVƒ‡ƒ“–¼AƒZƒNƒVƒ‡ƒ“‚ª‚È‚¢ƒtƒ@ƒCƒ‹‚Å‚Í=Empty - VariableName - •Ï”–¼ - •Ï”‚̐ݒè’l‚Ì”z—ñ - •Ô‚è’l - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - Option_ - ŠY“–‚·‚é•Ï”‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́A‹ó‚Ì”z—ñ‚ª•Ô‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Assert IsSameArray( GetIniFileTextValues( text, "Section", "NameA", Empty ), _ Array( "Value1", "Value2" ) - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_IniFile.vbs - - T_GetIniFileTextValue - - ¨ vbslib.vbs - - - - - - - - SetIniFileTextValue - - - after_text = SetIniFileTextValue( before_text, Empty, "NameA", "Value", Empty ) - - - - Function SetIniFileTextValue( IniText as string, SectionName as string, VariableName as string, Value as Variant, Option_ as Empty ) as string - - .ini ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽÝ’è’l‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - IniText - SectionName - •ÏX‘O‚Ì .ini ƒtƒ@ƒCƒ‹‚Ì“à—e - ƒZƒNƒVƒ‡ƒ“–¼AƒZƒNƒVƒ‡ƒ“‚ª‚È‚¢ƒtƒ@ƒCƒ‹‚Å‚Í=Empty - VariableName - •Ï”–¼ - ƒTƒ“ƒvƒ‹ - •ÏXŒã‚Ì .ini ƒtƒ@ƒCƒ‹‚Ì“à—e - •Ô‚è’l - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - •ÏXŒã‚̕ϐ”‚̐ݒè’l - Option_ - Value - ŠÖ˜A - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_IniFile.vbs - - - ¨ GetIniFileTextValue - - T_SetIniFileTextValue - ŠY“–‚·‚é•Ï”‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚É‚È‚è‚Ü‚·B - - [ e: .ini ƒtƒ@ƒCƒ‹ ] - - - - - - - - RenumberIniFileData - - - Sub RenumberIniFileData( ReadStream as TextStream, WriteStream as TextStream, StartNumber as integer, IsPlusSpaceLineOnly as boolean ) - - .ini ƒtƒ@ƒCƒ‹‚Ì“à—e‚Ì‚¤‚¿A= ‚æ‚荶‚É‚ ‚é ( ) ‚Ì’†‚̔ԍ†‚ðU‚è’¼‚µ‚Ü‚·B - yˆø”z - ReadStream - “ü—̓XƒgƒŠ[ƒ€ - WriteStream - o—̓XƒgƒŠ[ƒ€ - ŠJŽn”ԍ† - StartNumber - - ¨ StringStream ƒNƒ‰ƒX - - - ¨ StringStream ƒNƒ‰ƒX - - ‹ós‚ª‚ ‚é‚Æ‚«‚¾‚¯”ԍ†‚ð{‚P‚·‚é‚©‚Ç‚¤‚© - IsPlusSpaceLineOnly - ƒTƒ“ƒvƒ‹Eƒf[ƒ^ - - - Data(2) = ABCData(5) = DEF - Data(6) = DEF - - - - Data(1) = ABCData(2) = DEF - Data(3) = DEF - - “ü—Í - o—Í - - ¨ RenumberIniFileData ƒRƒ}ƒ“ƒh - - ŠÖ˜A - ƒ\[ƒX - - ¨ vbslib.vbs - - - [ e: .ini ƒtƒ@ƒCƒ‹ ] - - - - - - - - ParseJSON - - - Function ParseJSON( JSON_String as string ) as JS_Object - - JSON ‚ðƒp[ƒXi\•¶‰ðÍj‚µ‚Ü‚·B - yˆø”z - JSON_String - •Ô‚è’l - JSON Œ`Ž®‚Ì•¶Žš—ñƒf[ƒ^ - JSON ‚̃f[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚éƒIƒuƒWƒFƒNƒg - - - Set json = ParseJSON( "{'attribute_1':'One', 'attr2':'Two'}" )echo json.attribute_1 '// "One" - - ƒTƒ“ƒvƒ‹ - - ¨ JSON (JavaScript Object Notation) - - ŽQl - - (src) - - È—ª‚³‚ꂽ‘®«‚ɑ΂µ‚āA•Ô‚è’l‚©‚çŽQÆ‚µ‚悤‚Æ‚·‚é‚ƁAƒGƒ‰[ 438 ‚É‚È‚è‚Ü‚·B - - - - - - - CŒ¾Œê - ŠÖ˜A - - ¨ ŠJ”­ŠÂ‹«‘€ì - - - - - - - - CutSharpIf - - - CutSharpIf "sample.c", Empty, "SAMPLE", True - - - - Sub CutSharpIf( InputPath as string, OutputPath as string, Symbol as string, IsCutTrue as boolean ) - - #ifdef ` #endif ‚ðƒJƒbƒg‚µ‚Ü‚·B - yˆø”z - InputPath - OutputPath - “ü—̓tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - o—̓tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - Symbol - #define ƒVƒ“ƒ{ƒ‹A‚Ü‚½‚́A#if ‚ÌðŒ•¶ - ŠÖ˜A - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - T_CutSharpIf - IsCutTrue - - ¨ GetInputOutputFilePaths - - - ¨ GetInputOutputFilePaths - - #if ‚ª^‚Ì•”•ª‚ðƒJƒbƒg‚·‚é(True)‚©A‹U‚Ì•”•ª‚ðƒJƒbƒg‚·‚é(False)‚© - - ¨ T_CutSharpIf.vbs - - - ¨ CutSharpIf ƒRƒ}ƒ“ƒh - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - - CutSharpIf "FolderA", "FolderB", "SAMPLE_A || SAMPLE_B", False - - - ¨ ParsedRanges_getCut_by_PP_Directive - - - ¨ vbslib_helper.c - - - - - - - - CutCommentC - - - Sub CutCommentC( in_Path as string, in_Empty as Empty ) - - C/C++Œ¾Œê‚̃\[ƒX ƒtƒ@ƒCƒ‹‚©‚çƒRƒƒ“ƒg‚ðíœ‚µ‚Ü‚·B - yˆø”z - in_Path - ƒRƒƒ“ƒg‚ðíœ‚·‚éƒ\[ƒX ƒtƒ@ƒCƒ‹‚̃pƒX - in_Empty - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢i—\–ñj - - ¨ clib - CutCommentC_1 - - ƒTƒ“ƒvƒ‹ - ƒRƒƒ“ƒg‚ðíœ‚·‚é‘O‚Ì“à—e‚͏㏑‚«‚³‚ê‚Ä–³‚­‚È‚é‚̂ŁAƒoƒbƒNƒAƒbƒv‚ðŽæ‚Á‚Ä‚©‚çŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - ƒeƒXƒg - - ¨ T_CutCommentC.vbs - - ƒ\[ƒX - - ¨ ToolsLib.vbs - - - ¨ vbslib_helper.c - - - - Set w_=AppKey.NewWritable( "Folder" ).Enable()CutCommentC "Folder\Source.c", Empty - - - NewWritable - - "Folder\Source.c" - ŽQl - - ¨ CutComment ƒRƒ}ƒ“ƒh - - T_CutCommentC - - ArrayFromWildcard - - in_Path ˆø”‚ɂ́A - ‚̈ø”‚̂悤‚É ƒƒCƒ‹ƒhƒJ[ƒh‚È‚Ç‚ðŽw’è‚Å‚«‚Ü‚·B - - - - - - - MakeDocumentByNaturalDocs - ƒeƒXƒg - - ¨ T_NaturalDocs.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒ\[ƒX - - - MakeDocumentByNaturalDocs "src", "HTML", Empty - - - - Sub MakeDocumentByNaturalDocs( SourceRootPath as string, DocumentRootPath as string, Options as Empty ) - - Natural Docs ‚ðŽÀs‚µ‚āAƒ\[ƒXƒtƒ@ƒCƒ‹‚©‚çHTMLŒ`Ž®‚̃hƒLƒ…ƒƒ“ƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - SourceRootPath - DocumentRootPath - ƒ\[ƒXƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒX - HTMLŒ`Ž®‚̃hƒLƒ…ƒƒ“ƒg‚𐶐¬‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - Options - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - Natural Docs ‚â ActivePerl ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚ƁAƒCƒ“ƒXƒg[ƒ‹‚𑦂·Œx‚ª•\Ž¦‚³‚ê‚Ü‚·B - - ¨ Setting_getNaturalDocsPerlPath - - ŽQl - - ¨ GetPerlVersion - - DocumentRootPath ‚ÉŽw’肵‚½ƒpƒX‚ɃtƒHƒ‹ƒ_[‚ðÁ‚·‚ƁANatural Docs ‚̃vƒƒWƒFƒNƒgƒtƒHƒ‹ƒ_[iƒLƒƒƒbƒVƒ…j‚ðì‚è’¼‚µ‚Ü‚·B ƒvƒƒWƒFƒNƒgƒtƒHƒ‹ƒ_[‚́A - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - - ‚Ì’†‚ɍì‚ç‚êA“ú•t‚ª•Ï‚í‚é‚ƍì‚è’¼‚µ‚Ü‚·B - •â‘« - - ¨ Natural Docs - - ŽQl - - g_Vers("NaturalDocsExtension") - - ‚ðÝ’è‚·‚é‚ƁANatural Docs ‚É“ü—Í‚·‚éŠg’£Žq‚ð - •ÏX‚Å‚«‚Ü‚·B - ƒ\[ƒXƒtƒ@ƒCƒ‹‚́AŒ»Ý‚̃R[ƒhƒy[ƒWi“ú–{‚È‚ç Shift-JISjA‚Ü‚½‚Í UnicodeiUTF-16) ‚É‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ NaturalDocs ƒRƒ}ƒ“ƒh - - ŠÖ˜A - - ¨ MakeDocumentBy_doxygen - - - - - - - - MakeDocumentBy_doxygen - - ¨ doxygen ƒRƒ}ƒ“ƒh - - - - MakeDocumentBy_doxygen "src", "HTML", Empty - - - - Sub MakeDocumentBy_doxygen( SourceRootPath as string, DocumentRootPath as string, Options as Empty ) - - doxygen ‚ðŽÀs‚µ‚āAƒ\[ƒXƒtƒ@ƒCƒ‹‚©‚çHTMLŒ`Ž®‚̃hƒLƒ…ƒƒ“ƒg‚𐶐¬‚µ‚Ü‚·B - yˆø”z - SourceRootPath - DocumentRootPath - ƒ\[ƒXƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒX - HTMLŒ`Ž®‚̃hƒLƒ…ƒƒ“ƒg‚𐶐¬‚·‚éƒtƒHƒ‹ƒ_[‚̃pƒX - Options - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒTƒ“ƒvƒ‹ - ŽQl - ƒ\[ƒXƒtƒ@ƒCƒ‹‚́AŒ»Ý‚̃R[ƒhƒy[ƒWi“ú–{‚È‚ç Shift-JISjA‚Ü‚½‚Í UnicodeiUTF-16) ‚É‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ doxygen - - ŠÖ˜A - - ¨ MakeDocumentByNaturalDocs - - ƒeƒXƒg - - ¨ T_doxygen.vbs - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - ƒ\[ƒX - doxygen ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚ƁAƒCƒ“ƒXƒg[ƒ‹‚𑦂·Œx‚ª•\Ž¦‚³‚ê‚Ü‚·B - ŽQl - DocumentRootPath ‚ÉŽw’肵‚½ƒpƒX‚ɃtƒHƒ‹ƒ_[‚ðÁ‚·‚ƁANatural Docs ‚̃vƒƒWƒFƒNƒgƒtƒHƒ‹ƒ_[iƒLƒƒƒbƒVƒ…j‚ðì‚è’¼‚µ‚Ü‚·B ƒvƒƒWƒFƒNƒgƒtƒHƒ‹ƒ_[‚́A - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - - ‚Ì’†‚ɍì‚ç‚êA“ú•t‚ª•Ï‚í‚é‚ƍì‚è’¼‚µ‚Ü‚·B - •â‘« - - g_Vers("NaturalDocsExtension") - - ‚ðÝ’è‚·‚é‚ƁANatural Docs ‚É“ü—Í‚·‚éŠg’£Žq‚ð - •ÏX‚Å‚«‚Ü‚·B - - ¨ Setting_getDoxygenPath - - - - - - - - ConvertDocumetCommentFormat - - - Sub ConvertDocumetCommentFormat( InputPath as string, OutputPath as string, InputFormat as string, OutputFormatFilePath as string ) - - ƒvƒƒOƒ‰ƒ€‚̃\[ƒXƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚éAƒhƒLƒ…ƒƒ“ƒg‚É•ÏŠ·‚Å‚«‚éƒRƒƒ“ƒg‚ÌŒ`Ž®‚ð•ÏŠ·‚µ‚Ü‚·B - yˆø”z - InputPath - OutputPath - InputFormat - Œ»ÝA"NaturalDocs" ‚Ì‚ÝŽw’è‚Å‚«‚Ü‚· - - ¨ ToolsLib.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ T_TextSection.vbs - - T_ConvertDCF - o—Í‚·‚éƒRƒƒ“ƒg‚̃eƒ“ƒvƒŒ[ƒg‚ª‘‚©‚ꂽƒtƒ@ƒCƒ‹‚̃pƒX - OutputFormatFilePath - “ü—̓tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - o—̓tƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚̃pƒX - - ¨ GetInputOutputFilePaths - - - ¨ GetInputOutputFilePaths - - - ¨ T_ConvertDCF ƒtƒHƒ‹ƒ_[ - - ƒTƒ“ƒvƒ‹ - ƒR[ƒ‹ƒcƒŠ[ - - vbslib_helper.exe - - ConvertDCF_Class_convert - NaturalCommentClass_printXML - - NaturalDocsHeaderClass - - - (src) - - ConvertDCF_onXML_Element - if ( _tcsicmp( in_Status->TagName, _T("Text") ) == 0 ) { - ConvertDCF_Class::Comments.ID - - (src) - - - (src) - - NaturalCommentClass - - (src) - - ConvertDCF_CommentClass_getReplaced - - (src) - - /* Set "descriptions" : Replaced from "${Descriptions}" */ - - (src) - - ConvertDocumentCommentFormat - ConvertDocumetCommentFormat - ‚P‚‚̃Rƒƒ“ƒg‚ð’u‚«Š·‚¦‚é - - MakeNaturalComments_C_Language - - NaturalDocs Œ`Ž®ƒRƒƒ“ƒg‚ðƒp[ƒX‚·‚é - Œ»ÝACŒ¾Œê‚Ì NaturalDocs Œ`Ž®ƒRƒƒ“ƒg‚©‚çAdoygen (Javadoc)Œ`Ž®ƒRƒƒ“ƒg‚Ö‚Ì•ÏŠ·‚̈ꕔ‚̂݉”\‚Å‚·B - - ¨ ConvertDocumetCommentFormat ƒRƒ}ƒ“ƒh - - ŠÖ˜A - - (src) - - - - - - - - DoTextShrink - - - Sub DoTextShrink( TxMxFilePath as string, Option as Empty ) - - ƒZƒNƒVƒ‡ƒ“iNaturalDocs ‚Å‹æØ‚Á‚½ƒ\[ƒX ƒtƒ@ƒCƒ‹j‚Ì‚¤‚¿AŽg—p‚µ‚Ä‚¢‚È‚¢ƒZƒNƒVƒ‡ƒ“‚ðíœ‚µ‚Ü‚·B - yˆø”z - TxMxFilePath - Option - •ÒW‚·‚éƒtƒ@ƒCƒ‹‚È‚Ç‚ª‹Lq‚³‚ꂽ .txmx ƒtƒ@ƒCƒ‹‚̃pƒXi‰º‹Lj - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒeƒXƒg - - ¨ T_TextSection.vbs - - T_TextShrink - ƒR[ƒ‹ƒcƒŠ[ - ListUpTextShrinkKeywords - TxMxClass - - (src) - - DoTextShrink -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - (src) - - ListUpUsingTxMxKeywords - - vbs(src) - - MakeShrinkedSectionsFile - - (src) - - ListUpUsingTxMxKeywords - - c(src) - - DoTextMix - - MakeTextSectionIndexFile - -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - vbs(src) - - - MakeTextSectionIndexFile - - - c(src) - - TxMxListUp_listUpUsedNames - - c(src) - - TxMxListUp_readSetting - T_MakeTxScFile - - MakeNaturalComments_C_Language - - - NaturalCommentClass - - - ¨ T_TextShrink ƒtƒHƒ‹ƒ_[ - - ƒ\[ƒX -<<<<<<< R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib - ???.svg - -======= - ->>>>>>> R:\home\mem_cache\MyDoc\src\vbslib new\_src\vbslib.svg - ¨ ToolsLib.vbs - - - ¨ DoTextShrink ƒRƒ}ƒ“ƒh - - ŠÖ˜A - - CreateFromTextSections - - - - - - - - (CSV) ArrayFromCSV, ArrayFromCSV_Int - CSV Œ`Ž®‚Ì‚Ps‚ð‰ðÍ‚µ‚āA‚»‚ꂼ‚ê‚̍€–Ú‚ð”z—ñ‚ÉŠi”[‚µ‚Ü‚·B - - - Function ArrayFromCSV( a_CSV as string ) as Array of string - - - - For Each column In ArrayFromCSV( "ABC , DEF" )Next - - yˆø”z - a_CSV - •Ô‚è’l - CSV Œ`Ž®‚Ì‚Ps - io—́jCSV ‚̍€–Ú‚ª“ü‚Á‚½”z—ñ - ŠÖ˜A - - ¨ Split - - Še€–Ú‚Ì—¼’[‚Ì‹ó”’‚ªíœ‚³‚ꂽ‚à‚Ì‚ª–ß‚è‚Ü‚·B€–Ú‚Ì’[‚É‹ó”’•¶Žš‚ª‚ ‚éê‡‚ƁA€–Ú‚Ì’†‚ɃRƒ“ƒ}‚âƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“(")‚ª - ‚ ‚é‚Æ‚«‚́A" " ‚ň͂ñ‚Å‚­‚¾‚³‚¢B ‚½‚¾‚µAƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“1•¶Žš‚ ‚½‚èA - ƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ð‚Q‚•À‚ׂĂ­‚¾‚³‚¢B - - ¨ T_CSV.vbs # ArrayFromCSV - - ƒeƒXƒg - - ¨ MeltCSV - - - (src) - - - - Function ArrayFromCSV_Int( a_CSV as string ) as Array of integer - - ã‹L ArrayFromCSV ‚Ì•Ô‚è’l‚́AArray( "ABC", "DEF" ) - ABC , DEF - - - A, " ""ABC,"" " - - - - A - - - - "ABC," - - CSVF - Še€–ځF - VBSF - - - ArrayFromCSV( "A, "" """"ABC,"""" """ ) - - CSV ‚Ƃ͕ʂɁAVBS ‚à“¯—l‚É " •¶Žš‚Í " ‚ð‚Q‚•À‚ׂé - "A, ,C" ‚̐^‚ñ’†‚Ì—v‘f‚̂悤‚ɁA‰½‚à–³‚¢‚Æ‚«‚́A”z—ñ‚Ì—v‘f‚ª Empty ‚É‚È‚è‚Ü‚·B"A, " ‚̂悤‚ɍŌオƒRƒ“ƒ}‚Ì‚Æ‚«‚́A”z—ñ‚̍Ōã‚Ì—v‘f‚ª Empty ‚É‚È‚è‚Ü‚· - " " ‚̂悤‚ɁA‹ó”’•¶Žš‚â‹ó•¶Žš—ñ‚Ì‚Æ‚«‚́A”z—ñ—v‘f”‚ª 0 ‚É‚È‚è‚Ü‚·B - - - ArrayFromCSV( "A,,C" ) = Array( "A", Empty, "C" ) - - - - ArrayFromCSV( "A," ) = Array( "A", Empty ) - - —v‘f‚É "" iƒ_ƒuƒ‹ƒNƒI[ƒe[ƒVƒ‡ƒ“‚Q‚‚¾‚¯j‚ªŽw’肳‚ꂽ‚Æ‚«‚́A‹ó•¶Žš—ñ‚É‚È‚è‚Ü‚·B - - - ArrayFromCSV( "A, """"" ) = Array( "A", "" ) - - - - ArrayFromCSV( " " ) = Array( ) - - •¡”s‚Ì•¶Žš—ñ‚ðŽw’è‚·‚é‚Æ‚«‚́AÅŒã‚̍sˆÈŠO‚̍s––‚ð "," ‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - ArrayFromCSV( "A, B," +vbCRLF+ "C, D," +vbCRLF+ "E, F" ) = Array( "A","B","C","D","E","F" ) - - - - A, B,C, D, - E, F - - ‚‚܂è -  - - - A, B, C, D, E, F - - - ¨ ArrayFromCmdLine - - ƒTƒ“ƒvƒ‹ - - ¨ AddCSV (ArrayClass) - - «”\‚ɂ‚¢‚Ä - –{ŠÖ”‚͏ˆ—‚ª’x‚¢‚Å‚·BCSV ƒtƒ@ƒCƒ‹‚̃f[ƒ^‚́A1s‚ɑΉž‚·‚éƒNƒ‰ƒX‚Ì”z—ñ‚ɃLƒƒƒbƒVƒ…‚µ‚Ä‚¨‚­‚Æ‘¬‚­‚È‚è‚Ü‚·B - - - paths = ArrayFromCSV( Replace( Trim2( multi_line_string ), vbCRLF, "," ) ) - - ƒTƒ“ƒvƒ‹ - •¡”s‚Ì•¶Žš—ñ‚©‚çAŠes‚ð”z—ñ‚É‚·‚é - - ¨ CSV (ArrayClass) - - - - - - - - - - For Each column In ArrayFromOrPipe( Array( "*.txt | ""A *.log""", "*.xml" ) )Next - - ArrayFromOrPipe - | ‚Å‹æØ‚ç‚ꂽ•¶Žš—ñ‚ð‰ðÍ‚µ‚āA‚»‚ꂼ‚ê‚̍€–Ú‚ð”z—ñ‚ÉŠi”[‚µ‚Ü‚·B - - - Function ArrayFromOrPipe( in_OrPipedString as string or array of string ) as Array of string - - - - For Each column In ArrayFromOrPipe( "ABC | DEF" )Next - - yˆø”z - in_OrPipedString - •Ô‚è’l - | ‚Ü‚½‚Í , ‚Å‹æØ‚ç‚ꂽ•¶Žš—ñA‚Ü‚½‚́A‚»‚Ì”z—ñ - io—́j •¶Žš—ñ‚Ì”z—ñ - ã‹L ArrayFromOrPipe ‚Ì•Ô‚è’l‚́AArray( "ABC", "DEF" ) - ABC | DEF - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - ƒ\[ƒX - - ArrayFromCSV - - ‚Æ‚Ù‚Ú“¯‚¶‚Å‚·‚ªAƒRƒ“ƒ}‚¾‚¯‚Å‚È‚­ | ‚à‹æØ‚è‹L†‚Æ‚µ‚ďˆ—‚µ‚Ü‚·B - "*.txt | ""A *.log""", "*.xml" - ã‹L ArrayFromOrPipe ‚Ì•Ô‚è’l‚́AArray( "*.txt", "A *.log", "*.xml" ) - ƒTƒ“ƒvƒ‹ - ƒeƒXƒg - - ¨ T_Wildcard.vbs - - T_ArrayFromWildcard1 - T_ArrayFromWildcard2 - - - - - - - CSVFrom - - - Function CSVFrom( a_Array as array ) as string - - ”z—ñ‚ð CSV Œ`Ž®‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - a_Array - •Ô‚è’l - ”z—ñ - CSV Œ`Ž®•¶Žš—ñ - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - CSVText - - - Function CSVText( s as string ) as string - - CSV ‚Ì‚P€–Ú‚É•ÏŠ·‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - s = CSVText( "a,b" ) - - s ‚́A"""a,b""" ‚Æ‚¢‚¤‚P‚‚̒l‚É‚È‚è‚Ü‚·Ba ‚Æ b ‚Æ‚¢‚¤‚Q‚‚̒l‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - - s = "" For Each t In Array( "a", "b" ) - If s <> "" Then s = s + ", " - s = s + CSVText( t ) - Next - - ƒTƒ“ƒvƒ‹ - CSV ‚Ì‚Ps‚ðì¬‚µ‚Ü‚· - - ¨ T_CSV.vbs - - ƒ\[ƒX - ƒeƒXƒg - - ¨ vbslib.vbs - - - - - - - - MeltCSV - CSV Œ`Ž®‚Ì‚P€–Ú‚ðŽæ‚èo‚µA’ʏí‚Ì•¶Žš—ñ‚É–ß‚·B - - - Function MeltCSV( Line as string, in_out_Start as integer ) as string - - - - i = 1 Do - s = MeltCSV( line, i ) - If not IsEmpty( s ) Then is ‚ðŽg‚Á‚½ˆ—j - If i = 0 Then Exit Do - Loop - - yˆø”z - Line - in_out_Start - CSV Œ`Ž®‚Ì‚Ps - i“ü—́j Žæ‚èo‚µ‚ðŠJŽn‚·‚镶Žš‚̈ʒuAio—́jŽŸ‚ÉŽæ‚èo‚·` - •Ô‚è’l - Žæ‚èo‚µ‚½ CSV Œ`Ž®‚Ì‚P€–ځBEmpty=€–Ú‚É’l‚ª–³‚¢ - ƒTƒ“ƒvƒ‹ - - (src) - - ŠÖ˜A - Še€–Ú‚Ì—¼’[‚Ì‹ó”’‚ªíœ‚³‚ꂽ‚à‚Ì‚ª–ß‚è‚Ü‚·BŽŸ‚̍€–Ú‚ª–³‚¢‚Æ‚«‚́Ai=0 ‚É‚È‚è‚Ü‚·B - i=0 ‚ð“n‚·‚ƁAEmpty ‚ð•Ô‚µ‚Ü‚·B - - ¨ T_CSV.vbs # main - - ƒeƒXƒg - - ¨ ArrayFromCSV - - - - - - - - CSV_insert - - ¨ T_CSV.vbs - - ƒ\[ƒX - - - Function CSV_insert( CSV_Line as string, RightColumnNum0 as integer, Element as variant ) as string - - CSV Œ`Ž®‚Ì‚Ps‚ɁA—v‘f‚ð‘}“ü‚µ‚Ü‚·B - yˆø”z - CSV_Line - RightColumnNum0 - CSV Œ`Ž®‚Ì‚Ps - ‘}“ü‚·‚éˆÊ’u‚̉E‚Ì—v‘f‚̔ԍ†i‚OˆÈãj - ƒeƒXƒg - - ¨ vbslib.vbs - - ‘}“ü‚µ‚½Œã‚Ì CSV Œ`Ž®‚Ì‚Ps - ‘}“ü‚·‚é—v‘f - Element - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Assert CSV_insert( "A,B,C", 1, "x" ) = "A,x,B,C" - - - - Assert CSV_insert( "A,B,C", 4, "x" ) = "A,B,C,,x" - - - - - - - - CSV_set - - ¨ T_CSV.vbs - - ƒ\[ƒX - - - Function CSV_set( CSV_Line as string, ColumnNum0 as integer, Element as variant ) as string - - CSV Œ`Ž®‚Ì‚P‚‚̗v‘f‚ðã‘‚«‚µ‚Ü‚·B - yˆø”z - CSV_Line - ColumnNum0 - CSV Œ`Ž®‚Ì‚Ps - ã‘‚«‚·‚é—v‘f‚̔ԍ†i‚OˆÈãj - ƒeƒXƒg - - ¨ vbslib.vbs - - ã‘‚«‚µ‚½Œã‚Ì CSV Œ`Ž®‚Ì‚Ps - ã‘‚«‚·‚é—v‘f - Element - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Assert CSV_set( "A,B,C", 1, "x" ) = "A,x,C" - - - - Assert CSV_set( "A,B,C", 4, "x" ) = "A,B,C,,x" - - - - - - - - CSV_remove - - ¨ T_CSV.vbs - - ƒ\[ƒX - - - Function CSV_remove( CSV_Line as string, ColumnNum0 as integer ) as string - - CSV Œ`Ž®‚Ì‚P‚‚̗v‘f‚ðíœ‚µ‚Ü‚·B - yˆø”z - CSV_Line - ColumnNum0 - CSV Œ`Ž®‚Ì‚Ps - íœ‚·‚é—v‘f‚̔ԍ†i‚OˆÈãj - ƒeƒXƒg - - ¨ vbslib.vbs - - íœ‚µ‚½Œã‚Ì CSV Œ`Ž®‚Ì‚Ps - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Assert CSV_remove( "A,B,C", 1 ) = "A,C" - - - - Assert CSV_remove( "A,B,C", 4 ) = "A,B,C," - - - - Assert CSV_remove( "A,B,C,", 3 ) = "A,B,C" - - íœ‚·‚é—v‘f‚æ‚è‘O‚Ì—v‘f‚ª–³‚¢‚Æ‚«‚́A‘O‚É‹ó‚Ì—v‘f‚ª’ljÁ‚³‚ê‚Ü‚· - - - - - - - (XML) LoadXML - - (src) - - - - Function LoadXML( PathOrStr as string, Opt as variant ) as IXMLDOMElement - - XML ƒtƒ@ƒCƒ‹A‚Ü‚½‚Í XML Œ`Ž®‚Ì•¶Žš—ñ‚ð“ǂݍž‚Ý‚Ü‚·B - yˆø”z - PathOrStr - XML ƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í XML Œ`Ž®•¶Žš—ñ‚â - Opt - ƒIƒvƒVƒ‡ƒ“i‰º‹Lj - - IXMLDOMElement - - XML ‚̃‹[ƒg—v‘f - •Ô‚è’l - Opt ˆø” - F_NoRoot ƒtƒ‰ƒOAg_VBS_Lib.NoRootXML - XML ‚̃‹[ƒg—v‘f‚ª–³‚¢ XML ‚ð“ǂݍž‚Ý‚Ü‚·B •Ô‚è’l‚́A“à•”‚ÅŽ©“®“I‚ɉÁ‚¦‚ç‚ꂽƒ‹[ƒg—v‘f <Dummy_Root_> ‚É‚È‚è‚Ü‚·B - æ“ª‚ª < ‚Å‚È‚¢‚Æ‚«‚́AŽ©“®“I‚Ƀ‹[ƒg—v‘f‚ª‰Á‚¦‚ç‚ê‚Ü‚·B - F_Str ƒtƒ‰ƒOAg_VBS_Lib.StringData - PathOrStr ˆø”‚ð XML Œ`Ž®•¶Žš—ñ‚Æ‚µ‚ďˆ—‚µ‚Ü‚· - ƒTƒ“ƒvƒ‹F XML Œ`Ž®•¶Žš—ñ‚ð“WŠJ‚·‚é - - - Dim s : s = "ABC <TAG1 attr='value1'/> 123" Dim root : Set root = LoadXML( s, F_NoRoot or F_Str ) - Dim value : value = root.selectSingleNode( "./TAG1" ).getAttribute( "attr" ) - '// value = "value1" - - - ¨ XML —v‘f‚ÖƒAƒNƒZƒX‚·‚é‚»‚Ì‘¼‚̃Tƒ“ƒvƒ‹ - - ŠÖ˜A - LoadXML - - - Dim root, elem, attr - Set root = LoadXML( "sample.xml", Empty ) - - '//=== read 1 attribute value - WScript.Echo root.selectSingleNode( "./Tests/Test" ).getAttribute( "result" ) - - '//=== read 1 text value - WScript.Echo root.selectSingleNode( "./Tests" ).text - - Set node = root.selectSingleNode( "./Tests/text()" ) - If not node is Nothing Then WScript.Echo node.nodeValue - - '//=== loop each tags - For Each elem In root.selectNodes( "./Tests/Test" ) - WScript.Echo "result, "+ elem.getAttribute( "result" ) - Next - - Set nodes = root.selectNodes( "./Tests" ) - ReDim values( nodes.length - 1 ) - For i=0 To UBound( values ) - values(i) = nodes(i).text - Next - - '//=== loop each attributes - For Each elem In root.selectNodes( ".//Test" ) - WScript.Echo "<" + elem.tagName + ">" - For Each attr In elem.attributes - WScript.Echo attr.name + "=" + attr.value - Next - Next - - ƒTƒ“ƒvƒ‹ : sample.xml ƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚·‚é - "sample.xml" - "./Tests/Test" - "./Tests/Test" - "result" - "result" - ".//Test" - result - - ¨ DOM ƒTƒ“ƒvƒ‹ - - LoadXML - “ú–{Œê‚ª‚ ‚é‚Æ‚«‚́AUnicode ‚É‚·‚é‚©AXMLéŒ¾‚Å Shift-JIS ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - ¨ XmlFilter ƒc[ƒ‹ (.zip) - - ƒeƒXƒg - - ¨ T_XML ƒtƒHƒ‹ƒ_[ - - ƒTƒ“ƒvƒ‹F XML ‚ðŒ‹‡‚·‚é - - - Dim f, root, elem, attr - Set f = OpenForWrite( "FileAB.xml", Empty ) - f.WriteLine "<TabA>" - Set root = LoadXML( "FileA.xml", Empty ) - f.WriteLine XmlTags( root.selectSingleNode( "./TagB" ).xml, 1 ) - Set root = LoadXML( "FileB.xml", Empty ) - f.WriteLine XmlTags( root.selectSingleNode( "./TagB" ).xml, 1 ) - f.WriteLine "</TabA>" - - - ¨ XML - - ŽQl - - ¨ xml_sub ŠÖ” - - ./Tests/text() - ŠÖ˜A - - ¨ XmlRead - - - ¨ XmlRead - - - ¨ XmlRead - - - selectSingleNode - - - selectNodes - - - getAttribute - - - ¨ MultiTextXML_Class - - - ¨ Opt ˆø” - - - ¨ LoadXML_Cached - - g_VBS_Lib.InheritSuperClass (SuperClassƒ^ƒO) - SuperClass ƒ^ƒO‚Ì‘®«‚ðŽqƒ^ƒO‚ɃRƒs[‚µ‚āAid ‘®«‚ðŽ‚½‚È‚¢ SuperClass ƒ^ƒO‚ðíœ‚µ‚½ XML ƒf[ƒ^‚ð•Ô‚µ‚Ü‚·B super_class ‘®«‚ðŽ‚Âƒ^ƒO‚́Asuper_class ‘®«‚ª - Žw‚· id ‘®«‚ðŽ‚Â SuperClass ƒ^ƒO‚Ì‘®«‚ðƒRƒs[‚µ‚Ü‚·B - ŽQlF T_InheritSuperClassXML ƒeƒXƒg - - - <SuperClass priority="1000"> <File path="*.c"/> - <File path="*.h"/> - </SuperClass> - <SuperClass priority="2000" id="Super1"/> - <File path="*.cpp" super_class="#Super1"/> - - - - <File path="*.c" priority="1000"/> <File path="*.h" priority="1000"/> - <SuperClass priority="2000" id="Super1"/> - <File path="*.cpp" super_class="#Super1" priority="2000"/> - - FileA.xml ƒtƒ@ƒCƒ‹ - LoadXML ‚Ì•Ô‚è’l‚Ì XML - - FilePathClass - - - - - - - - XML_ReadCacheClass - XML ƒtƒ@ƒCƒ‹‚Ì“à—e‚ð“à•”‚ŃLƒƒƒbƒVƒ…‚µ‚Ü‚·B - - ¨ Item (XML_ReadCacheClass) - - ŠÖ˜A - - ¨ LoadXML_Cached - - - - - - - - Item (XML_ReadCacheClass) - - - Default Property Get XML_ReadCacheClass::Item( URL as string ) as string - - XML ‚̃eƒLƒXƒgA‚Ü‚½‚́A‘®«’l‚ð•Ô‚µ‚Ü‚·B - yˆø”z - URL - •Ô‚è’l - XML ƒtƒ@ƒCƒ‹‚̃pƒX +"#"+ XPath - XML ‚̃eƒLƒXƒgA‚Ü‚½‚́A‘®«’l - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - ƒ\[ƒX - - - Set files = new XML_ReadCacheClasstag_text = files( "Sample.xml#/Root/Tag" ) - '// tag_text = "The text" - - Sample.xml#/Root/Tag - Sample.xml - VBScript - - - <Root><Tag>The text</Tag> - </Root> - - - ¨ T_XML.vbs # [T_XML_ReadCacheClass] - - ƒeƒXƒg - - << XML_ReadCacheClass - - - - - - - - LoadXML_Cached - - - Function LoadXML_Cached( PathOrStr as string, Opt as variant ) as IXMLDOMElement - - - IXMLDOMElement - - - LoadXML - - XML ‚ð‰ðÍ‚µ‚Ä‚Å‚«‚½ DOM ƒIƒuƒWƒFƒNƒg‚ðƒLƒƒƒbƒVƒ…‚·‚é - B - •Ô‚è’l‚ª‚ǂ̕ϐ”‚©‚çŽQÆ‚³‚ê‚È‚­‚È‚Á‚Ä‚àAƒLƒƒƒbƒVƒ…‚Ì‚½‚߂ɁADOM ƒIƒuƒWƒFƒNƒg‚̓ƒ‚ƒŠ[ã‚ÉŽc‚è‚Ü‚·B vbslib ‚Ì“à•”‚ɐâ‘΃pƒX‚ðƒL[ADOM ƒIƒuƒWƒFƒNƒg‚ðƒAƒCƒeƒ€‚Æ‚µ‚½Ž«‘Œ^‚̃LƒƒƒbƒVƒ… - ‚ª‚ ‚è‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - ‚Q‰ñ–ڈȍ~‚Ì XML ƒtƒ@ƒCƒ‹‚́AƒLƒƒƒbƒVƒ…‚É‚æ‚Á‚Ä XML ‚ð‰ðÍ‚·‚鏈—‚ª‚È‚­‚È‚èA‚‘¬‚ɏˆ—‚µ‚Ü‚·B - - ¨ XML_ReadCacheClass - - ŠÖ˜A - - - - - - - OpenForReplaceXML - ŠÖ˜A - - ¨ OpenForReplace - - - - Function OpenForReplaceXML( SrcPath as string, DstPath as string ) as ReplaceXmlFile1 - - XMLƒtƒ@ƒCƒ‹‚Ì“à—e‚̕ύX‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - SrcPath - DstPath - •ÏX‘O‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - •ÏXŒã‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒXB SrcPath ‚Æ“¯‚¶A‚Ü‚½‚Í Empty ‰ÂB - •Ô‚è’l - - - Set xml = OpenForReplaceXML( "file1.xml", Empty ) xml.Write "/Root/Elem/@attr1", 11 - xml.IsUserConfirm = True - xml = Empty '// ƒfƒXƒgƒ‰ƒNƒ^‚ц[ƒU[‚ÌŠm”F‚¨‚æ‚уtƒ@ƒCƒ‹‚̍XV‚ð‚·‚é - - file1.xml - /Root/Elem/@attr1 - - ¨ ReplaceXmlFile1 ƒNƒ‰ƒX - - 11 - - ¨ SetXmlAttribute - - ƒeƒXƒg - - ¨ T_XML.vbs # [T_OpenForReplaceXML] - - ReplaceXmlFile1 ƒNƒ‰ƒX - - .Write - - - .IsUserConfirm - - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‘®«‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - XML ƒtƒ@ƒCƒ‹‚ð•ÏX‚·‚é‘O‚ɁAƒ†[ƒU[‚ÉŠm”F‚ð‚Æ‚é‚©‚Ç‚¤‚©B - - IsUserConfirm - - - ¨ T_XML_Manually.vbs # [T_OpenForReplaceXML_Manually] - - - ¨ ReplaceRange (ReplaceTextFile1) - - - Write - - - ¨ vbslib.vbs - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - - - - - - Write (ReplaceXmlFile1) - - - Sub ReplaceXmlFile1::Write( XPath as string, Value as string ) - - - ¨ ƒTƒ“ƒvƒ‹ - - XML ‚̃^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - XPath - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚̈ʒu‚ð•\‚· XPath - •Ô‚è’l - •Ï‰»‚ª‚ ‚Á‚½‚©‚Ç‚¤‚© - •ÏXŒã‚̃eƒLƒXƒg‚Ü‚½‚Í XML ‘®«‚Ì’lA""=’l‚È‚µAEmpty=íœ‚·‚é - Value - - ¨ XmlWrite - - ŽQl - - ¨ OpenForReplaceXML - - - - - - - - SetXmlAttribute (ReplaceXmlFile1) - - - Sub ReplaceXmlFile1::SetXmlAttribute( XPathForXmlElement as string, AttrName as string, AttrValue as string ); - - XML ‘®«‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - XPathForXmlElement - AttrName - ‘®«‚ð•ÏX‚·‚é XML —v‘fiƒ^ƒOj ‚Ö‚Ì XPathB ƒtƒ‹EƒpƒX - XML ‘®«‚Ì–¼‘O - AttrValue - •ÏXŒã‚Ì XML ‘®«‚Ì’l - - ¨ OpenForReplaceXML - - - ¨ ƒTƒ“ƒvƒ‹ - - - ¨ Write (ReplaceXmlFile1) - - ”pŽ~‚³‚ê‚Ü‚µ‚½B - - - - - - - IsUserConfirm (ReplaceXmlFile1) - - - Dim ReplaceXmlFile1::IsUserConfirm as boolean - - XML ƒtƒ@ƒCƒ‹‚ð•ÏX‚·‚é‘O‚ɁAƒ†[ƒU[‚ÉŠm”F‚ð‚Æ‚é‚©‚Ç‚¤‚©‚̐ݒè’lB - XML ƒtƒ@ƒCƒ‹‚ðXV‚·‚é’¼‘O‚ŁA’l‚ª•Ï‚í‚é‘®«‚Æ‚»‚Ì’l‚ð•\Ž¦‚µ‚Ü‚·B•\Ž¦’†‚ɁAƒ†[ƒU[‚ÌŠm”F“ü—Í‚ª‚ ‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - - ¨ OpenForReplaceXML - - ƒfƒtƒHƒ‹ƒg‚́AFalse ‚Å‚·B - - - /Root/Tests/Test1@attr1="1"/Root/Tests/Test3@attr1="3" - XVƒtƒ@ƒCƒ‹Fout.xml - XML ƒtƒ@ƒCƒ‹‚̏ã‹L‘®«‚ð•ÏX‚µ‚Ü‚·B - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - Šm”F‰æ–Ê‚Ì—áF - - ¨ ƒTƒ“ƒvƒ‹ - - - - - - - - OpenForAppendXml - - - Function OpenForAppendXml( SrcPath as string, DstPath as string ) as AppendXmlFile - - XMLƒtƒ@ƒCƒ‹‚Ì“à—e‚̒ljÁ‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l‚ðŽg‚Á‚ČĂяo‚¹‚郁ƒ\ƒbƒh‚́AFileSystemObject::OpenTextFile ‚Æ“¯‚¶‚Å‚·‚ªAWriteXml ƒƒ\ƒbƒh‚ª’ljÁ‚³‚ê‚Ä‚¢‚Ü‚·B - Modify.xml iˆ—‘Oj - Modify.xml iˆ—Œãj - - - <Modify><Child1 value="1"/> - </Modify> - - ƒNƒ[ƒY‚·‚é‚Æ‚«‚ɁAƒ‹[ƒg‚Ì XML ƒ^ƒOiXML—v‘fj‚ð•Â‚¶‚éƒ^ƒO‚ðo—Í‚µ‚Ü‚·B‚æ‚Á‚āA’ljÁ‚·‚é“à—e‚́Aƒ‹[ƒg‚Ì XML ƒ^ƒO‚Ì’¼‰º‚Ì––”ö‚ÉŒÀ’肳‚ê‚Ü‚·B - - - Set file = OpenForAppendXml( "Modify.xml", Empty )file.WriteLine "<Child2 value=""2""/> <!-- by WriteLine -->" - file.WriteXml ReadFile( "Add.xml" ) - file = Empty - - ƒTƒ“ƒvƒ‹ - - - - - - - - <Modify><Child1 value="1"/> - <Child2 value="2"/> <!-- by WriteLine --> - <AddChild value="3"/> - </Modify> - - - - <Add><AddChild value="3"/> - </Add> - - Add.xml - ’ljÁ‚·‚é“à—e‚́AOpenForWrite ‚Æ“¯—l‚É WriteLine ‚Ȃǂ̃ƒ\ƒbƒh‚É XML ‚Ì•¶Žš—ñ‚ðŽw’肵‚Ü‚·B XPath ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - ¨ WriteXml - - - - - - - ƒeƒXƒg - - ¨ T_XML.vbs # [T_OpenForAppendXml] - - SrcPath - DstPath - •ÏX‘O‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒX - •ÏXŒã‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚̃pƒXB SrcPath ‚Æ“¯‚¶A‚Ü‚½‚Í Empty ‰ÂB - •Ô‚è’l - TextStream { ƒ¿ ‚̃IƒuƒWƒFƒNƒg - - (src) - - - - - - - - WriteXml (AppendXmlFile) - - - Sub AppendXmlFile::WriteXml( Xml as string ) - - Žw’肵‚½ XML •¶Žš—ñ‚©‚çAƒ‹[ƒg XML ƒ^ƒO‚ðœ‚¢‚ĒljÁ‚µ‚Ü‚·B - yˆø”z - Xml - ’ljÁ‚·‚é XML •¶Žš—ñ - - - file.WriteXml "<Root><Child/><Root>" - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - OpenForAppendXml( "Modify.xml", Empty ).WriteXml ReadFile( "Add.xml" ) - - <Child/> ‚ð’ljÁ‚µ‚Ü‚· - Modify.xml ‚É Add.xml ‚ð’ljÁ‚µ‚Ü‚·B - Modify.xml iˆ—‘Oj - Modify.xml iˆ—Œãj - - - <Modify><Child1 value="1"/> - </Modify> - - - - - - - - - <Modify><Child1 value="1"/> - <AddChild value="2"/> - </Modify> - - - - <Add><AddChild value="2"/> - </Add> - - Add.xml - - - - - - - (src) - - - - - - - - XmlRead - - - Function XmlRead( in_BaseXmlElement as IXMLDOMElement, in_XPath as string ) as string - - XML ‚̃^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚Ì’l‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - in_BaseXmlElement - in_XPath - in_XPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚̈ʒu‚ð•\‚· in_XPath - •Ô‚è’l - ƒeƒLƒXƒg‚Ü‚½‚Í XML ‘®«‚Ì’lB•¶Žš—ñŒ^ - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒg‚́AŒµ–§‚É‚Í in_XPath = "/Root/Elem/text()" ‚Å‚·‚ªAin_XPath = "/Root/Elem" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - in_XPath ‚ÉŽw’肵‚½ƒ^ƒOiXML—v‘fj‚âXML‘®«‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AEmpty ‚ð•Ô‚µ‚Ü‚·B - - in_XPath ‚ª‘Š‘΃pƒX‚Ì‚Æ‚«‚́Ain_BaseXmlElement ‚̃^ƒO‚ªŠî€‚É‚È‚è‚Ü‚·B - in_XPath ‚Ƀtƒ‹EƒpƒX‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ŽQl - ƒeƒXƒg - - ¨ T_XML.vbs - - - ¨ getAttribute (IXMLDOMElement) - - - ¨ RegRead - - ƒTƒ“ƒvƒ‹ - - - Set root = LoadXML( "in.xml", Empty ) '// as IXMLDOMElement value = XmlRead( root, "./Tag1/@attr1" ) - - Tag1/@attr1 - XmlRead - - ¨ CutIndentOfMultiLineText - - ŠÖ˜A - XML ‚̃^ƒO‚ÌŠÔ‚Ì•¡”s‚̃eƒLƒXƒg - - ¨ XmlReadBoolean - - ƒ\[ƒX - - ¨ vbslib.vbs - - T_XmlRead - - - - - - - XmlReadOrError - - - Function XmlReadOrError( in_BaseXmlElement as IXMLDOMElement, in_XPath as string, in_FilePath as string ) as string - - XML ‚Ƀf[ƒ^‚ª‹Lq‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΃Gƒ‰[‚É‚È‚é - ‚Å‚·B - - XmlRead - - in_FilePath - Empty ‚Ü‚½‚Í ƒGƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚·‚é XML ƒtƒ@ƒCƒ‹‚Ì–¼‘O - yˆø”z - in_BaseXmlElement - in_XPath - in_XPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚̈ʒu‚ð•\‚· in_XPath - •Ô‚è’l - ƒeƒLƒXƒg‚Ü‚½‚Í XML ‘®«‚Ì’lB•¶Žš—ñŒ^ - ƒGƒ‰[ƒƒbƒZ[ƒW‚́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - ƒeƒXƒg - ƒ\[ƒX - ŠÖ˜A - - - <ERROR msg="Œ©‚‚©‚è‚Ü‚¹‚ñ" file="Setting.xml" name="/Root/Tag1/@attr1"/> - - - - Set root = LoadXML( "in.xml", Empty ) '// as IXMLDOMElement value = XmlReadOrError( root, "./Tag1/@attr1", "Setting.xml" ) - - ƒTƒ“ƒvƒ‹ - - ¨ T_XML.vbs # [T_XmlRead] - - - ¨ XmlRead - - Tag1/@attr1 - XmlReadOrError - in_FilePath = Empty ‚Ì‚Æ‚«‚̃Gƒ‰[ƒƒbƒZ[ƒW‚́A‰º‹L‚̂悤‚É‚È‚è‚Ü‚·B - - - <ERROR msg="Œ©‚‚©‚è‚Ü‚¹‚ñ" name="/Root/Tag1/@attr1"/> - - - ¨ vbslib.vbs - - - - - - - - Read_XML_Encoding - - - Function Read_XML_Encoding( in_Path as string ) as string - - XML ƒtƒ@ƒCƒ‹‚©‚çA?xml ƒ^ƒO‚Ì encoding ‘®«‚ð“Ç‚Ý‚Ü‚·B - yˆø”z - in_Path - XML ƒtƒ@ƒCƒ‹‚̃pƒX - - ¨ T_XML.vbs - - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - T_LoadXML - ŠÖ˜A - - ¨ ReadUnicodeFileBOM - - encoding ‘®«‚Ì’lA•¶ŽšƒR[ƒh ƒZƒbƒg–¼ - •Ô‚è’l - ?xml ƒ^ƒOiXMLéŒ¾j‚Ì encoding ‘®«‚ªÝ’肳‚ê‚Ä‚È‚­AUTF-16 ‚Ì BOM ‚ª‚ ‚é‚Æ‚«‚́A"UTF-16" ‚ª•Ô‚è‚Ü‚·B encoding ‘®«‚ªÝ’肳‚ê‚Ä‚È‚­ABOM ‚ª‚È‚¢‚Æ‚«‚́A"UTF-8" - ‚ª•Ô‚è‚Ü‚·B encoding ‘®«‚ªÝ’肳‚ê‚Ä‚È‚¢‚Æ‚«‚É "UTF-8" ‚Å‚ ‚é‚̂́AHTML5 ‚Ì - Žd—l‚Å‚·B - - - - - - - XmlReadBoolean - - - Function XmlRead( in_BaseXmlElement as IXMLDOMElement, in_XPath as string, in_DefaultValue as boolean, in_FilePath as string or Empty ) as string - - XML ‚̃^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚Ì’l‚ðA˜_—Œ^‚Ŏ擾‚µ‚Ü‚·B - yˆø”z - in_BaseXmlElement - in_XPath - in_XPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚̈ʒu‚ð•\‚· in_XPath - •Ô‚è’l - ƒ^ƒO‚ÌŠÔ‚Ì’lA‚Ü‚½‚Í XML ‘®«‚Ì’lB ˜_—Œ^ - in_DefaultValue - in_FilePath - in_Path ‚ªŽw‚· XML ƒm[ƒh‚ª‚È‚¢‚Æ‚«‚Ì•Ô‚è’l - ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚É•\Ž¦‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXA‚Ü‚½‚Í Empty - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒg‚́AŒµ–§‚É‚Í in_XPath = "/Root/Elem/text()" ‚Å‚·‚ªAin_XPath = "/Root/Elem" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - in_XPath ‚ª‘Š‘΃pƒX‚Ì‚Æ‚«‚́Ain_BaseXmlElement ‚̃^ƒO‚ªŠî€‚É‚È‚è‚Ü‚·B - in_XPath ‚Ƀtƒ‹EƒpƒX‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ŽQl - ƒTƒ“ƒvƒ‹ - - - Set root = LoadXML( "in.xml", Empty ) '// as IXMLDOMElement value = XmlReadBoolean( root, "./Tag1/@attr1", False, "a.xml" ) - - XmlReadBoolean - - ¨ XmlRead - - ƒeƒXƒg - - ¨ T_XML.vbs # [T_XmlReadBoolean] - - XML ‚É‹Lq‚·‚é’l‚́AYes, No, True, False ‚Ì‚¢‚¸‚ê‚©‚Å‚·B ‘啶Žš¬•¶Žš‚Í‹æ•Ê‚µ‚Ü‚¹‚ñB - XML ‚Ì—áF - - - <Root> <Tag1 attr1="yes"/> </Root> - - - - - - - - XmlSelect - ƒeƒXƒg - - ¨ T_XML.vbs # T_XmlSelect - - - - Function XmlSelect( BaseXmlElement as IXMLDOMElement, XPath as string ) as IXMLDOMElement - - XML ‚̃^ƒO‚̃IƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B ‚à‚µAŠY“–‚·‚é XML ‚̃^ƒO‚ª–³‚¯‚ê‚ΐ¶¬‚µ‚Ä•Ô‚µ‚Ü‚·B - yˆø”z - BaseXmlElement - XPath - XPathForXmlElement ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - XML —v‘fiƒ^ƒOj‚̈ʒu‚ð•\‚· XPath - •Ô‚è’l - XML —v‘fiƒ^ƒOj‚̃IƒuƒWƒFƒNƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - XmlAttrDic - - - Function XmlAttrDic( XmlElem as IXMLDOMElement ) as dictionary of string - - XML —v‘fiƒ^ƒOj‚Ì‘®«‚ðAŽ«‘‚É‚µ‚Ü‚·B - yˆø”z - XmlElem - XML —v‘f - ƒL[‚ª‘®«–¼AƒAƒCƒeƒ€‚ª‘®«’l‚ÌŽ«‘ - •Ô‚è’l - - ¨ T_XML.vbs # [T_XmlAttrDic] - - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - GetHRefBase - - - Dim base, x - Set base = GetHRefBase( "sample.xml", Array("X") ) - Set x = base.href( "target.xml#name1" ) - Assert x.getAttribute( "name" ) = "name1" - - sample.xml - - - <Root><A href="target.xml#name1">Link</A> - </Root> - - target.xml - - - <Root><X name="name1"/> - </Root> - - - - - - - - - Function GetHRefBase( BasePath as string, TargetTagNames as array of string ) as HRefBase - - HTML ‚Ì A href ‚̂悤‚ȃŠƒ“ƒN‚ðŽæ“¾‚·‚邽‚߂̃IƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - BasePath - Šî€‚Æ‚È‚é XML ƒtƒ@ƒCƒ‹‚̃pƒX - TargetTagNames - ƒŠƒ“ƒNæ‚Æ‚È‚é id, name ‘®«‚ðŽ‚Âƒ^ƒO‚Ì–¼‘O‚Ì”z—ñ - ƒŠƒ“ƒN‚ðŽæ“¾‚·‚邽‚߂̃IƒuƒWƒFƒNƒg - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - href - - ŠÖ˜A - - ¨ href (HRefBase) - - "sample.xml" - "target.xml#name1" - "target.xml#name1" - - ¨ LinkedXMLs ƒNƒ‰ƒX - - zŠÂŽQÆŒŸo‚ ‚è - ƒeƒXƒg - - ¨ T_XML.vbs # [T_HRefBase] - - - (src) - - "X" - - - - - - - href (HRefBase) - - - Function HRefBase::href( URL as string ) as IXMLDOMElement - - HTML ‚Ì A href ‚̂悤‚ȃŠƒ“ƒN‚̃Šƒ“ƒNæ‚Æ‚È‚é XML ƒ^ƒO‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - URL - ƒŠƒ“ƒNæ‚ÌURL - ƒŠƒ“ƒNæ‚Ì XML ƒ^ƒO - •Ô‚è’l - ŽQl - - ¨ GetHRefBase - - ‘¼‚Ì XML ƒtƒ@ƒCƒ‹‚ւ̃Šƒ“ƒN‚ª‚ ‚é‚Æ‚«‚́A“à•”‚ÅŽ©“®“I‚É LoadXML ‚ªŒÄ‚΂ê‚Ü‚·B - - (src) - - HRefBase ƒIƒuƒWƒFƒNƒg‚̎擾 - - ¨ GetLinkTargetNode (LinkedXMLs) - - - ƒpƒX‚ɃsƒŠƒIƒh‚ð‚R‚•À‚ׂé - - ‚±‚Æ‚à‚Å‚«‚Ü‚·B - ƒŠƒ“ƒNæ‚ªŒ©‚‚©‚ç‚È‚¢‚Æ‚«‚̓Gƒ‰[‚É‚È‚è‚Ü‚·B - - IXMLDOMElement - - ŠÖ˜A - - ¨ getElementById (HTMLDocument) - - - - - - - - LinkedXMLs ƒNƒ‰ƒX - ƒf[ƒ^\‘¢ - - .XmlTagNamesHavingIdName as array of string - - .SourceXmlPath as string - .SourceXmlRootElem as IXMLDOMElement - .TargetXmlPath as string - .TargetXmlRootElem as IXMLDOMElement - ƒŠƒ“ƒNŒ³‚Ì XML ƒtƒ@ƒCƒ‹‚̃pƒX - SourceXmlPath ‚̃‹[ƒg XML ƒ^ƒO - ƒŠƒ“ƒNæ‚Ì XML ƒtƒ@ƒCƒ‹‚̃pƒX - TargetXmlPath ‚̃‹[ƒg XML ƒ^ƒO - ƒŠƒ“ƒNæ‚É‚È‚ê‚éƒ^ƒO–¼‚Ì”z—ñ - HTML ‚Ì A href ‚̂悤‚ȃŠƒ“ƒN‚́AƒŠƒ“ƒNæ‚Æ‚È‚é XML ƒ^ƒO‚ðŽæ“¾‚µ‚Ü‚·B‘¼‚Ì XML ƒtƒ@ƒCƒ‹‚ւ̃Šƒ“ƒN‚ª‚ ‚é‚Æ‚«‚́A“à•”‚ÅŽ©“®“I‚É LoadXML ‚ªŒÄ‚΂ê‚Ü‚·B - ƒŠƒ“ƒNæ‚̃Šƒ“ƒNæ‚ªAzŠÂŽQÆ‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ðŒŸo‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - Dim root, a, x, linker - Set root = LoadXML( "sample.xml", Empty ) - Set a = root.selectSingleNode( "./A" ) '// A ƒ^ƒO - - Set linker = new LinkedXMLs - linker.XmlTagNamesHavingIdName = Array( "X" ) - linker.StartNavigation "sample.xml", root - Set x = linker.GetLinkTargetNode( "target.xml#name1" ) '// X ƒ^ƒO - linker.EndNavigation - - sample.xml - ƒXƒNƒŠƒvƒg - - - <Root><A href="target.xml#name1">Link</A> - </Root> - - target.xml - - - <Root><X name="name1"/> - </Root> - - - - - - - "sample.xml" - "X" - "target.xml#name1" - "sample.xml" - ‘¼‚Ì XML ƒtƒ@ƒCƒ‹‚ւ̃Šƒ“ƒN‚ª‚ ‚é‚Æ‚«‚́A“à•”‚Å LoadXML ‚ªŒÄ‚΂êA•Ô‚³‚ê‚é XMLƒ‹[ƒgƒ^ƒO‚́A“à•”‚ɃLƒƒƒbƒVƒ…‚³‚ê‚Ü‚·B ÅV‚̏î•ñ‚ɍXV‚·‚é‚Æ‚«iƒLƒƒƒbƒVƒ…‚ð - ƒNƒŠƒA‚·‚é‚Æ‚«j‚́ALinkedXMLs ƒIƒuƒWƒFƒNƒg‚ðÄ¶¬‚µ‚Ä‚­‚¾‚³‚¢B - - (src) - - - GetLinkTargetNode - - - EndNavigation - - - StartNavigation - - - XmlTagNamesHavingIdName - - ƒeƒXƒg - - ¨ GetHRefBase - - - ¨ GetHRefBase - - ŠÖ˜A - .TargetLocation as string - ’¼‘O‚̃Šƒ“ƒNæ‚̃pƒXA# ‚ðŠÜ‚ޏꍇ‚à‚ ‚é - - - - - - - XmlTagNamesHavingIdName (LinkedXMLs) - getLinkTargetNode ƒƒ\ƒbƒh‚ŃŠƒ“ƒNæ‚É‚Å‚«‚é XML ‚Ìid ‘®«‚â name ‘®«‚ðŽ‚Â XML ƒ^ƒO–¼‚Ì”z—ñB - - - Set linker = new LinkedXMLslinker.XmlTagNamesHavingIdName = Array( "TestCases", "TestCase", "SubCase" ) - - ƒTƒ“ƒvƒ‹ - - - <A href="#name1">1</A> <A href="#name2">2</A> <A href="#name3">3</A><TestCases id="name1"/> <TestCase name="name2"/> <Others id="name3"/> - - XmlTagNamesHavingIdName ‚ÉŽw’肵‚½–¼‘O‚ðŽ‚Âƒ^ƒO‚ɃŠƒ“ƒN‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B‰º‹L‚Ì A href ‚Ì‚¤‚¿Aname1, name2 ‚̓Šƒ“ƒNæ‚ªŒ©‚‚©‚è‚Ü‚·‚ªAname3 ‚ÍŒ©‚‚©‚è‚Ü‚¹‚ñB - - - Dim LinkedXMLs::XmlTagNamesHavingIdName as string - - "TestCases", "TestCase", "SubCase" - - - - - - - StartNavigation (LinkedXMLs) - - - Sub LinkedXMLs::StartNavigation( SourceLocation as string, SourceXmlRootElem as IXMLDOMElement ) - - - (src) - - Œ»Ý‚Ì XML ƒtƒ@ƒCƒ‹iƒŠƒ“ƒNŒ³j‚̏î•ñ‚ðŽw’肵‚Ü‚·B - yˆø”z - SourceLocation - SourceXmlRootElem - Œ»Ý‚Ì XML ƒtƒ@ƒCƒ‹‚̃pƒXB‘Š‘΃pƒX‚Å‚à‰Â”\B # ‚ª‚ ‚ê‚Εt‚¯‚邱‚Æ - SourceXmlPath ‚̃tƒ@ƒCƒ‹‚̃‹[ƒg XML ƒ^ƒO (‰º‹L) - SourceXmlRootElem ˆø” - ‰‚߂ăŠƒ“ƒNæ‚ð’T‚·‚Æ‚«‚́ALoadXML ‚Ì•Ô‚è’l‚ðŽw’肵‚Ü‚·BƒŠƒ“ƒNæ‚̍X‚ɃŠƒ“ƒNæ‚ð’T‚·‚Æ‚«‚́ALinkedXMLs::TargetXmlRootElem ‚ðŽw’肵‚Ü‚·B - - - - - - - EndNavigation (LinkedXMLs) - - (src) - - - - Sub LinkedXMLs::EndNavigation() - - - StartNavigation - - ‚ÅŽw’肵‚½Œ»Ý‚Ì XML ƒtƒ@ƒCƒ‹‚̏I—¹‚ðŽw’肵‚Ü‚·B - - - - - - - GetLinkTargetNode (LinkedXMLs) - - (src) - - - - Function LinkedXMLs::GetLinkTargetNode( TargetLocation as string ) as IXMLDOMElement - - ƒŠƒ“ƒNæ‚Æ‚È‚é XML ƒ^ƒO‚ðŽæ“¾‚µ‚Ü‚·B - yˆø”z - TargetLocation - •Ô‚è’l - ƒŠƒ“ƒNæ‚̃pƒXB target.xml#name Œ`Ž® - ƒŠƒ“ƒNæ‚̃^ƒO - –{ŠÖ”‚ª¬Œ÷‚·‚é‚ƁAMe.TargetXmlPathiƒŠƒ“ƒNæ‚Ì XML ƒtƒ@ƒCƒ‹‚̃pƒXj‚ƁAMe.TargetXmlRootElem iTargetXmlPath ‚̃‹[ƒg XML ƒ^ƒOj‚àXV‚³‚ê‚Ü‚·B - StartNavigation ‚ðƒlƒXƒg‚µ‚Ä‚¢‚­‚ƁAGetLinkTargetNode ‚ŁAzŠÂŽQÆƒGƒ‰[‚ðŒŸo‚Å‚«‚Ü‚·B - - - linker.StartNavigation "sample.xml", rootSet a = linker.GetLinkTargetNode( "#a" ) - linker.StartNavigation linker.TargetLocation, linker.TargetXmlRootElem - Set b = linker.GetLinkTargetNode( "#b" ) - linker.StartNavigation linker.TargetLocation, linker.TargetXmlRootElem - Set a2 = linker.GetLinkTargetNode( "#a" ) '// zŠÂŽQÆƒGƒ‰[ - linker.EndNavigation - linker.EndNavigation - linker.EndNavigation - - linker.StartNavigation "sample.xml", root - Set b = linker.GetLinkTargetNode( "#b" ) '// zŠÂŽQÆƒGƒ‰[‚É‚È‚ç‚È‚¢ - linker.EndNavigation - - zŠÂŽQÆƒGƒ‰[‚ÌŒŸo - - - linker.StartNavigation "sample.xml", root Set x = linker.GetLinkTargetNode( "target.xml#name1" ) - linker.EndNavigation - - ƒTƒ“ƒvƒ‹ - "target.xml#name1" - ŽQl - - ¨ href (HRefBase) - - - IXMLDOMElement - - - - - - - - ParseAttributesInXML - ƒeƒXƒg - - ¨ T_XML.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - Function ParseAttributesInXML( in_AttributesString as string, in_AttributeNames as array of string ) as dictionary of string - - •¶Žš—ñ‚Ì’†‚É‚ ‚é XML ‚̃^ƒO‚Ì‘®«‚Ì•”•ª‚ð‰ðÍ‚µ‚Ü‚·B - yˆø”z - in_AttributesString - XML ‚̃^ƒO‚Ì‘®«‚Ì•”•ªB •¶Žš—ñŒ^ - XML ‘®«‚Ì–¼‘O‚ðƒL[‚Æ‚µ‚½A‘®«’l‚ÌŽ«‘ - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Set attrs = ParseAttributesInXML( "a=""Apple"" b=""Banana""", Array( "a", "b" ) )Assert attrs( "a" ) = "Apple" - Assert attrs( "b" ) = "Banana" - - ƒTƒ“ƒvƒ‹ - - - Set attrs = ParseAttributesInXML( "Text1 a=""Apple"" c=""Cherry""", Array( "a", "b", "" ) )Assert attrs( "a" ) = "Apple" - Assert not attrs.Exists( "b" ) - Assert not attrs.Exists( "c" ) - Assert attrs( "" ) = "Text1 c=""Cherry""" - - in_AttributeNames - ‰ðÍ‚·‚é XML ‘®«‚Ì–¼‘O‚Ì”z—ñ - •â‘« - " " ‚ň͂܂ꂽ‘®«’l‚É " ‚ðŠÜ‚ß‚é‚Æ‚«‚́A&quot; ‚É’u‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B' ' ‚ň͂܂ꂽ‘®«’l‚É ' ‚ðŠÜ‚ß‚é‚Æ‚«‚́A&apos; ‚É’u‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B - ‘®«’l‚Í " " ‚ň͂ñ‚Å‚à ' ' ‚ň͂ñ‚Å‚àã‹LˆÈŠO‚̈Ⴂ‚Í‚ ‚è‚Ü‚¹‚ñB - ‚½‚¾‚µA" " ‚Ü‚½‚Í ' ' ‚ň͂ޕK—v‚ª‚ ‚è‚Ü‚·B - = ‚ׂ̗ɂ͋󔒂ª‚ ‚Á‚Ä‚à‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - - ¨ XML - ŽÀ‘ÌŽQÆA•¶ŽšŽQÆ - - ŽQl - - ŽÀ‘ÌŽQÆ‚╶ŽšŽQÆi—áF&ampj - - ‘®«’lˆÈŠO‚̃eƒLƒXƒg‚ɁA‰ðÍ‘Ώۂ̑®«‚ðÝ’è‚·‚é‚悤‚ÈŒ`Ž®i–¼="’l"j‚ðÝ’è‚·‚é‚Æ‚«i—áF ‘®« a ‚ð‰ðÍ‚·‚é‚Æ‚«‚É attrs( "" ) ‚É "a=""A""" ‚ðŽc‚·‚Æ‚«j‚́A - = ‚ð &#x3D; ‚É’u‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B —áF "a&#x3D;""A"""B - ‘®«’l‚É - ‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚µ‚©‚µAÝ’è’l‚ɂ́A<, >, & - –{ŠÖ”‚Ì in_AttributesString ˆø”‚ÉŽw’è‚Å‚«‚éuvbslib ‚Ì XML ‘®«v ‚Ì•¶Žš—ñ‚́AXML ‚Ì•¶–@‚Æ‚µ‚Ä‚Í”F‚ß‚ç‚ê‚Ä‚¢‚È‚¢‚à‚́i—áF <, >, & ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚镶Žš—ñj‚Å‚àA‚Ù‚Ú–â‘è‚È‚­‰ðÍ‚Å‚«‚Ü‚·B - “¯‚¶‘®«–¼‚Ì‘®«‚ª in_AttributesString ˆø”‚É•¡”‚ ‚Á‚½‚Æ‚«‚́A‚»‚ꂼ‚ê‚Ì‘®«’l‚̊Ԃɉüs vbCRLF ‚ª“ü‚éŒ`‚Å‚Ü‚Æ‚ß‚ç‚ê‚Ü‚·B XML ‚Ì•¶–@‚Å‚Í“¯‚¶‘®«–¼‚Ì‘®«‚́A”F‚ß‚ç‚ê‚Ä - ‚¢‚Ü‚¹‚ñB - "a=""Apple"" b=""Banana""" - "Text1 a=""Apple"" c=""Cherry""" - "Text1 c=""Cherry""" - ‚ð‚»‚Ì‚Ü‚Ü‹Lq‚Å‚«‚Ü‚·B XML ‚Ì•¶–@‚Æ‚µ‚Ä‚Í”F‚ß‚ç‚ê‚Ä‚¢‚Ü‚¹‚ñ‚ªAŽÀ‘ÌŽQÆ‚É•ÏŠ·‚µ‚Ä‹Lq‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB ‚½‚¾‚µA‘®«’l‚ÉŽÀ‘ÌŽQÆ‚╶ŽšŽQÆi—áF&ampj‚Æ“¯‚¶Œ`Ž®i& ‚©‚ç - Žn‚Ü‚èA‰p”Žš‚ª‚ ‚èA; ‚ŏI‚í‚éŒ`Ž®j‚Ì•¶Žš—ñ‚ðÝ’肵‚½‚¢‚Æ‚«‚¾‚¯‚́A - & ‚ð &amp; ‚É’u‚«Š·‚¦‚Ä‚­‚¾‚³‚¢B - - - "If ( c < d && e > f ) { a = ""Apple < > &"" }" - - - - a="Apple < > &" - - “ü—́F - o—́F - o—́F - “ü—́F - - - a= " < > &quot &quot;" - - - - "a=' < > &quot &amp;quot;'" - - &amp;quot; - &quot; - - - a= "1"+ vbCRLF +"2" - - “ü—́F - o—́F - - - "a=""1"" a=""2""" - - - - "a&#x3D;""A""" - - o—́F - - - attrs("")= "a=""A""" - - “ü—́F - T_ParseAttributesInXML - XML ƒ^ƒO‚Ì‘®«‚ÌŒ`Ž®‚́A–¼="’l" ‚Ü‚½‚Í –¼='’l' ‚Å‚·B - •¶Žš—ñ‚É = •¶Žš‚ðŠÜ‚ޏꍇAXML ƒ^ƒO‚Ì‘®«‚̉”\«‚ª‚ ‚è‚Ü‚·‚ªA= ‚̍¶‚ª‰ðÍ‘Ώۂ̑®«–¼‚Å‚Í‚È‚¢‚Æ‚«‚âA= ‚̉E‚ª " ‚Ü‚½‚Í ' ‚Å‚Í‚È‚¢‚Æ‚«‚́Aˆê”Ê‚Ì•¶Žš—ñ‚Æ‚µ‚Ĉµ‚í‚ê‚Ü‚·B XML ‚Ì•¶–@ - ‚Æ‚µ‚Ä‚Í”F‚ß‚ç‚ê‚Ä‚¢‚Ü‚¹‚ñ‚ªAƒGƒ‰[‚É‚Í‚È‚è‚Ü‚¹‚ñB ‚Ü‚½A - in_AttributeNames ˆø”‚ÉŽw’肵‚½”z—ñ‚É‹ó‚Ì•¶Žš—ñ "" ‚ªŠÜ‚Ü‚ê‚é‚Æ‚«‚́AXML ƒ^ƒO‚Ì‘®«‚ðíœ‚µ‚½Žc‚è‚Ì•¶Žš—ñ‚ðo—Í‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - XML ‘®«‚ªíœ‚µ‚½•”•ª‚Ì‹ó”’‚Ì•¶Žš”‚́AXML ‘®«‚Ì—¼—ׂɂ ‚é‹ó”’‚Ì•¶Žš”‚̏¬‚³‚¢‚Ù‚¤ - ‚É‚È‚è‚Ü‚·B ‚½‚¾‚µA‘Oi¶j‚Ì XML ‘®«‚ª”²‚©‚ꂽ‚Æ‚«‚ɉE—ׂ̋󔒂ª­‚È‚­‚È‚Á‚½‚çAŽŸi‰Ej‚Ì - XML ‘®«‚̍¶—ׂ̋󔒂͂»‚̏­‚È‚­‚È‚Á‚½•¶Žš”‚ªŽg‚í‚ê‚Ü‚·B - - ŽÀ‘ÌŽQÆ‚╶ŽšŽQÆi—áF&ampj - - ‚Å‹Lq‚·‚ê‚΁AXML ƒ^ƒO‚Ì‘®«‚ÌŒ`Ž®‚Æ“¯‚¶Œ`Ž®‚Ì’l‚ào—Í‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·iƒGƒXƒP[ƒvjB - - - - - - - DecodeCharacterReferencesOfXML - - - Function DecodeCharacterReferencesOfXML( in_String as string ) as string - - ‚ðƒfƒR[ƒh‚µ‚Ü‚·B - yˆø”z - in_String - •Ô‚è’l - ŽÀ‘ÌŽQÆ‚╶ŽšŽQÆ‚ðŠÜ‚Þ•¶Žš—ñ - ŽÀ‘ÌŽQÆ‚╶ŽšŽQÆ‚ð‘Ήž‚·‚镶Žš‚É•ÏŠ·‚µ‚½•¶Žš—ñ - ƒeƒXƒg - - ¨ T_XML.vbs - - ƒ\[ƒX - - ¨ vbslib.vbs - - - XML ‚ÌŽÀ‘ÌŽQÆ‚╶ŽšŽQÆi—áF&ampj - - –{ŠÖ”‚Ì in_String ˆø”‚ÉŽw’è‚Å‚«‚éuvbslib ‚Ì XML ‘®«v ‚Ì•¶Žš—ñ‚́AXML ‚Ì•¶–@‚Æ‚µ‚Ä‚Í”F‚ß‚ç‚ê‚Ä‚¢‚È‚¢‚à‚́i—áF <, >, & ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚镶Žš—ñj‚Å‚àA‚Ù‚Ú–â‘è‚È‚­ - ‰ðÍ‚Å‚«‚Ü‚·B - ŽQl - - ¨ ParseAttributesInXML - - - - a_string = DecodeCharacterReferencesOfXML( "&amp; &lt; &gt; &quot; & < >" )Assert a_string = "& < > "" & < >" - - ƒTƒ“ƒvƒ‹ - T_ParseAttributesInXML - "&amp; &lt; &gt; &quot; & < >" - "& < > "" & < >" - - - - - - - CutIndentOfMultiLineText - - - text_template = _ vbCRLF +_ - vbTab + vbTab +"Line1"+ vbCRLF +_ - vbTab + vbTab + vbTab +"Line2"+ vbCRLF +_ - vbTab + "Line3"+ vbCRLF +_ - vbTab + vbTab - - output = CutIndentOfMultiLineText( text ) - - Assert output = _ - vbTab +"Line1"+ vbCRLF +_ - vbTab + vbTab +"Line2"+ vbCRLF +_ - "Line3"+ vbCRLF - - - - Function CutIndentOfMultiLineText( in_Text as string, in_Indent as string or Empty, in_NewLine as string, in_Option as boolean or Empty ) as string - - ƒCƒ“ƒfƒ“ƒg‚ðƒJƒbƒg‚µ‚Ü‚·B ‚Ü‚½AXML ‚ʼnüsƒR[ƒh‚ª¬Ý‚µ‚½ƒeƒLƒXƒg‚ðˆµ‚¢‚Ü‚·B - yˆø”z - in_Text - ƒCƒ“ƒfƒ“ƒg‚ðƒJƒbƒg‚·‚é‘O‚Ì•¶Žš—ñB‰üsƒR[ƒh‚́ALF - in_Indent - Empty ‚©A‘ã‚í‚è‚ɒljÁ‚·‚镶Žš”*ƒCƒ“ƒfƒ“ƒg‚Ì•¶ŽšA—áF"1*"+ vbTab - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - ¨ T_XML.vbs - - ƒeƒXƒg - T_XmlText - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ MultiTextXML_Class - - ‚·‚ׂĂ̍s‚ªƒCƒ“ƒfƒ“ƒg‚µ‚Ä‚©‚çiƒ^ƒu•¶Žš‚â‹ó”’•¶Žš‚©‚çjŽn‚Ü‚éê‡A‚»‚̃Cƒ“ƒfƒ“ƒg‚ðƒJƒbƒg‚µ‚Ü‚·B XML ƒp[ƒT[‚́A - æ“ªs‚ª‹ós‚Ì‚Æ‚«‚́A‚»‚̐擪s‚ðƒJƒbƒg‚µ‚Ü‚·iXML ƒp[ƒT[‚́AHTML ƒp[ƒT[‚Æ - ˆÙ‚È‚èAæ“ª‚Ì‹ós‚ðƒJƒbƒg‚µ‚Ü‚¹‚ñjB - ÅIs‚ªƒCƒ“ƒfƒ“ƒg‚µ‚©‚È‚­A––”ö‚ɉüs•¶Žš‚ª‚È‚¢‚Æ‚«‚́A‚»‚̍ŏIs‚ðƒJƒbƒg‚µ‚Ü‚·iXML - ƒp[ƒT[‚́AHTML ƒp[ƒT[‚ƈقȂèA––”ö‚Ì‹ós‚̓Jƒbƒg‚µ‚Ü‚¹‚ñjB - - ¨ GetTab - - - ¨ XmlText - - ŽQl - XML ƒp[ƒT[‚́A‰üsƒR[ƒh‚ð LF ‚É“ˆê‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B ‚»‚Ì‚½‚߁A–{ŠÖ”‚ł́A‰üsƒR[ƒh‚ª¬Ý‚µ‚½ƒeƒLƒXƒg‚à“ǂݍž‚ށiƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªˆµ‚¤j‚±‚Æ‚ª‚Å‚«‚é‚悤‚ɁAin_Text ˆø”iXML - ƒeƒLƒXƒgj‚̍s––‚ɉüsƒR[ƒh‚ðŽw’肵‚Ü‚·B - @@Es––‚Ì "\r"+ LF ‚Í CR ‚̉üs - @@Es––‚Ì "\n"+ LF ‚Í LF ‚̉üs - @@Es––‚Ì "\r\n"+ LF ‚Í CR+LF ‚̉üs - @@Es––‚Ì ‚»‚Ì‘¼‚Ì•¶Žš+ LF ‚́Ain_NewLine ˆø”‚ÉŽw’肵‚½‰üs - ‚È‚¨A‚±‚ÌŠg’£is––‚̉üsƒR[ƒhŽw’èj‚́A•W€“I‚È XML ‚Ƃ̌݊·«‚ðl—¶‚µ‚āA“Á’è‚Ì XML - ‘®«‚ÉŽw’è‚·‚éƒIƒvƒVƒ‡ƒ“i—áF cut_indent="yes"j‚ª‚ ‚é‚Æ‚«‚¾‚¯—LŒø‚É‚·‚é‚悤‚ȃAƒvƒŠƒP[ - ƒVƒ‡ƒ“‚É‚·‚ׂ«‚Å‚·B CutIndentOfMultiLineText ŠÖ”‚Ì in_Option ˆø”‚É - g_VBS_Lib.KeepLineSeparators ‚ðŽw’肵‚½‚Æ‚«‚àAs––‚Ì ‚»‚Ì‘¼‚Ì•¶Žš+ LF ‚́ALF ‚̉üs‚É - ‚È‚è‚Ü‚·B - - ¨ XML ‚̉üs•¶Žš‚̐³‹K‰»‚É‚æ‚é•›ì—p - - - - <Text cut_indent="yes"> Line1 - Line2 - Line3 - </Text> - - - - - - - - - ^ Line1(‰üs)^ ^ Line2(‰üs) - Line3(‰üs) - - XML ƒtƒ@ƒCƒ‹F - CutIndentOfMultiLineText ‚Ì•Ô‚è’lF - ƒXƒNƒŠƒvƒgF - ƒCƒ“ƒfƒ“ƒg‚ƁAã‰º‚Ì’[‚Ì‹ós‚ɂ‚¢‚Ä - ‰üsƒR[ƒh‚ɂ‚¢‚Ä - XML ƒp[ƒT[‚̏o—́F - - - (‰üs)^ ^ Line1(‰üs) - ^ ^ ^ Line2(‰üs) - ^ Line3(‰üs) - ^ - - - - - - - ŽQl - - ¨ XML‚ðŠw‚Ú‚¤i10jF—Ž‚Æ‚µŒŠ‚É‚È‚é‹ó”’•¶Žš‚Ɖüs•¶Žš - —IT (Web) - - cut_indent="yes" ‚́Ai‘ΉžƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́jAƒCƒ“ƒfƒ“ƒg‚ðƒJƒbƒg‚·‚邱‚Æ‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì“à•”‚ł́A‚±‚̃IƒvƒVƒ‡ƒ“‚ª‚ ‚é - ‚Æ‚«‚¾‚¯ACutIndentOfMultiLineText ‚ðŒÄ‚яo‚µ‚Ü‚·B - - - <Text cut_indent="yes"> Line1 - Line2\n - Line3\r - Line4\r\n - </Text> - - - - ^ Line1(CR+LF)^ ^ Line2(LF) - Line3(CR) - Line4(CR+LF) - - XML ƒtƒ@ƒCƒ‹F - CutIndentOfMultiLineText ‚Ì•Ô‚è’lF - XML ƒp[ƒT[‚̏o—́F - - - (LF)^ ^ Line1(LF) - ^ ^ ^ Line2\n(LF) - ^ Line3\r(LF) - ^ Line4\r\n(LF) - ^ - - ƒTƒ“ƒvƒ‹ - ^ ‚́Aƒ^ƒu•¶Žš - ^ ‚́Aƒ^ƒu•¶Žš - cut_indent="yes" ‚́Ai‘ΉžƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́jA‰üs•¶Žš‚ÌŽí—Þ‚É‚æ‚Á‚Ä‹æ•Ê‚µ‚Ü‚·B - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì“à•”‚ł́A‚±‚̃IƒvƒVƒ‡ƒ“‚ª‚ ‚é - ‚Æ‚«‚¾‚¯ACutIndentOfMultiLineText ‚ðŒÄ‚яo‚µ‚Ü‚·B - –{ŠÖ”‚ðŒÄ‚яo‚·ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“üo—Í‚·‚é XML ƒtƒ@ƒCƒ‹‚́A•¡”s‚̃eƒLƒXƒgiƒ^ƒO‚̊ԁj‚ª‹Lq‚µ‚â‚·‚­‚È‚è‚Ü‚·B ‚½‚¾‚µAcut_indent="yes" ‘®«i–¼‘O‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌŽd—l‚É‚æ‚éj - ‚ð•t‚¯‚é•K—v‚ª‚ ‚è‚Ü‚·B - - - <Text cut_indent="yes"> Line1 - Line2 - </Text> - - - - Line1 - Line2 - - - - - - - - - - - - - - - Line1Line2 - - XML ƒtƒ@ƒCƒ‹F - CutIndentOfMultiLineText‚Ì•Ô‚è’lF - XML ƒp[ƒT[‚̏o—́F - g_VBS_Lib.KeepLineSeparators - in_Option ˆø”‚ɂ‚¢‚Ä - Empty ‚Ü‚½‚́A‰º‹L‚̒萔‚̘_—˜a (or) ‚ðŽw’è‚Å‚«‚Ü‚·B - g_VBS_Lib.CutLineSeparators - ––”ö‚ª‰üs•¶Žš‚È‚ç‚»‚̉üs‚ð‚P‚ƒJƒbƒg‚µ‚Ä•Ô‚µ‚Ü‚·B - - ¨ ‰üsƒR[ƒh‚ɂ‚¢‚Ä - - ƒJƒbƒg‚µ‚½Œã‚Ì•¶Žš—ñ - •Ô‚è’l - - ¨ in_Option ˆø”‚ɂ‚¢‚Ä - - Empty ‚Ü‚½‚Í ‰º‹L - in_Option - - - If set_item.getAttribute( "cut_indent" ) = "yes" Then text = CutIndentOfMultiLineText( text, set_item.getAttribute( "indent" ), _ - Empty, g_VBS_Lib.CutLastLineSeparator ) - End If - - ƒXƒNƒŠƒvƒgF - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - XML ƒtƒ@ƒCƒ‹F - - - <Text cut_indent="yes" indent="1*&#9;"> Line1 - Line2 - </Text> - - - - ^ Line1^ Line2 - - - - - - - CutIndentOfMultiLineText‚Ì•Ô‚è’lF - ^ ‚́Aƒ^ƒu•¶Žš - - ¨ ‰üsƒR[ƒh‚ɂ‚¢‚Ä - - - ¨ ƒCƒ“ƒfƒ“ƒg‚ƁAã‰º‚Ì’[‚Ì‹ós‚ɂ‚¢‚Ä - - - ¨ in_Option ˆø”‚ɂ‚¢‚Ä - - - ¨ ƒTƒ“ƒvƒ‹ - - - ¨ Translate ƒRƒ}ƒ“ƒh >> ƒTƒ“ƒvƒ‹ F •¡”s‚̃eƒLƒXƒg‚ð–|–ó‚·‚é - - in_NewLine - •Ô‚è’l‚̉üsƒR[ƒhAEmpty(CR+LF), vbCRLF, vbLF, "CR+LF", "LF" - cut_indent - cut_indent - indent - cut_indent - indent - ‚Ü‚½‚Í - - - <Text cut_indent="yes"><![CDATA[ Line1 - Line2 - ]]></Text> - - - ¨ CDATA ƒZƒNƒVƒ‡ƒ“ - - - - - - - - MultiTextXML_Class - ŠÖ˜A - - - <?xml version="1.0" encoding="UTF-8"?><MultiText><Text id="1"><![CDATA[abc def - ]]></Text><Text id="second"><![CDATA[ - ------------------------------------------------------------ - abc - def - ------------------------------------------------------------ - ]]></Text></MultiText> - - - - abc def - - - - abc def - - ƒtƒ@ƒCƒ‹‚̃pƒXiƒAƒhƒŒƒXj‚É "Sample.xml#1" ‚ðŽw’è‚·‚é‚ƁA‰º‹L‚Ì•¶Žš—ñ‚ªŽæ“¾‚Å‚«‚Ü‚·BÅŒã‚ɉüs‚ª“ü‚è‚Ü‚·‚ªAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚Ă͍Ōã‚̉üs‚ð‚P‚폜‚µ‚Ü‚·B - Sample.xml - ƒtƒ@ƒCƒ‹‚̃pƒXiƒAƒhƒŒƒXj‚É "Sample.xml#second" ‚ðŽw’è‚·‚é‚ƁA‰º‹L‚Ì•¶Žš—ñ‚ªŽæ“¾‚Å‚«‚Ü‚·BÅŒã‚ɉüs‚ª“ü‚è‚Ü‚·‚ªAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚Ă͍Ōã‚̉üs‚ð‚P‚폜‚µ‚Ü‚·B - ƒ^ƒO–¼‚́Aã‹L‚ƈقȂéƒ^ƒO–¼‚Å‚à\‚¢‚Ü‚¹‚ñ‚ªAid ‘®«‚Í•K{‚Å‚·B - encoding ‘®«‚̐ݒè’l‚́Aƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚̐ݒè‚ɍ‡‚킹‚Ä‚­‚¾‚³‚¢B—áF UTF-8AUTF-16AShift_JIS ‚È‚Ç - ƒ}ƒ‹ƒ`Eƒp[ƒgEƒeƒLƒXƒgXML - •¡”‚̃eƒLƒXƒgEƒtƒ@ƒCƒ‹‚ð‚P‚‚ɂ܂Ƃ߂½ XML ƒtƒ@ƒCƒ‹B - æ“ª•¶Žš i<![CDATA[ ‚Ì’¼Œãj ‚ª‰üs•¶Žš‚ÌŽž‚́A‚»‚̉üs•¶Žš‚͎擾‚³‚ê‚Ü‚¹‚ñB‰üs•¶Žš‚©‚çŽn‚ß‚é‚Æ‚«‚́A‚Q‚‚̉üs•¶Žš‚ðƒtƒ@ƒCƒ‹‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - Å‰‚̍s‚âÅŒã‚̍s‚ª ---- ‚̂悤‚É - ‚ª‚S‚ˆȏ゠‚邾‚¯‚̍s‚Ì‚Æ‚«‚́A‚»‚̍s‚͎擾‚³‚ê - ‚Ü‚¹‚ñB ƒRƒƒ“ƒg‚Æ‚µ‚Ä–³Ž‹‚³‚ê‚Ü‚·B ---- ‚©‚çŽn‚Ü‚éƒeƒLƒXƒg‚́A2s–Ú‚©‚ç‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - ƒtƒ@ƒCƒ‹‚É“¯‚¶ id ‘®«‚ª‘¶Ý‚·‚é‚ƁAã‚Ì•û‚É‚ ‚é•”•ª‚Ì‚Ý—LŒø‚É‚È‚è‚Ü‚·B - ƒtƒ@ƒCƒ‹‚̃pƒXiƒAƒhƒŒƒXj‚É "Sample.xml" ‚ðŽw’è‚·‚é‚ƁAƒtƒ@ƒCƒ‹‚Ì‘S‘Ì‚Ì“à—e‚ªŽæ“¾‚Å‚«‚Ü‚·B - - ƒ}ƒ‹ƒ`Eƒp[ƒgEƒeƒLƒXƒgXML - - - ¨ MultiTextXML_Class (clib) - - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ð“à•”‚ŃLƒƒƒbƒVƒ…‚µ‚Ü‚·B - ŽQl - - ¨ XML - - - - ---- - - - ¨ GetText (MultiTextXML_Class) - - - ¨ IsExist (MultiTextXML_Class) - - - ¨ XML_ReadCacheClass - - ƒ}ƒ‹ƒ` ƒp[ƒg ƒeƒLƒXƒgXML ‚Ì id ‘®«‚ðAƒOƒ‹[ƒv–¼{ƒƒ“ƒo[–¼‚Æ‚µ‚ÄŠK‘w‰»‚µ‚āA‚·‚ׂẴOƒ‹[ƒv‚ÉŠÖ‚µ‚㋁[ƒv‚·‚éƒR[ƒh‚́AˆÈ‰º‚̂悤‚É‚È‚è‚Ü‚·B ‚È‚¨Aa_tail ‚ɂ́A‘ã•\‚Æ‚·‚é - ƒƒ“ƒo[–¼‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - - - Set test_data = new MultiTextXML_Class - '// Set "test_symbols" - a_tail = "_TestText" - Set test_symbols = new ArrayClass - Set root = LoadXML( test_path, Empty ) - For Each elem In root.selectNodes( "./Text" ) - id = elem.getAttribute( "id" ) - If Right( id, Len( a_tail ) ) = a_tail Then - test_symbols.Add Left( id, Len( id ) - Len( a_tail ) ) - End If - Next - - '// ... - For Each test_symbol In test_symbols.Items - text = test_data.GetText( test_path +"#"+ test_symbol +"_TestText" ) - ans = test_data.GetText( test_path +"#"+ test_symbol +"_Answer" ) - Next - - - ¨ ƒZƒNƒVƒ‡ƒ“‰»‚³‚ꂽƒeƒLƒXƒg - - - ¨ CutIndentOfMultiLineText - - ‚ð“à•”‚ŌĂяo‚µ‚Ä‚¨‚èAid ‘®«‚Æ‹Ÿ‚É cut_indent ‘®«‚ª - - CutIndentOfMultiLineText ŠÖ” - - ‚ ‚ê‚΁Aindent ‘®«‚â‰üsƒR[ƒh‚àŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - LF\nCR+LF - - - - - - - - - ¨ T_XML.vbs - - - ¨ vbslib.vbs - - - - Set files = new MultiTextXML_Classtext = files.GetText( "Files\T_MultiTextXML_1.xml#1" ) - - - - Function MultiTextXML_Class::GetText( URL as string ) as string - - yˆø”z - URL - ƒtƒ@ƒCƒ‹ƒpƒX +"#"+ ID‘®«‚Ì’lA‚Ü‚½‚́Aƒtƒ@ƒCƒ‹ƒpƒX - ƒeƒLƒXƒgEƒuƒƒbƒN‚Ì“à—e - •Ô‚è’l - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - GetText (MultiTextXML_Class) - ƒtƒ@ƒCƒ‹‚ðAƒŠ[ƒh‚µ‚Ü‚·B - - ƒ}ƒ‹ƒ`Eƒp[ƒgEƒeƒLƒXƒgXML - - T_MultiTextXML - - - - - - - IsExist (MultiTextXML_Class) - - - Function MultiTextXML_Class::IsExist( URL as string ) as boolean - - ƒtƒ@ƒCƒ‹‚ɁAŽw’è‚Ì id ‚ª‚ ‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - •Ô‚è’l - Žw’è‚Ì id ‚ª‚ ‚é‚©‚Ç‚¤‚© - ƒtƒ@ƒCƒ‹ƒpƒX +"#"+ ID‘®«‚Ì’lA‚Ü‚½‚́Aƒtƒ@ƒCƒ‹ƒpƒX - URL - yˆø”z - - ƒ}ƒ‹ƒ`Eƒp[ƒgEƒeƒLƒXƒgXML - - - ¨ T_XML.vbs - - - ¨ vbslib.vbs - - ƒeƒXƒg - ƒ\[ƒX - - - Set files = new MultiTextXML_ClassIf files.IsExist( "Files\T_MultiTextXML_1.xml#1" ) Then ... - - ƒTƒ“ƒvƒ‹ - T_MultiTextXML_IsExist - - - - - - - GetXPath - - - Function GetXPath( DOMObject as IXMLDOMElement, ShowAttrs as string ) as string - - XML ‚Ì DOM ƒIƒuƒWƒFƒNƒg‚ª‚ ‚éêŠ‚ð•\‚· XPath ‚ð•Ô‚µ‚Ü‚·B - yˆø”z - DOMObject - IXMLDOMElement ‚Ü‚½‚Í IXMLDOMAttribute - EmptyA‚Ü‚½‚́AXPath ‚ÉŠÜ‚ß‚é XML ‘®«–¼A‚Ü‚½‚Í‚»‚Ì”z—ñ - ShowAttrs - - (src) - - DOMObject ˆø”‚ª IXMLDOMElement ƒNƒ‰ƒX‚Ì‚Æ‚«‚́Aƒ‹[ƒg XML —v‘f‚©‚ç‚̃pƒX‚ÍŠÜ‚Ü‚ê‚Ü‚·BDOMObject ˆø”‚ª IXMLDOMAttribute ƒNƒ‰ƒX‚Ì‚Æ‚«‚́Aƒ‹[ƒg XML —v‘f‚©‚ç‚̃pƒX‚ÍŠÜ‚Ü‚ê‚Ü‚¹‚ñB - ‚»‚Ì——R‚́A•W€‚Ì DOM ‚ÌŽd—l‘‚ł́AIXMLDOMAttribute ƒNƒ‰ƒX‚©‚çAŠ‘®‚·‚é XML —v‘f‚ª - Žæ“¾‚Å‚«‚È‚¢‚©‚ç‚Å‚·B - ƒTƒ“ƒvƒ‹ - - - Dim node Dim root : Set root = LoadXML( "sample.xml", Empty ) ' as IXMLDOMElement - - '// GetXPath( root, Empty ) = "/Root" - - node = root.selectNodes( "/Root/Test1" ) - '// GetXPath( node(0), Empty ) = "/Root/Test1" - - node = root.selectNodes( "/Root/Test2/@id" ) - '// GetXPath( node(0), Empty ) = "@id" - - node = root.selectNodes( "/Root/Test2[@id='1']/Sub" ) - '// GetXPath( node(0), Array("id","attr") ) = _ - '// "/Root/Test2[@id='1' and @attr='a']/Sub" - - ƒeƒXƒg - - ¨ T_XML.vbs # [T_XPath] - - XPath - •Ô‚è’l - ŽQl - - ¨ XPath - - ShowAttrs ˆø”‚ÉŽw’肵‚½A•Ô‚è’l‚ÉŠÜ‚ß‚é XML ‘®«‚́AXPath ‚ÉŠÜ‚Ü‚ê‚é‚·‚×‚Ä XML —v‘fA‚‚܂èAeƒm[ƒh‚Ì XML —v‘f‚ɑ΂µ‚Ä‚àAXML ‘®«‚ðŠÜ‚ß‚Ü‚·B - - - - - - - GetXmlAttribute - - - Function GetXmlAttribute( BaseXmlElement, XPathForXmlElement, AttrName ) - - XML ‘®«‚Ì’l‚ð•Ô‚µ‚Ü‚·B - yˆø”z - BaseXmlElement - XPathForXmlElement - XPathForXmlElement ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ‘®«‚ð•ÏX‚·‚é XML —v‘fiƒ^ƒOj ‚Ö‚Ì XPath ‚Ü‚½‚Í Empty - •Ô‚è’l - XML ‘®«‚Ì’lA•¶Žš—ñŒ^‚̂݁AEmpty=‘®«‚È‚µ - XML ‘®«‚Ì–¼‘O - AttrName - - (src) - - ƒTƒ“ƒvƒ‹F - ŽQl - - - Dim root : Set root = LoadXML( "in.xml", Empty ) ' as IXMLDOMElement value = GetXmlAttribute( root, "./Tag1", "attr1" ) - - attr1 - Tag1 - GetXmlAttribute - ƒeƒXƒg - - ¨ T_XML.vbs # [T_GetXmlAttribute] - - - ¨ getAttribute (IXMLDOMElement) - - - ¨ RegRead - - ”pŽ~‚³‚ê‚Ü‚µ‚½B - - ¨ XmlRead - - - - - - - - XPath ‚ÉŽw’肵‚½ƒ^ƒOiXML—v‘fj‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́Aì¬‚µ‚Ü‚·B ‚±‚Ì‚Æ‚«AŽ©“®“I‚ɉüs•¶Žš‚ƃ^ƒu•¶Žš‚ª“ü‚è‚Ü‚·B ‚½‚¾‚µAƒ‹[ƒg‚ÌXMLƒ^ƒO‚É - XmlWrite - - - Function XmlWrite( BaseXmlElement as IXMLDOMElement, XPath as string, Value as string ) as boolean - - XML ‚̃^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - BaseXmlElement - XPath - XPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚̈ʒu‚ð•\‚· XPath - •Ô‚è’l - •Ï‰»‚ª‚ ‚Á‚½‚©‚Ç‚¤‚© - - (src) - - •ÏXŒã‚̃eƒLƒXƒg‚Ü‚½‚Í XML ‘®«‚Ì’lA""=’l‚È‚µAEmpty=íœ‚·‚é - Value - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒg‚́AŒµ–§‚É‚Í XPath = "/Root/Elem/text()" ‚Å‚·‚ªAXPath = "/Root/Elem" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹ - - ¨ setAttribute (IXMLDOMElement) - - ŽQl - - - Dim b, is_change, root Set root = LoadXML( "in.xml", Empty ) '// as IXMLDOMElement - b= XmlWrite( root, "./Tag1/@attr1", 123 ) - is_change = is_change or b - If is_change Then root.ownerDocument.save "out.xml" - - 123 - Tag1/@attr1 - XmlWrite - ƒeƒXƒg - - ¨ T_XML.vbs # T_XmlWrite - - - ¨ RegWrite - - - ¨ Write (ReplaceXmlFile1) - - ŠÖ˜A - - ¨ OpenForReplaceXML - - - xml:space="preserve" - - ‚ª‚ ‚é‚Æ‚«A‚©‚Aƒ^ƒO‚ÌŠJŽn‚©‚ç - XPath = "/Root/Elem" iXML—v‘f‚ւ̃pƒXj‚Ì‚Æ‚«AValue = "" ‚È‚çA<Elem/> ‚Æ‚È‚è‚Ü‚·BXPath = "/Root/Elem" iXML—v‘f‚ւ̃pƒXj‚Ì‚Æ‚«AValue = Empty ‚È‚çA<Elem/> ‚ðíœ‚µ‚Ü‚·B - XPath = "/Root/Elem/@attr" iXML‘®«‚ւ̃pƒXj‚Ì‚Æ‚«AValue = "" ‚È‚çA<Elem attr=""/> ‚Æ‚È‚è‚Ü‚·B - XPath = "/Root/Elem/@attr" iXML‘®«‚ւ̃pƒXj‚Ì‚Æ‚«AValue = Empty ‚È‚çA<Elem/> ‚Æ‚È‚è‚Ü‚·B - I—¹‚Ü‚Å‚ª‚Ps‚Ì’†‚É‚ ‚é•”•ª‚Ì’†‚ɁAV‹Kƒ^ƒO‚ðì¬‚·‚é‚Æ‚«‚́A‰üs•¶Žš‚àƒ^ƒu•¶Žš‚à“ü‚è‚Ü‚¹‚ñB - - - - - - - XmlWriteEncoding - - (src) - - - - Sub XmlWriteEncoding( RootXmlElement as IXMLDOMElement, CharSet as string ) - - XML ƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚ðŽw’肵‚Ü‚·B - yˆø”z - BaseXmlElement - CharSet - ƒ‹[ƒg‚Ì XML—v‘fiƒ^ƒOj - •¶ŽšƒR[ƒh - - ¨ new_TextFileCharSetStack - - ƒeƒXƒg - - ¨ T_XML.vbs # T_XmlWrite - - - - - - - - XmlInsertAfter - - - Sub XmlInsertAfter( in_out_ReferenceNode as IXMLDOMElement, in_NewNode as IXMLDOMElement ) - - ŒZ’íŠÖŒW‚ÌŽŸ‚É‚È‚é‚悤‚ɁAXML —v‘f‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_out_ReferenceNode - in_NewNode - XPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ƒ^ƒO‚̊Ԃ̃eƒLƒXƒgA‚Ü‚½‚Í XML ‚Ì‘®«‚̈ʒu‚ð•\‚· XPath - •Ô‚è’l - ƒeƒLƒXƒg‚Ü‚½‚Í XML ‘®«‚Ì’lB•¶Žš—ñŒ^ - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ insertBefore (IXMLDOMElement) - - - - - - - - XmlAttr - - - Function XmlAttr( s as string ) as string - - " " ‚ÅˆÍ‚Þ XML ‚Ì‘®«’l‚Ɂi - ƒTƒ“ƒvƒ‹F - - - s = XmlAttr( "<""'" ) - - s ‚́A"&lt;&quot;'" ‚É‚È‚è‚Ü‚· - - (src) - - ŠÖ˜A - - ¨ xml ƒvƒƒpƒeƒB (vbsool) - - - ¨ T_XML.vbs # [T_XmlText] - - ƒeƒXƒg - - ¨ StrT_changeToXmlAttr (clib) - - ‚Ɂj•ÏŠ·‚µ‚Ü‚·B - - ŽÀ‘ÌŽQÆ - - - ¨ XmlAttrA - - ' ' ‚ň͂ނƂ« - - ¨ ParseAttributesInXML - - - - - - - - XmlAttrA - - (src) - - s ‚́A"&lt;""&apos;" ‚É‚È‚è‚Ü‚· - - - s = XmlAttrA( "<""'" ) - - ƒTƒ“ƒvƒ‹F - ' ' ‚ÅˆÍ‚Þ XML ‚Ì‘®«’l‚ɁiŽÀ‘ÌŽQÆ‚Ɂj•ÏŠ·‚µ‚Ü‚·B - - - Function XmlAttrA( s as string ) as string - - - - - - - - XmlText - - - Function XmlText( s as string ) as string - - XML ‚̃eƒLƒXƒgiƒ^ƒO‚ÌŠOj‚Ɂi - - - Assert XmlText( "<""" ) = "&lt;""" - - ŠÖ˜A - - ¨ xml ƒvƒƒpƒeƒB (vbsool) - - - ¨ T_XML.vbs - - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - - ¨ XmlText ƒRƒ}ƒ“ƒh - - ‚Ɂj•ÏŠ·‚µ‚Ü‚·B - - ŽÀ‘ÌŽQÆ - - T_XmlText - - ¨ vbslib.vbs - - ƒ\[ƒX - - ¨ MultiTextXML_Class - - - - - - - - XmlSort - - - Sub XmlSort( BaseXmlElement as IXMLDOMElement, XPath as string, CompareFunc as function, CompareFuncParam as variant ) - - XML ‚̃^ƒO‚ð•À‚בւ¦‚µ‚Ü‚·B - yˆø”z - BaseXmlElement - XPath - XPath ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - •À‚בւ¦‚·‚éƒ^ƒO‚̈ʒu‚ð•\‚· XPath - CompareFunc - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - CompareFunc ‚Ì‘æ3ˆø” - CompareFuncParam - - ”äŠrŠÖ” - - - ¨ T_XML.vbs - - T_XmlSort - - - Sub Main() Set root = LoadXML( "Sample.xml", Empty ) - XmlSort root, "T", GetRef( "SampleCompare" ), Empty - End Sub - - Function SampleCompare( in_LeftTag, in_RightTag, in_Parameter ) - left_text = in_LeftTag.selectSingleNode( "./EN/text()" ).nodeValue - right_text = in_RightTag.selectSingleNode( "./EN/text()" ).nodeValue - SampleCompare = StrComp( left_text, right_text, 1 ) - End Function - - ƒTƒ“ƒvƒ‹ - - - <?xml version="1.0" encoding="UTF-16"?><Translate> - <T><JP>“ú–{Œê</JP><EN>2.Japanese</EN></T> - <T><JP>‰pŒê</JP><EN>3.English</EN></T> - <T><JP>•§Œê</JP><EN>1.French</EN></T> - </Translate> - - - - <?xml version="1.0" encoding="UTF-16"?><Translate> - <T><JP>•§Œê</JP><EN>1.French</EN></T> - <T><JP>“ú–{Œê</JP><EN>2.Japanese</EN></T> - <T><JP>‰pŒê</JP><EN>3.English</EN></T> - </Translate> - - - - - - - T ƒ^ƒO‚ðƒ\[ƒg‚·‚éB ƒ\[ƒgƒL[‚́AT/ENB - - - - - - - ObjToXML - - - Function ObjToXML( TagName as string, Objs as object or array, Opt as variant ) as string - - ƒIƒuƒWƒFƒNƒg‚ÌŠî–{“I‚ȃf[ƒ^‚ð XML •¶Žš—ñ‚É•ÏŠ·‚µ‚Ü‚·B - - - s = ObjToXML( Empty, obj, Empty ) - - ƒTƒ“ƒvƒ‹F - yˆø”z - TagName - ƒ‹[ƒgEƒ^ƒO–¼AEmpty ‚É‚·‚é‚ƁAƒ‹[ƒgƒ^ƒO‚ð’ljÁ‚µ‚Ü‚¹‚ñB - •Ô‚è’l - Objs - XML ƒf[ƒ^‚Ì“à—e‚É‚·‚éƒIƒuƒWƒFƒNƒgA‚Ü‚½‚Í‚»‚Ì”z—ñ - Opt - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - XML •¶Žš—ñ - ŠÖ˜A - - ¨ xml ƒvƒƒpƒeƒB (vbsool) - - ƒIƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX–¼‚ƁAName ƒvƒƒpƒeƒBADefinePath ƒvƒƒpƒeƒB‚©‚ç XML ƒf[ƒ^‚ðì¬‚µ‚Ü‚·B‘¼‚̃vƒƒpƒeƒB‚àŠÜ‚ñ‚¾ XML ƒf[ƒ^‚́Axml ƒvƒƒpƒeƒB‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B - - (src) - - - ¨ SetDefinePath - - - ¨ GetTab - - - - - - - - ChangeToXml - - - Function ChangeToXml( XML as string or object ) as IXMLDOMElement - - XML •¶Žš—ñ‚È‚Ç‚ðAXML —v‘fƒIƒuƒWƒFƒNƒg‚É•ÏŠ·‚µ‚Ü‚·B - - IXMLDOMElement - - - ¨ loadXML ƒƒ\ƒbƒh (vbsool) - - ŽQl - - (src) - - EXML ‚ª‹Lq‚³‚ꂽ•¶Žš—ñ - - LoadXML - - ‚ȂǂŎ擾‚µ‚½ - - IXMLDOMElement - - ˆø”‚ÉŽw’è‚Å‚«‚é‚à‚̂́AŽŸ‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B - E - EParentProcess ‚â ChildProcess - - ¨ /ChildProcess ƒIƒvƒVƒ‡ƒ“ - - XML ƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚·‚é - - - - - - - SetXmlAttribute - - - Function SetXmlAttribute( BaseXmlElement as IXMLDOMElement, XPathForXmlElement as string, AttrName as string, AttrValue as string ) as boolean - - XML ‘®«‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - BaseXmlElement - XPathForXmlElement - XPathForXmlElement ‚̊‚Æ‚È‚é XML—v‘fiƒ^ƒOj - ‘®«‚ð•ÏX‚·‚é XML —v‘fiƒ^ƒOj ‚Ö‚Ì XPath ‚Ü‚½‚Í Empty - •Ô‚è’l - •ÏXŒã‚Ì XML ‘®«‚Ì’lA""=’l‚È‚µAEmpty=‘®«‚ðíœ‚·‚é - AttrValue - •Ï‰»‚ª‚ ‚Á‚½‚©‚Ç‚¤‚© - - (src) - - ƒTƒ“ƒvƒ‹F - - ¨ setAttribute (IXMLDOMElement) - - ŽQl - - - Dim b, is_change Dim root : Set root = LoadXML( "in.xml", Empty ) '// as IXMLDOMElement - b= SetXmlAttribute( root, "./Tag1", "attr1", "1234" ) - is_change = is_change or b - If is_change Then root.ownerDocument.save "out.xml" - - 1234 - attr1 - Tag1 - SetXmlAttribute - ƒeƒXƒg - - ¨ T_XML.vbs # T_SetXmlAttribute - - XML ‘®«‚Ì–¼‘O - AttrName - XPathForXmlElement ‚ÉŠY“–‚·‚é XML —v‘f‚ª•¡”‚ ‚Á‚½‚Æ‚«‚́A‚·‚×‚Ä‚Ì XML —v‘f‚Ì‘®«‚ð•ÏX‚µ‚Ü‚·B - XPathForXmlElement ‚ÉŠY“–‚·‚é XML —v‘f‚ª–³‚©‚Á‚½‚Æ‚«‚́AXML —v‘f‚ð’ljÁ‚µ‚Ü‚·B - - ¨ RegWrite - - ”pŽ~‚³‚ê‚Ü‚µ‚½B - - ¨ XmlWrite - - - - - - - - UpdateLineAttributeInXML - - - Sub UpdateLineAttributeInXML( in_Path as string, in_AttributeName as string ) - - XML ƒtƒ@ƒCƒ‹‚Ì’†‚̍s”ԍ†‚ð’l‚ÉŽ‚ XML‘®«‚Ì’l‚ðAŽÀÛ‚̍s”ԍ†‚ɍ‡‚킹‚Ü‚·B - yˆø”z - in_Path - “à—e‚ð’u‚«Š·‚¦‚é XML ƒtƒ@ƒCƒ‹‚̃pƒX - - - UpdateLineAttributeInXML "Sample.xml", "@line_num" - - ƒTƒ“ƒvƒ‹ - - ¨ T_XML.vbs - - ƒeƒXƒg - - ¨ vbslib.vbs - - ƒ\[ƒX - “à•”‚Å XML ‚̍\•¶‰ðÍ‚͍s‚¢‚Ü‚¹‚ñB ’Pƒ‚É’u‚«Š·‚¦‚Ä‚¢‚邾‚¯‚Å‚·B - Sample.xml ƒtƒ@ƒCƒ‹‚ðˆ—‚·‚é‘OF - ƒXƒNƒŠƒvƒgF - - - <Tag line_num=""> <Tag2 - line_num="999"> - line_num="999" - </Tag> - - Sample.xml ƒtƒ@ƒCƒ‹‚ðˆ—‚µ‚½ŒãF - - - <Tag line_num="1"> <Tag2 - line_num="3"> - line_num="4" - </Tag> - - "@"+ XML‘®«‚Ì–¼‘O - in_AttributeName - T_UpdateLineAttributeInXML - ƒL[ƒ[ƒhF - line_num - - - - - - - ŠÖ˜A - - ¨ new_LazyDictionaryClass - - XML ‚Ì Variable ƒ^ƒO - - ¨ ToRegularXML - - XML ƒtƒ@ƒCƒ‹‚𐮌`‚µ‚Ü‚· - - - - - - - ŠÖ˜A - - ¨ BinaryArray ƒNƒ‰ƒX - - ƒoƒCƒiƒŠEƒtƒ@ƒCƒ‹ - - ¨ OpenForRegFile - - ƒŒƒWƒXƒgƒŠEƒtƒ@ƒCƒ‹ - - ¨ StringStream ƒNƒ‰ƒX - - •¶Žš—ñ TextStream - - - - - - - ƒvƒƒZƒX§Œä‚Æ include - - ¨ call_vbs - - Žw’肵‚½ VBScript ƒtƒ@ƒCƒ‹‚Ì’†‚̊֐”‚ðŒÄ‚яo‚µAI—¹‚·‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - - ¨ include - - ƒNƒ‰ƒX’è‹`‚âŠÖ”’è‹`‚ª“ü‚Á‚½ VBSƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ü‚·B - - ¨ IsDefined - - Žw’肵‚½ƒVƒ“ƒ{ƒ‹‚̊֐”‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - Œ»Ý‚̃vƒƒZƒX‚Ì‚Ü‚Ü - - ¨ ArgumentExist - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“‚ªŽw’肳‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - ¨ env - - ŠÂ‹«•Ï”‚ð“WŠJ‚µ‚Ü‚· - - ¨ start - - Žw’肵‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðVƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚¹‚ñB - - ¨ RunProg - - Žw’肵‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðVƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚·B - - ¨ Sleep - - Žw’肵‚½ŽžŠÔ‚¾‚¯‘Ò‚¿‚Ü‚·B - - ¨ WaitForFile - - Žw’肵‚½ƒtƒ@ƒCƒ‹‚ªì‚ç‚ê‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - VƒvƒƒZƒX - ‘Ò‚¿ - - [ ƒeƒXƒg ] - - - ¨ ƒGƒ‰[”­¶Žž‚Ì“®ì - - - ¨ ³íI—¹Žž‚Ì“®ì - - - ¨ ƒvƒƒOƒ‰ƒ€‹N“® (VBS) - - - ¨ ƒo[ƒWƒ‡ƒ“”»’èAŠÂ‹«•Ï” - - ŠÖ˜A - - ¨ g_debug_params - - - ¨ sudo - - ŠÇ—ŽÒŒ ŒÀ‚ðŽ‚Á‚½VƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚·B - - ¨ GetWScriptArgumentsUnnamed - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø”‚ð•Ô‚µ‚Ü‚·B i‰ü—ǔŁj - ‘¼‚É‚à‚ ‚è‚Ü‚·B¶‚̃cƒŠ[‚©‚ç‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - start - - - Sub start( cmdline as string ) - - Žw’肵‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðVƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚¹‚ñB - cmdline ˆø”‚Ɋ‹«•Ï”‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B i%var% Œ`Ž®j - - - start """%ProgramFiles%\Movie Maker\moviemk.exe""" - - ƒTƒ“ƒvƒ‹F - - (src) - - cmdline ˆø”‚ɃtƒHƒ‹ƒ_‚âƒf[ƒ^ƒtƒ@ƒCƒ‹‚̃pƒX‚ðŽw’è‚·‚é‚ƁA‚»‚̃tƒHƒ‹ƒ_‚âƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚Æ“¯‚¶‚悤‚ÉŠJ‚«‚Ü‚·B - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ł́AƒpƒX‚ðƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ň͂ނ±‚Æ - ƒtƒ@ƒCƒ‹‚ªŒ©‚‚©‚ç‚È‚¢‚ƁAE_WIN32_FILE_NOT_FOUND ƒGƒ‰[‚É‚È‚è‚Ü‚· - - ¨ IShellDispatch2::ShellExecute - - ŠÖ˜A - - - Dim cmdcmd = Setting_getEditorCmdLine( 1 ) - cmd = Replace( cmd, "%1", "C:\file.txt" ) - start cmd - - ƒTƒ“ƒvƒ‹F - - Setting_getEditorCmdLine - - CPU ‚ªƒ}ƒ‹ƒ`ƒRƒA‚Å‚ ‚ê‚΁A•¡”‚̃vƒƒZƒX‚É‚æ‚é•À—ñˆ—‚ɂȂ荂‘¬‚É‚È‚è‚Ü‚·B - - ¨ T_Start_Manually.vbs # [T_StartErr] - - ƒeƒXƒg - start ‚ÅŽÀs‚µ‚½“à—e‚̃ƒO‚ðŽæ‚é - - - start "cmd.exe /C cscript //nologo sample.vbs | "+ g_vbslib_ver_folder +_ "safetee\safetee.exe -o Sample_out.txt & exit" - - - safetee - - cmd.exe /C ‚ðŒo—R‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢B > ‚ŃŠƒ_ƒCƒŒƒNƒg‚·‚é‚Æ“à—e‚ª•\Ž¦‚³‚ê‚È‚¢‚̂ŁAƒpƒCƒv‚ðŒo—R‚µ‚Ä safeteei‚Ü‚½‚Í teej‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B ‚Ü‚½AƒpƒCƒv‚ð - Žg‚¤ê‡AŽÀsŒã‚ɃEƒBƒ“ƒhƒE‚ªŽc‚ç‚È‚¢‚悤‚ɁAexit ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ GetCScriptGUI_CommandLine - - start ŠÖ”‚©‚ç•Ê‚̊֐”‚ðŒÄ‚яo‚·‚Æ‚« - cmdline ˆø”‚ɁA\?InCurrentProcessFunc\(ŠÖ”–¼) ‚ðŽw’è‚·‚é‚ƁAŽw’肵‚½ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½ŠÖ”‚©‚ç•Ô‚é‚ƁAstart ŠÖ”‚©‚ç–ß‚è‚Ü‚·B - ƒL[ƒ[ƒhF - InCurrentProcessFunc - start ‚ÌŒã‚É‚·‚®‚ɏI—¹‚·‚é‚ƁAŠJ‚¯‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B - - Sleep - - ‚ŁA‚·‚®‚ɏI—¹‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - ƒz[ƒ€ƒy[ƒW‚ðŠJ‚­ - - - start "http://www.example.com/" - - - - start """C:\Program Files\Internet Explorer\iexplore.exe"" "+ a_URL - - start ‚·‚éƒvƒƒZƒX‚Ƀpƒ‰ƒ[ƒ^[‚ð“n‚· - - ¨ g_InputCommand_Args - - - - - - - - RunProg - - - Function RunProg( cmdline as string, stdout_stderr_redirect as string ) as integer - - Žw’肵‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðVƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚·B - yˆø”z - cmdline - stdout_stderr_redirect - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“iŽÀsƒtƒ@ƒCƒ‹ƒpƒX{ƒpƒ‰ƒ[ƒ^j - o—͐æ‚̃tƒ@ƒCƒ‹ƒpƒX(‰º‹L) - •Ô‚è’l - ƒGƒ‰[ƒŒƒxƒ‹imain ŠÖ”‚Ì•Ô‚è’lj - Empty ‚â "" ‚Ì‚Æ‚«‚́A•W€o—͂֏o—Í‚µAƒtƒ@ƒCƒ‹‚É•Û‘¶‚µ‚Ü‚¹‚ñB"nul" ‚Ì‚Æ‚«‚́A•W€o—͂֏o—Í‚¹‚¸Ao—Í“à—e‚ð”jŠü‚µ‚Ü‚·B - stdout_stderr_redirect ˆø” - - ¨ CheckTestErrLevel - - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚ÅŽg‚¦‚éƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚Æ‚«‚́AŽŸ‚̂悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - RunProg "cmd /c (dir > files.txt)", "" - - - - RunProg "cmd /c (cd sub & dir > ..\files.txt)", "" - - •¡”‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚Æ‚«‚́A& ‚ð‚‚¯‚Ä‚­‚¾‚³‚¢B - - (src) - - ƒvƒƒZƒX‚ªI—¹‚·‚é‚܂ŁAŠÖ”“à•”‚Å‘Ò‚¿‚Ü‚·B - VBScript ‚ðŽÀs‚·‚é‚Æ‚«‚́Acscript ‚ðŒo—R‚µ‚Ä‚­‚¾‚³‚¢Bvbslib ‚Ì input ‚È‚Ç‚ðŽg‚Á‚Ä‚¢‚é‚Æ‚«‚́A/GUI_input:1 ‚Ü‚½‚Í /set_input ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - - RunProg "cscript //nologo sample.vbs /GUI_input:1", "" - - VƒvƒƒZƒX‚̃JƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚́ARunProg ‚ðŒÄ‚яo‚·’¼‘O‚̃JƒŒƒ“ƒgƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç•W€“ü—Í‚·‚éƒvƒƒOƒ‰ƒ€‚́A’âŽ~‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B - - ¨ Shell::Exec (VBS) - - ‘΍ô - - - RunProg "batch1.bat", "" - - ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ðŽÀs‚·‚é‚Æ‚«‚́AŽŸ‚̂悤‚É‚µ‚Ä‚­‚¾‚³‚¢Bipause ‚ȂǁA•W€“ü—Í‚·‚éƒRƒ}ƒ“ƒh‚ðŽg‚í‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢j - ƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚𒲐®‚µ‚Ä‚©‚ç RunProg ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ T_Call\TryExec.vbs - - ŽÀØƒR[ƒh - - ¨ input (vbslib) - - - - RunProg "batch1.bat /close", "" - - •Â‚¶‚È‚¢ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚́A•Â‚¶‚é‚悤‚É‚·‚é - - ¨ ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðŽ©“®“I‚ɕ‚¶‚È‚¢ƒoƒbƒ`ƒtƒ@ƒCƒ‹ - - ŽQl - - ¨ ƒGƒ‰[”­¶Žž‚Ì“®ì - - - ¨ ³íI—¹Žž‚Ì“®ì - - g_ChildHead - - - Dim g_ChildHead as string - - VƒvƒƒZƒX‚ª•W€o—͂֏o—Í‚·‚é“à—e‚ð•\Ž¦‚·‚é‚Æ‚«‚ɁAs“ª‚ɒljÁ‚·‚镶Žš—ñBƒfƒtƒHƒ‹ƒg‚́A‰½‚à’ljÁ‚µ‚Ü‚¹‚ñB - ƒOƒ[ƒoƒ‹•Ï”‚Å‚·B - - ¨ CheckTestErrLevel - - VBScript ‚ðƒfƒoƒbƒK‚ɐڑ±‚·‚é‚Æ‚«‚́A‰º‹L‚̂悤‚É //x ‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - - - RunProg "cscript //x sample.vbs", "" - - ŠÖ˜A - - ¨ RunProg (clib) - - ƒeƒXƒg - - ¨ T_DebugVBS_Manual.vbs - - ŠÖ˜A - - ¨ sudo iŠÇ—ŽÒ‚Æ‚µ‚Ä‹N“®j - - - ¨ ŽqƒvƒƒZƒX‚ւ̎󂯓n‚µ (/ChildProcess ƒIƒvƒVƒ‡ƒ“) - - •¡”‚̃Rƒ}ƒ“ƒh‚ðƒoƒbƒ`ƒtƒ@ƒCƒ‹‚̂悤‚É‹Lq‚·‚é‚Æ‚«‚Í - - ¨ RunBat - - RunProg ‚µ‚½ƒvƒƒZƒXA‚ªAŽqƒvƒƒZƒXB‚𐶐¬‚µ‚½‚Æ‚«AƒvƒƒZƒXA‚ªI—¹‚µ‚Ä‚àAƒvƒƒZƒXB‚ªI—¹‚µ‚Ä‚¢‚È‚¯‚ê‚΁ARunProg ‚©‚ç–ß‚è‚Ü‚¹‚ñB - - - start "cmd.exe /C ""batch1.bat""" - - g_VBS_Lib.NotEchoStartCommand - ‚ðŽw’肵‚½‚Æ‚«‚́ARunProg Ž©‘Ì‚Ì echo o—Í‚Í - ‚µ‚È‚­‚È‚è‚Ü‚·‚ªARunProg ‚©‚çŽÀs‚·‚éƒvƒƒOƒ‰ƒ€‚́Aecho o—Í‚³‚ê‚Ü‚·B - - EchoOff ƒIƒuƒWƒFƒNƒg - - ‚ðŽg‚Á‚Ä‚ào—Í‚µ‚È‚­‚È‚è‚Ü‚·‚ªAƒtƒ@ƒCƒ‹‚É•Û‘¶‚Å‚«‚Ü‚·B - ˆê”Ê“I‚ȃVƒFƒ‹‚ƈقȂèAƒŠƒ_ƒCƒŒƒNƒg‚µ‚Ä‚à•W€o—Í‚Ö‚ào—Í‚³‚ê‚Ü‚·B - cmdline ˆø”‚ÉŽw’肵‚½ŽÀsƒtƒ@ƒCƒ‹‚âƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - ¨ T_RunProg.vbs - - •â‘« - - ¨ Run (Shell) - - - ¨ TempParams.txt - CŒ¾Œê‚̃vƒƒOƒ‰ƒ€‚Ƀf[ƒ^‚ð“n‚· - - - ¨ g_start_in_path - - - ¨ RunBat - - “ü—Í‚ª—v‹‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚ÉŽ~‚Ü‚é‚Æ‚« - V‚µ‚¢ƒEƒBƒ“ƒhƒE‚ªŠJ‚«A•W€“ü—Í‚ª‚Å‚«‚Ü‚· - - ¨ Run (Shell) - - - ¨ Exec (Shell) - - ƒ_ƒuƒ‹ ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŽw’è‚·‚é‚Æ‚«‚́A\' ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - - RunProg "cscript sample.vbs \'/Option\'", "" - - sample.vbs ‚ɁA–¼‘O‚È‚µˆø”iƒIƒvƒVƒ‡ƒ“ˆÈŠOj‚Å‚ ‚éA/Option ‚Æ‚¢‚¤•¶Žš—ñ‚ª“n‚è‚Ü‚·B - - ¨ GetWScriptArgumentsUnnamed - - - ¨ ArgsLog - - o—Í“à—e‚ðƒeƒXƒg‚·‚é‚Æ‚«‚́A - - ¨ AssertFC - - - ¨ ƒƒO - - SysWOW64\cscript.exe ‚©‚ç cscript icscript ‚̃tƒHƒ‹ƒ_[Žw’è‚È‚µj‚ð RunProg ‚µ‚½‚Æ‚«‚́ASysWOW64\cscript.exe ‚ª‹N“®‚µ‚Ü‚·B - - Run (Shell) - - ‚©‚ç cscript ‚ð‹N“®‚µ‚½‚Æ‚«‚́Asystem32\cscript.exe (64bit”Å) ‚ª‹N“®‚µ‚Ü‚·B - - - - - - - RunBat - - - Function RunBat( CommandLines as string, Redirect as string ) as integer - - Žw’肵‚½ƒoƒbƒ`‚ðVƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚·B - yˆø”z - CommandLines - ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚É‹Lq‚·‚é“à—e - o—͐æ‚̃tƒ@ƒCƒ‹ƒpƒX, "" ‚Ü‚½‚Í Empty ‚Å•W€o—Í‚Ì‚Ý - •Ô‚è’l - ƒGƒ‰[ƒŒƒxƒ‹ - Redirect - - - r= RunBat( _ "nmake -f makefile" +vbCRLF+_ - "@if errorlevel 1 goto fin" +vbCRLF+_ - "del *.obj" +vbCRLF+_ - ":fin", _ - Empty ) - If r <> 0 Then Raise 1, "<ERROR msg='ƒoƒbƒ`ˆ—‚ŃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½'/>" - If not exist( "sample.dll" ) Then Fail - - - ¨ ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚ðŽÀs‚·‚é‚Æ‚« - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - ƒoƒbƒ`‚ðI—¹‚·‚é‚Æ‚«‚́Agoto :eof ‚ðŽg‚킸‚ɁAÅŒã‚̍s‚É“ž’B‚·‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ RunBatAsync - - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - RunBatAsync - - - Function RunBatAsync( CommandLines as string ) as RunBatAsyncClass - - Žw’肵‚½ƒoƒbƒ`‚ðVƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚¹‚ñB - yˆø”z - CommandLines - ƒoƒbƒ`ƒtƒ@ƒCƒ‹‚É‹Lq‚·‚é“à—e - •Ô‚è’l - ŽÀsó‹µ‚ðŠm”F‚·‚邽‚߂̃IƒuƒWƒFƒNƒg - ƒ\[ƒX - - Exec (Shell) - - •Ô‚è’l‚Ì .Status ‚Æ .ExitCode ‚́A - ‚Ì•Ô‚è’l‚Æ“¯‚¶‚Å‚·B - ƒoƒbƒ`‚ðI—¹‚·‚é‚Æ‚«‚́Agoto :eof ‚ðŽg‚킸‚ɁAÅŒã‚̍s‚É“ž’B‚·‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - Set exec = RunBatAsync( _ "copy a.txt b.txt" +vbCRLF+_ - "goto :fin" +vbCRLF+_ - ":fin" +vbCRLF+_ - "" ) - Do - If exec.Status = g_VBS_Lib.WshFinished Then - echo exec.ExitCode - Exit Do - End If - Loop - - ƒTƒ“ƒvƒ‹ - - ¨ vbslib.vbs - - RunBatAsync ‚́Aecho o—Í‚³‚ê‚Ü‚¹‚ñB ƒfƒoƒbƒO—p‚É echo o—Í‚ðŠm”F‚µ‚½‚¢‚Æ‚«‚́AˆêŽž“I‚É RnuBat ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ T_Download.vbs - - ƒeƒXƒg - T_SetVirtualFileServer_Files - VirtualServerAtLocal::DownloadAsyncExec ‚Ì’†‚ÅŽg—p - - - - - - - - sudo - - - Function sudo( CmdLine as string, OperationName as string, StdoutStderrRedirect as string ) as integer - - Žw’肵‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðŠÇ—ŽÒŒ ŒÀ‚ðŽ‚Á‚½VƒvƒƒZƒX‚ÅŽÀs‚µ‚Ü‚·B I—¹‚ð‘Ò‚¿‚Ü‚·B - yˆø”z - CmdLine - StdoutStderrRedirect - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“iŽÀsƒtƒ@ƒCƒ‹ƒpƒX{ƒpƒ‰ƒ[ƒ^j - "" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - •Ô‚è’l - ƒGƒ‰[ƒŒƒxƒ‹imain ŠÖ”‚Ì•Ô‚è’lj - - ¨ g_admin - - ŠÖ˜A - Windows Vista/7 ‚ł́A‹N“®‚·‚é’¼‘O‚ɁA‰º‹L‚̃ƒbƒZ[ƒW‚ðo—Í‚µ‚Ü‚·B X‚Ƀ†[ƒU[ƒAƒNƒZƒX§ŒäiUACj‚É‚æ‚éŠÇ—ŽÒ‚ւ̏¸Ši‚Ì‹–‰Â‚à‹‚ß‚ç‚ê‚Ü‚·B ƒ†[ƒU[‚ªS”z - ‚µ‚È‚¢‚悤AOperationName ˆø”‚ɁAs‚¨‚¤‚Æ‚·‚鏈—‚Ì–¼‘O‚ð“IŠm‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - - - -------------------------------------------------------------------------------[ UACiƒ†[ƒU[ƒAƒJƒEƒ“ƒg§Œäj—\iÚ×j ] - - Ú×î•ñ‚PF - "C:\home\InstallSample.vbs" - - Ú×î•ñ‚QF - C:\home> - cscript CopyProgram.vbs - - ------------------------------------------------------------------------------- - [ UACiƒ†[ƒU[ƒAƒJƒEƒ“ƒg§Œäj—\ ] - - wSample ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹x‚Æ‚¢‚¤ˆ—‚Ì‘±‚«‚ð "ŠÇ—ŽÒŒ ŒÀƒ‰ƒ“ƒ`ƒƒ[ - (sudo.exe)"‚©‚çŽÀs‚µ‚Ü‚·B - ‚±‚ꂪA‚ ‚È‚½‚ª‚µ‚悤‚Æ‚µ‚Ä‚¢‚鏈—‚ƈقȂé‚Æ‚«‚âA‚ ‚¢‚Ü‚¢‚ȏˆ—–¼‚Ì‚Æ‚«‚́A - I—¹‚µ‚Ä‚­‚¾‚³‚¢B - - ‘±s‚·‚é‚É‚Í Enter ƒL[‚ð‰Ÿ‚µ‚Ä‚­‚¾‚³‚¢ . . . - - « - - ¨ T_sudo ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - - If GetOSVersion() >= 6.0 Then - - - - –¢‘Ήž - - - (src) - - Enter ƒL[‚ð‰Ÿ‚·‚Æ - sudo ‚ªo‚·ƒƒbƒZ[ƒW (ŽÀs‘O) - - - sudo "cscript CopyProgram.vbs", _ "Sample ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹", "" - - sudo ‚ªo‚·ƒƒbƒZ[ƒW (ŽÀsŒã) - « - u‚Í‚¢v ‚ðƒNƒŠƒbƒN‚·‚é‚Æ - - - ŠÇ—ŽÒŒ ŒÀ‚ōs‚¤ˆ—‚ªŠ®—¹‚µAŠÇ—ŽÒŒ ŒÀ‚ÍŽ¸Œø‚µ‚Ü‚µ‚½B - - sudo ‚ÉŽw’肵‚½ƒvƒƒOƒ‰ƒ€Acscript CopyProgram.vbs ‚ðAV‹KƒvƒƒZƒX‚Å‹N“® - « - ƒvƒƒOƒ‰ƒ€‚ªI—¹‚µ‚½‚ç - ƒTƒ“ƒvƒ‹ƒR[ƒhF - “à•”ƒR[ƒ‹ƒcƒŠ[ - sudo (vbs) - sudo.exe - "cscript T_sudo_c_target.vbs" - T_sudo_c_Manual.vbs - cmd /C - T_sudo_c_target.vbs - if not ""%errorlevel%""==""21"" pause - eƒvƒƒZƒXAˆê”ʃ†[ƒU[ - cmd /C "temporary.bat" - "temporary.bat" - ŽqƒvƒƒZƒXAŠÇ—ŽÒ - ‘·ƒvƒƒZƒXAŠÇ—ŽÒ - ‚Б·ƒvƒƒZƒXAŠÇ—ŽÒ - echo %errorlevel% > errorlevel.txt - ƒGƒ‰[Žž‚É pause ‚·‚é - T_sudo_c_target.vbs - wscript - cscript - Œº‘·ƒvƒƒZƒXAŠÇ—ŽÒ - OperationName - ƒ†[ƒU[‚ªs‚¨‚¤‚Æ‚µ‚Ä‚¢‚鏈—‚Ì–¼‘O - 2•bŠÔ•\Ž¦‚³‚ê‚Ü‚·B - ’ʏ펞 - ƒfƒoƒbƒKŽg—pŽž - eƒvƒƒZƒXAˆê”ʃ†[ƒU[ - "cscript //x T_sudo_c_target.vbs" - sudo (vbs) - T_sudo_c_Manual.vbs - sudo.exe - cmd /C "cscript //x ***.vbs" /debug:1 - ŽqƒvƒƒZƒXAŠÇ—ŽÒ - ***.vbs - cscript - ‘·ƒvƒƒZƒXAŠÇ—ŽÒAƒfƒoƒbƒKÚ‘± - sudo ‚Å‹N“®‚·‚é .vbs ƒXƒNƒŠƒvƒg‚̃vƒƒZƒX‚ðƒfƒoƒbƒO‚·‚é‚Æ‚«‚́ACmdLine ˆø”‚ɁAcscript ‚̃IƒvƒVƒ‡ƒ“ //x A‚Ü‚½‚Í /g_debug ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - Windows Vista/7 ‚̏ꍇ - ƒfƒoƒbƒK‚ɐڑ±‚·‚é‚É‚Í - - - sudo "cscript //x CopyProgram.vbs", _ "Sample ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹", "" - - - - sudo "cscript CopyProgram.vbs /g_debug:1", _ "Sample ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹", "" - - Windows XP ‚ł́AŠÇ—ŽÒ‚ÖƒƒOƒCƒ“‚·‚éÝ’è‚É‚·‚é‚ƁA‹N“®Žž‚ÉŠÇ—ŽÒ‚̃pƒXƒ[ƒh‚ð“ü—Í‚·‚é‚悤‚É‚È‚è‚Ü‚·B Ž©•ª‚ªŠÇ—ŽÒ‚Å‚ ‚é‚Æ‚«‚́A“ü—Í‚ð‹‚ß‚ç‚ê‚Ü‚¹‚ñB - - - –¢‘Ήž - - Windows XP ‚̏ꍇ - - - - - - - sudo_del_copy - - - Sub sudo_del_copy( in_SudoScriptPath as string, in_OperationName as string, in_SourceFullPath as string, in_DestinationFullPath as string, Option_ as Empty ) - - - (src) - - ŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚È‚çAŒ ŒÀ‚ðŽæ“¾‚µ‚āAƒtƒHƒ‹ƒ_[‚ð’u‚«Š·‚¦‚Ü‚·B - yˆø”z - in_SudoScriptPath - in_SourceFullPath - ˆêŽž“I‚ɍ쐬‚·‚éŠÇ—ŽÒŒ ŒÀ‚ÅŽÀs‚·‚éƒXƒNƒŠƒvƒg‚̃pƒX - ’u‚«Š·‚¦‚½Œã‚Ì“à—e‚ª“ü‚Á‚½ƒtƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒX - in_DestinationFullPath - ’u‚«Š·‚¦‚é‘Ώۂ̃tƒHƒ‹ƒ_[‚̃tƒ‹ ƒpƒX - in_OperationName - ƒ†[ƒU[‚ªs‚¨‚¤‚Æ‚µ‚Ä‚¢‚鏈—‚Ì–¼‘O - EmptyA‚Ü‚½‚́AœŠO‚·‚é‘Š‘΃pƒX‚Ì”z—ñ - Option_ - ŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚©‚Ç‚¤‚©‚́Ain_DestinationFullPath ‚ª Program Files ‚Ü‚½‚Í Program Files (x86) ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é‚©‚Ç‚¤‚©‚ð“à•”‚Å”»’肵‚Ü‚·B - Option_ ˆø”‚É•¶Žš—ñ‚Ì”z—ñ‚ðŽw’è‚·‚é‚ƁA‚»‚Ì•¶Žš—ñ‚ª‘Š‘΃pƒX‚Æ‚µ‚āA‚»‚̃pƒX‚É‚ ‚éƒtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ðíœ‚µ‚Ü‚¹‚ñB in_SourceFullPath ˆø”‚ªŽw‚·ƒtƒHƒ‹ƒ_[‚É‚ ‚é‚Æ‚«‚Ì - “®ì‚Í–¢’è‹`‚Å‚·B - - - - - - - env - %`% ‚ň͂܂ꂽŠÂ‹«•Ï”‚Ì–¼‘O‚ðŠÂ‹«•Ï”‚Ì’l‚É“WŠJ‚µ‚Ü‚·B - - - Function env( s as string ) as string - - - ¨ ŠÂ‹«•Ï”‚ðŽæ“¾‚·‚é (ExpandEnvironmentStrings) - - - (src) - - ˆø”‚É Empty ‚ªŽw’肳‚ê‚é‚Æ Empty ‚ð•Ô‚µ‚Ü‚·B - Žw’肵‚½ŠÂ‹«•Ï”‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́AƒGƒ‰[ E_NotFoundSymbol = &h80041006 ‚É‚È‚è‚Ü‚·B - - ¨ GetVar - - - ¨ SetVar - - SetVar ‚Őݒ肵‚½ŠÂ‹«•Ï”‚à“WŠJ‚µ‚Ü‚·B - - - path = env( "%windir%" ) - - ƒTƒ“ƒvƒ‹F - ŠÂ‹«•Ï” windir ‚ð“WŠJ‚·‚é - - - path = env( "%windir%\system32" ) - - ƒTƒ“ƒvƒ‹F - ŠÂ‹«•Ï”ˆÈŠO‚àŽw’è‚Å‚«‚Ü‚·B - - ¨ Environment (Shell) (VBScript) - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Var.vbs # [T_Var1] - - - - paths = env( Array( "%windir%", "%windir%\system32" ) ) Assert IsSameArray( paths, Array( "C:\Windows", "C:\Windows\system32" ) ) - - ˆø”‚É”z—ñ‚ðŽw’è‚·‚é‚ƁA‚»‚ꂼ‚ê‚Ì”z—ñ—v‘f‚É‚ ‚éŠÂ‹«•Ï”‚ð“WŠJ‚µ‚Ü‚·B - ƒ[ƒJƒ‹ŠÂ‹«•Ï”‚Ì’l‚ª”z—ñ‚Ì‚Æ‚«A”z—ñ—v‘f‚Ɋ‹«•Ï”‚ª‚ ‚ê‚΁A‚»‚ê‚à“WŠJ‚µ‚Ü‚·B - - - SetVar "VarA", 1SetVar "VarB", 2 - SetVar "VarC", Array( "X%VarA%X", "X%VarB%X" ) - Assert IsSameArray( env("%VarC%"), Array( "X1X", "X2X" ) ) - - - ¨ LoadEnvVars - - - ¨ SaveEnvVars - - - ¨ SetVarBreak - - - ¨ VarStack - - - ¨ ŠÂ‹«•Ï”‚ðŽQÆ‚·‚é (Excel) - - %% ‚́A% ‚É’u‚«Š·‚í‚è‚Ü‚·B%0`%9 ‚Í“WŠJ‚µ‚Ü‚¹‚ñB ‚Ü‚½A•Â‚¶‚é % ‚à•s—v‚Å‚·B - - - - - - - - - - - - ArrayFromCmdLine - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps‚ð‰ðÍ‚µ‚āA‚»‚ꂼ‚ê‚̍€–Ú‚ð”z—ñ‚ÉŠi”[‚·‚éB - - - Function ArrayFromCmdLine( CmdLine as string ) as array of string - - - - For Each column In ArrayFromCmdLine( "Sample.exe ""file (1).txt"" /opt1:2" ) echo column - Next - - yˆø”z - CmdLine - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps - io—́j‚»‚ꂼ‚ê‚̍€–Ú‚ª“ü‚Á‚½”z—ñ - ƒTƒ“ƒvƒ‹ - ã‹L ArrayFromCmdLine ‚Ì•Ô‚è’l‚́AArray( "Sample.exe", "file (1).txt", "/opt1:2" ) - - (src) - - ŠÖ˜A - - ¨ ParseCmdLine - - - ¨ ArrayFromCSV - - - ¨ Split - - - ¨ T_CmdLine.vbs # [T_ArrayFromCmdLine] - - ƒeƒXƒg - ‚»‚ꂼ‚ê‚̍€–ڂ́A‹ó”’•¶Žš‚É‚æ‚Á‚Ä•ªŠ„‚³‚ê‚Ü‚·B - ƒ^ƒuƒ‹ƒNƒH[ƒg‚Ì’†‚É‚ ‚é‹ó”’•¶Žš‚́A€–Ú‚Ì•ªŠ„‚É‚È‚è‚Ü‚¹‚ñB—¼’[‚̃_ƒuƒ‹ƒNƒH[ƒg‚́A€–Ú‚ÉŠÜ‚Ü‚ê‚Ü‚¹‚ñB - ƒ_ƒuƒ‹ƒNƒH[ƒg‚͕‚¶‚Ä‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - ƒ^ƒuƒ‹ƒNƒH[ƒg‚ň͂܂ê‚Ä‚¢‚é•”•ª‚Ì‘O‚Ü‚½‚͌オ‹ó”’•¶Žš‚Å‚Í‚È‚¢‚Æ‚«‚́A‚»‚ê‚ç‚à‚P‚‚̍€–Ú‚Ì’†‚ÉŠÜ‚Ü‚ê‚Ü‚·B ‚»‚̍ہAƒ_ƒuƒ‹ƒNƒH[ƒg•¶Žš‚ÍŠÜ‚Ü‚ê‚Ü‚¹‚ñB - - - abc "def ghi" "j k - - - - abc - - - - def ghi - - - - abc def - - - - - - - - - def - - - - abc - - - - abc"def" ab"c d"ef - - - - - - - - - abcdef - - - - abc def - - ƒ_ƒuƒ‹ƒNƒH[ƒg•¶Žš‚ð€–Ú‚ÉŠÜ‚ß‚é‚Æ‚«‚́A\" ‚Æ‹Lq‚µ‚Ü‚·B" " ‚ň͂܂ꂽ’†‚Å‚àŠO‚Å‚à“¯‚¶‚Å‚·B - - - ab\"cd "12\"34" - - - - 12"34 - - - - - - - - - ab"cd - - \ ‚ª n •¶Žš‚ ‚Á‚Ä’¼Œã‚É " ‚ª‚ ‚é‚Æ‚«‚́An ‚ª‹ô”‚È‚çA\ •¶Žš‚ª n/2 •¶Žš‚Æ " " ‚݂̈͂̊JŽn‚É‚È‚è‚Ü‚·B n ‚ªŠï”‚È‚çA\ •¶Žš (n-1)/2 •¶Žš‚Æ " •¶Žš‚É‚È‚è‚Ü‚·B - " " ‚ň͂܂ꂽ’†‚Å‚àŠO‚Å‚à“¯‚¶‚Å‚·B - - - j k - - \ ‚Ì’¼Œã‚ª " ‚Å‚Í‚È‚¢‚Æ‚«‚́A\ ‚ª˜A‘±‚µ‚Ä‚¢‚Ä‚àA‚»‚̂܂܍€–Ú‚É“ü‚è‚Ü‚·B - - - \\pc\n - - - - - - - - - \\pc\n - - - - \" \\\" \\\\\" \\"a b" \\\\"c d" - - - - - - - - - " - - - - \" - - - - \\" - - - - \a b - - - - \\c d - - - - "\" \\\" \\\\\" \\"a b" \\\\"c d" - - - - - - - - - " \" \\" \a - - - - b \\c - - - - d - - - ¨ ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø”‚ƃGƒXƒP[ƒv - - ŽQl - - ¨ cmd.exe ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÌŽd—l‚ð‰ðÍ‚µ‚Ä‚Ý‚½ - ‰i‰“‚É–¢Š®¬ (Web) - - - ¨ ArgsLog - - ‚»‚Ì‘¼‚ÌŒ`Ž®‚©‚ç”z—ñ - ƒpƒ‰ƒ[ƒ^[‚ð‹L˜^‚·‚é - - ¨ ArrayFromBashCmdLine - - - ¨ ƒpƒ‰ƒ[ƒ^ iƒRƒ}ƒ“ƒhƒ‰ƒCƒ“j, Arguments, args - - - ¨ CmdLineFromStr - - - - - - - - ArrayFromCmdLineWithoutOpt - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps‚ð‰ðÍ‚µ‚āAƒIƒvƒVƒ‡ƒ“ˆÈŠO‚̍€–Ú‚ð”z—ñ‚ÉŠi”[‚·‚éB - - - Function ArrayFromCmdLineWithoutOpt( CmdLine as string, OptionSigns as variant ) as array of string - - - - arr = ArrayFromCmdLineWithoutOpt( "Sample.exe ""file (1).txt"" /opt1:2 param2", Empty ) - - yˆø”z - CmdLine - OptionSigns - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps - ƒIƒvƒVƒ‡ƒ“‹L†‚Ì”z—ñA‚Ü‚½‚Í Empty(= "/", "-") - ƒTƒ“ƒvƒ‹ - ã‹L ArrayFromCmdLineWithoutOpt ‚Ì•Ô‚è’l‚́AArray( "Sample.exe", "file (1).txt", "param2" ) - io—́j‚»‚ꂼ‚ê‚̍€–Ú‚ª“ü‚Á‚½”z—ñ - •Ô‚è’l - - - - - - - DicFromCmdLineOpt - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps‚ð‰ðÍ‚µ‚āAƒIƒvƒVƒ‡ƒ“–¼‚ðƒL[‚Æ‚µ‚½Ž«‘‚ð•Ô‚µ‚Ü‚·B - - - Function DicFromCmdLineOpt( CmdLine as string, OptionNames as array of string ) as dictionary of string or True - - - - Dim params : Set params = DicFromCmdLineOpt( _ "Sample.exe /opt1:2 -flag param", Array( "/opt1", "-flag", "/no_opt" ) ) - - Assert IsSameArray( params( "no name" ), Array( "Sample.exe", "param" ) - Assert params( "/opt1" ) = "2" - Assert params( "-flag" ) = True - Assert params( "-flag" ) - Assert not params( "/no_opt" ) - Assert IsEmpty( params( "/no_opt" ) ) - - yˆø”z - CmdLine - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps - io—́jƒIƒvƒVƒ‡ƒ“–¼‚ðƒL[‚Æ‚µ‚½Ž«‘ - ƒIƒvƒVƒ‡ƒ“‚Å‚Í‚È‚¢ƒpƒ‰ƒ[ƒ^[‚́AƒL[ "no name" ‚́A”z—ñŒ^‚Ì’l‚ÉŠi”[‚³‚ê‚Ü‚·BƒIƒvƒVƒ‡ƒ“‚́AƒL[‚ªƒIƒvƒVƒ‡ƒ“–¼A’l‚ª•¶Žš—ñŒ^ATrueAEmpty ‚Ì‚¢‚¸‚ê‚©‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - OptionNames - ƒIƒvƒVƒ‡ƒ“–¼‚Ì”z—ñ - •¡”Žw’肪‚Å‚«‚éƒIƒvƒVƒ‡ƒ“‚́AOptionNames ‚ÉŽw’è‚·‚éƒIƒvƒVƒ‡ƒ“–¼‚ÌŒã‚É "::" iƒRƒƒ“~‚Qj‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B ‚±‚Ì‚Æ‚«AŽ«‘‚Ì’l‚Í”z—ñ‚É‚È‚è‚Ü‚·B - ƒIƒvƒVƒ‡ƒ“–¼‚Æ’l‚ÌŠÔ‚É‹ó”’•¶Žš‚ªŠÜ‚Ü‚ê‚éê‡‚́AOptionNames ‚ÉŽw’è‚·‚éƒIƒvƒVƒ‡ƒ“–¼‚ÌŒã‚É ":" iƒRƒƒ“j‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - - - Dim params : Set params = DicFromCmdLineOpt( _ "-o value1 value2", Array( "-o:" ) ) - - Assert params( "-o" ) = "value1" - Assert IsSameArray( params( "no name" ), Array( "value2" ) - - - - Dim params : Set params = DicFromCmdLineOpt( _ "-o value1 -ovalue2", Array( "-o::" ) ) - - Assert IsSameArray( params( "-o::" ), Array( "value1", "value2" ) ) - - - (src) - - - ¨ T_CmdLine.vbs # [T_DicFromCmdLineOpt] - - ƒeƒXƒg - ŠÖ˜A - - ¨ GetCommandLineOptionValue - - - - - - - - MeltCmdLine - - - i = 1 Do - s = MeltCmdLine( cmdline, i ) - If i = 0 Then Exit Do - Loop - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚P€–Ú‚ðŽæ‚èo‚µA’ʏí‚Ì•¶Žš—ñ‚É–ß‚·B - - - Function MeltCmdLine( Line as string, in_out_Start as integer ) as string - - yˆø”z - CmdLine - in_out_Start - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì“à—e - i“ü—́j Žæ‚èo‚µ‚ðŠJŽn‚·‚镶Žš‚̈ʒuAio—́jŽŸ‚ÉŽæ‚èo‚·` - •Ô‚è’l - Žæ‚èo‚µ‚½ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚P€–Ú - ŽŸ‚̍€–Ú‚ª–³‚¢‚Æ‚«‚́Ain_out_Start=0 ‚É‚È‚è‚Ü‚·B - - (src) - - - ¨ T_CmdLine.vbs # [T_MeltCmdLine] - - ƒeƒXƒg - ŠÖ˜A - - ¨ MeltQuot - - ƒTƒ“ƒvƒ‹ƒf[ƒ^ - - - sample.exe param1 "param 2" - - ŽŸ‚̏‡”Ô‚Å•Ô‚è‚Ü‚· - - - sample.exe - - - - param1 - - - - param 2 - - - ¨ Split - - - ¨ ArrayFromCSV - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - Assert MeltCmdLine( """double_quotation""", 1 ) = "double_quotation" - - - ¨ CmdLineFromStr - - - - - - - - ParseCmdLine - - ¨ MeltCmdLine - - - ¨ GetCmdLine - - ŠÖ˜A - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ª“ü‚Á‚½•¶Žš—ñ‚ð‰ðÍ‚µ‚āA‚»‚ꂼ‚ê‚̈ø”‚ð”z—ñ‚È‚Ç‚ÉŠi”[‚·‚éB - - - Function ParseCmdLine( CmdLine as string ) as CmdLineArgs - - - - Set args = ParseCmdLine( line ) - - yˆø”z - CmdLine - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - ˆø”‚ɃAƒNƒZƒX‚·‚éƒIƒuƒWƒFƒNƒg - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ƒf[ƒ^ - - - sample.exe param1 "param 2" - - ŽŸ‚̂悤‚É•ªŠ„‚³‚ê‚Ü‚· - - - sample.exe - - - - param1 - - - - param 2 - - - - –¢‘Ήž - - - ¨ WScript.Arguments - - Œ»Ý‚̃XƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚Å‚Í‚È‚¢AƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì“à—e‚ɃAƒNƒZƒX‚µ‚â‚·‚­‚µ‚Ü‚·B - - ¨ CmdLineArgs ƒNƒ‰ƒX - - - ¨ Split - - - ¨ ArrayFromCSV - - - - - - - - CmdLineArgs ƒNƒ‰ƒX - - ¨ ParseCmdLine - - Žæ“¾ - ƒƒ“ƒo[ - - WScript.Arguments - - ‚ɏ€‹’ - - - –¢‘Ήž - - - - - - - - GetWScriptArgumentsUnnamed - - - Function GetWScriptArgumentsUnnamed() as array of string - - - WScript.Arguments.Unnamed - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø” - ‚ð•Ô‚µ‚Ü‚·B i‰ü—ǔŁj - ƒ\[ƒX - - - \' ¨ "\\' ¨ \' - \\\' ¨ \" - \\\\' ¨ \\' - \ ¨ \ - \\ ¨ \\ - \\\ ¨ \\\ - \others ¨ \others - \\others ¨ \\others - \\\others ¨ \\\others - - - ¨ WSH ‚Ì WScript.Arguments ‚̈ø”‚Ì‹æØ‚èAƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ÌŽw’è - - ŽQl - VBScript WSH ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø”‚Ƀ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŠÜ‚߂邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ‚ªA–{ŠÖ”‚É‚æ‚éƒGƒXƒP[ƒv•¶Žš‚̏ˆ—‚ð‚·‚é‚±‚Ƃňø”‚Ƀ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«A - ‚Ü‚½A/ ‚©‚çŽn‚Ü‚éˆø”‚Ì—¼’[‚̃_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚͍폜‚³‚ê‚Ü‚·B Ú×‚͉º‹LB - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ivbslib ‚ðŽg‚¤ƒXƒNƒŠƒvƒg‚ðŒÄ‚яo‚·ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“j‚Ì’†‚ɁA‚P•¶ŽšˆÈã‚Ì \ •¶Žš‚Æ‚»‚ê‚É‘±‚­ ' •¶ŽšiƒVƒ“ƒOƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“j‚ª‚ ‚é‚ƁA" ‚É•ÏŠ·‚³‚ꂽˆø”‚ª•Ô‚è‚Ü‚·B - •ÏŠ·‚̃Tƒ“ƒvƒ‹‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·B vbslib “ÆŽ©‚̏‘‚«•û‚Å‚·‚ªAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì \ •¶Žš‚Æ‚»‚ê‚É - ‘±‚­ " •¶Žš‚É‚æ‚鏈—‚Æ‚Ù‚Ú“¯‚¶‚ŁA\ ‚É‘±‚­•¶Žš‚¾‚¯‚ªˆÙ‚È‚è‚Ü‚·B - - ¨ T_CmdLine.vbs - - ƒeƒXƒg - T_GetWScriptArgumentsUnnamed - - ¨ vbslib.vbs - - - ¨ ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø”‚ƃGƒXƒP[ƒv (DOS) - - \' ¨ " ‚Ì•ÏŠ·‚ÌÚ× iƒ_ƒuƒ‹ ƒNƒH[ƒe[ƒVƒ‡ƒ“‚Ö‚Ì•ÏŠ·j - "/a" ¨ /a ‚Ì•ÏŠ·‚ÌÚ× iƒ_ƒuƒ‹ ƒNƒH[ƒe[ƒVƒ‡ƒ“‚̍폜j - \' ¨ " ‚Ì•ÏŠ·‚ð‚µ‚½Œã‚ªA"/ ‚©‚çŽn‚Ü‚é‚ƁA—¼’[‚Ì " ‚ª‚È‚­‚È‚Á‚½ˆø”‚ª•Ô‚è‚Ü‚·B ‚Ü‚½A"\ ‚©‚çŽn‚Ü‚éˆø”‚́A" ‚©‚çŽn‚Ü‚é‚悤‚É‚È‚è‚Ü‚·B "\ ‚Ì•ÏŠ·‚́A"/ ‚©‚çŽn‚Ü‚Á‚Ä‚à—¼’[‚Ì " ‚ð - ‚È‚­‚³‚È‚¢ˆø”‚ð•Ô‚¹‚é‚悤‚É‚·‚邽‚ß‚Å‚·B •ÏŠ·‚̃Tƒ“ƒvƒ‹‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - cscript sample.vbs \'quoted\' \'/directory\' /option "http://www.example.com" - - - - \'/a\' ¨ "/a" ¨ /a\'a\' ¨ "a" ¨ "a" - \'\/a\' ¨ "\/a" ¨ "/a" - \'\\a\' ¨ "\\a" ¨ "\a" - \'\\\a\' ¨ "\\\a" ¨ "\\a" - \'\\\\a\' ¨ "\\\\a" ¨ "\\\a" - \'\xa\' ¨ "\xa" ¨ "xa" - \'\\'\' ¨ "\'" ¨ "'" - \'\\\'\' ¨ "\"" ¨ """ - \'\\\\'\' ¨ "\\'" ¨ "\'" - \'\\\\\'\'¨ "\\"" ¨ "\"" - \'\\/a\' ¨ "\\/a" ¨ "\/a" - t\'/a\' ¨ t"/a" ¨ t"/a" - t/a ¨ t/a ¨ t/a - \'/a ¨ "/a ¨ /a - \a ¨ \a ¨ \a - /a ¨ i•Ô‚ç‚È‚¢j - - ¶‹L‚Ì A ¨ B ¨ C ‚́AA. ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø” - B. \' ¨ " ‚Ì•ÏŠ·Œãi“à•”j - C. GetWScriptArgumentsUnnamed ŠÖ”‚Ì•Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚É“ÁŽê‚ȏ‘‚«•û‚ð‚·‚é‚±‚ƂŁA/ ‚©‚çŽn‚Ü‚é POSIX Œ`Ž®‚̃pƒX‚âA–¼‘O•t‚«ˆø”iƒIƒvƒVƒ‡ƒ“j‚ðA–¼‘O‚È‚µˆø”‚Æ‚µ‚āiƒIƒvƒVƒ‡ƒ“‚Æ•ª‚¯‚ājŽó‚¯Žæ‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - \'\\'\' ¨ "\'" ¨ "'" - - \'/ ‚âA\'\\ ‚©‚çŽn‚Ü‚é‚Æ‚«‚́A"/a" ¨ /a ‚Ì•ÏŠ·‚ðŽQÆ - - - Set args = GetWScriptArgumentsUnnamed() Assert args.Count = 3 - Assert args(0) = """quoted""" - Assert args(1) = "/directory" - Assert args(2) = "http://www.example.com" - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“F - VBScript : - - - \' ¨ " - - Šî–{“I‚È•ÏŠ·—áF - Ú×‚È•ÏŠ·—áF - Šî–{“I‚È•ÏŠ·—áF - - - \'/a\' ¨ "/a" ¨ /a - - Ú×‚È•ÏŠ·—áF - - - - - - - GetWScriptArgumentsNamed - ƒ\[ƒX - ƒeƒXƒg - - ¨ vbslib.vbs - - - WScript.Arguments.Named - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̃IƒvƒVƒ‡ƒ“ˆø” - ‚ð•Ô‚µ‚Ü‚·B - - - Function GetWScriptArgumentsNamed( OptionName as string ) as string - - yˆø”z - OptionName - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÉŽw’è‚·‚éƒIƒvƒVƒ‡ƒ“‚Ì–¼‘O - ƒIƒvƒVƒ‡ƒ“‚Ì’l - VBScript WSH ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø”‚Ƀ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŠÜ‚߂邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ‚ªA–{ŠÖ”‚É‚æ‚éƒGƒXƒP[ƒv•¶Žš‚̏ˆ—‚ð‚·‚é‚±‚Ƃňø”‚Ƀ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ GetWScriptArgumentsUnnamed - - ŽQl - ƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ÌŽw’è•û–@ - - ¨ T_CmdLine.vbs - - T_GetWScriptArgumentsUnnamed - - - - - - - ParseWScriptArgumentQuotation - - - Function ParseWScriptArgumentQuotation( Value as string ) as string - - - WScript.Arguments - - yˆø”z - Value - •Ô‚è’l - WScript.Arguments ‚É“ü‚Á‚Ä‚¢‚é’l - ƒGƒXƒP[ƒv•¶Žš‚̏ˆ—‚ð‚µ‚½ Value - ‚É“ü‚Á‚Ä‚¢‚é’l‚ɁAƒGƒXƒP[ƒv•¶Žš‚̏ˆ—‚ð‚µ‚½‚à‚Ì‚ð•Ô‚µ‚Ü‚·B - - ¨ GetWScriptArgumentsUnnamed - - ŽQl - ƒ\[ƒX - - ¨ T_CmdLine.vbs - - ƒeƒXƒg - T_ParseWScriptArgumentQuotation - - ¨ vbslib.vbs - - VBScript WSH ‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̈ø”‚Ƀ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŠÜ‚߂邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñ‚ªA–{ŠÖ”‚É‚æ‚éƒGƒXƒP[ƒv•¶Žš‚̏ˆ—‚ð‚·‚é‚±‚Ƃňø”‚Ƀ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒ_ƒuƒ‹ƒNƒH[ƒe[ƒVƒ‡ƒ“‚ÌŽw’è•û–@ - - - - - - - ArrayFromBashCmdLine - - (src) - - - - Function ArrayFromBashCmdLine( CmdLine as string ) as array of string - - bash ƒVƒFƒ‹‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps‚ð‰ðÍ‚µ‚āA‚»‚ꂼ‚ê‚̍€–Ú‚ð”z—ñ‚ÉŠi”[‚·‚éB - - ArrayFromCmdLine - - ‚Ì bash ”Å‚Å‚·B - - ¨ T_CmdLine.vbs # [T_ArrayFromBashCmdLine] - - ƒeƒXƒg - - - - - - - MeltBashCmdLine - ‚Ì bash ”Å‚Å‚·B - - ¨ T_CmdLine.vbs # [T_ArrayFromBashCmdLine] - - ƒeƒXƒg - - (src) - - bash ƒVƒFƒ‹‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚P€–Ú‚ðŽæ‚èo‚µA’ʏí‚Ì•¶Žš—ñ‚É–ß‚·B - - - Function MeltBashCmdLine( Line as string, in_out_Start as integer ) as string - - - MeltCmdLine - - - - - - - - CmdLineFromStr - - - Function CmdLineFromStr( Str as string or array ) as string - - •¶Žš—ñA‚Ü‚½‚Í•¶Žš—ñ‚Ì”z—ñ‚©‚çAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðì¬‚µ‚Ü‚·B - yˆø”z - Str - •¶Žš—ñA‚Ü‚½‚Í•¶Žš—ñ‚Ì”z—ñ - •Ô‚è’l - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - ƒTƒ“ƒvƒ‹ - - - cmd = CmdLineFromStr( Array( "findstr", "/C:""quot and space""", "*" ) )Assert cmd = "findstr ""/C:\""quot and space\"""" *" - - - ¨ T_CmdLine.vbs # [T_CmdLineFromStr] - - ƒeƒXƒg - ‚»‚ꂼ‚ê‚Ì”z—ñ—v‘f‚́A‹ó”’‚Å‹æØ‚è‚Ü‚·B•¶Žš—ñ‚É‹ó”’‚â >, <, ^, | ‹L†‚ðŠÜ‚Þ‚Æ‚«‚́A" " ‚ň݂͂܂·B - •¶Žš—ñ‚Ƀ_ƒuƒ‹EƒNƒH[ƒe[ƒVƒ‡ƒ“‚â \ ‹L†‚ª‚ ‚é‚Æ‚«‚́A‚»‚ê‚ç‚Ì•¶Žš‚ªA‚±‚ê‚©‚ç - ‹N“®‚·‚éƒvƒƒOƒ‰ƒ€‚É“n‚é‚悤‚É \ ‚ð’ljÁ‚µ‚Ü‚·B - EE - ƒ\[ƒX - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ ArgsLog - - - ¨ MeltCmdLine - - - ¨ ArrayFromCmdLine - - - - - - - - GetCmdLine - - - Function GetCmdLine() as string - - Œ»Ý‚̃XƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - - (src) - - ŽÀsƒtƒ@ƒCƒ‹–¼‚ƁAƒpƒ‰ƒ[ƒ^[‚Ì—¼•û‚ðŠÜ‚Ý‚Ü‚·B - ŠÖ˜A - - ¨ WScript.Arguments - - - ¨ ParseCmdLine - - - ¨ g_debug_params - - - - - - - - ArgumentExist - - - Function ArgumentExist( Name as string ) as boolean - - yˆø”z - Name - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“–¼ - •Ô‚è’l - ƒIƒvƒVƒ‡ƒ“‚ªŽw’肳‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚© - Žw’肵‚½–¼‘O‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“‚ªŽw’肳‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - /Opt1:1 ‚Å‚Í‚È‚­ /Opt1 ‚ł́AWScript.Arguments.Named.Item("Opt1") ‚ÍEmpty ‚ð•Ô‚µA/Opt1 ‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚ƁA‹æ•Ê‚ª‚Å‚«‚Ü‚¹‚ñB - ArgumentExist ‚́A‹æ•Ê‚ª‚Å‚«‚Ü‚·B - Name ‚̑啶Žš¬•¶Žš‚Í‹æ•Ê‚µ‚Ü‚·B - - ¨ ƒpƒ‰ƒ[ƒ^‚ðŽæ“¾‚·‚é (VBS) - - - (src) - - - - WScript.Arguments.Named.Item("Opt1") - - - - If ArgumentExist( "Opt1" ) Then ... - - ƒTƒ“ƒvƒ‹F - - ¨ GetArgvNamed (clib) - - - ¨ g_debug_params - - ŠÖ˜A - - - WScript.Arguments.Unnamed(0) - - - ¨ GetCommandLineExist (clib) - - ƒpƒ‰ƒ[ƒ^[‚ª•K{‚̃IƒvƒVƒ‡ƒ“‚ɂ́AArgumentExist ‚ðŒÄ‚Ô•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - - - - - - GetCommandLineOptionName - - (src) - - - - Function GetCommandLineOptionName( OneParameter as string ) as string - - ƒIƒvƒVƒ‡ƒ“–¼{’l‚©‚çAƒIƒvƒVƒ‡ƒ“–¼‚ð•Ô‚µ‚Ü‚·B - yˆø”z - OneParameter - •Ô‚è’l - ƒIƒvƒVƒ‡ƒ“–¼{’l - ƒIƒvƒVƒ‡ƒ“–¼ - ƒTƒ“ƒvƒ‹F - - - name = GetCommandLineOptionName( "/OptionA:12" )'// name = "OptionA" - - - ¨ T_CmdLine.vbs # [T_CommandLineOption] - - ƒeƒXƒg - - - - - - - GetCommandLineOptionValue - - (src) - - - - Function GetCommandLineOptionValue( OneParameter as string ) as string - - ƒIƒvƒVƒ‡ƒ“–¼{’l‚©‚çA’l‚ð•Ô‚µ‚Ü‚·B - yˆø”z - OneParameter - •Ô‚è’l - ƒIƒvƒVƒ‡ƒ“–¼{’l - ’l - ƒTƒ“ƒvƒ‹F - - - value = GetCommandLineOptionValue( "/OptionA:12" )'// value = "12" - - - - value = GetCommandLineOptionValue( "/OptionA:""C:\Program Files""" )'// value = "C:\Program Files" - - - ¨ T_CmdLine.vbs # [T_CommandLineOption] - - ƒeƒXƒg - - - - - - - ModifyCmdLineOpt - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps‚É‚ ‚éAƒIƒvƒVƒ‡ƒ“‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - - - Function ModifyCmdLineOpt( CmdLine as string, OptionName as string, NewOptionNameAndParam as string ) as string - - yˆø”z - CmdLine - NewOptionNameAndParam - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps - ƒIƒvƒVƒ‡ƒ“–¼‚ƁA•ÏXŒã‚Ì’lB íœ=Empty - OptionName - ƒIƒvƒVƒ‡ƒ“–¼ - io—́j •ÏXŒã‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì‚Ps - •Ô‚è’l - - - new_cmdline = ModifyCmdLineOpt( "-Opt1 -Opt2:ValueA Value1", "-Opt2", "-Opt2:ValueB" ) Assert new_cmdline = "-Opt1 -Opt2:ValueB Value1" - - ƒTƒ“ƒvƒ‹ - - - new_cmdline = ModifyCmdLineOpt( "-Opt1 -Opt2:ValueA Value1", "-Opt2", Empty ) Assert new_cmdline = "-Opt1 Value1" - - - - new_cmdline = ModifyCmdLineOpt( "-Opt1 Value1", "-Opt2", "-Opt2:ValueB" ) Assert new_cmdline = "-Opt1 -Opt2:ValueB Value1" - - -Opt2 ƒIƒvƒVƒ‡ƒ“‚Ì’l‚ð•ÏX‚·‚é - -Opt2 ƒIƒvƒVƒ‡ƒ“‚𖳂­‚· - -Opt2 ƒIƒvƒVƒ‡ƒ“‚ª‚È‚¯‚ê‚ΒljÁ‚·‚é - -Opt2 ƒIƒvƒVƒ‡ƒ“‚ƁA‚»‚Ì’l‚ÌŠÔ‚ª‹ó”’‚Ì‚Æ‚«‚́AOptionNmae ˆø”‚Ì––”ö‚É ":"iƒRƒƒ“j‚ð•t‚¯‚é - - - new_cmdline = ModifyCmdLineOpt( "-Opt1 -Opt2 ValueA Value1", "-Opt2:", "-Opt2 ValueB" ) Assert new_cmdline = "-Opt1 -Opt2 ValueB Value1" - - •¡”Žw’è‚Å‚«‚é -o ƒIƒvƒVƒ‡ƒ“‚ð’ljÁ‚·‚é‚Æ‚«‚́AOptionNmae ˆø”‚Ì––”ö‚É "::"iƒRƒƒ“~‚Qj‚ð•t‚¯‚é - - - new_cmdline = ModifyCmdLineOpt( "-o ValueA -o ValueB Value1", "-o::", "-o NewValue" ) Assert new_cmdline="-o NewValue -o ValueA -o ValueB Value1" - - - - new_cmdline = ModifyCmdLineOpt( "-o ValueA -o ValueB Value1", "-o::ValueB", "-o NewValue" ) Assert new_cmdline = "-o ValueA -o NewValue Value1" - - •¡”Žw’è‚Å‚«‚é -o ƒIƒvƒVƒ‡ƒ“‚ðC³/íœ‚·‚é‚Æ‚«‚́AOptionNmae ˆø”‚Ì––”ö‚É "::"iƒRƒƒ“~‚Qj‚Æ’l‚ð•t‚¯‚é - - - new_cmdline = ModifyCmdLineOpt( "-o ValueA -o ValueB Value1", "-o::ValueB", Empty ) Assert new_cmdline = "-o ValueA Value1" - - - (src) - - - ¨ T_CmdLine.vbs # [T_ModifyCmdLineOpt] - - ƒeƒXƒg - - - - - - - ƒIƒvƒVƒ‡ƒ“ˆø”Aƒrƒbƒgƒtƒ‰ƒO - ˆÚA«‚ðŽ‚½‚¹‚‚«—ˆ‚̃o[ƒWƒ‡ƒ“‚Ŋ֐”‚̈ø”‚ð’ljÁ‚Å‚«‚é‚悤‚É‚µ‚½‚¢‚Æ‚«‚́A‰º‹L‚̈ø”‚ðŒŸ“¢‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - ƒrƒbƒgƒtƒ‰ƒOˆø” - ƒIƒvƒVƒ‡ƒ“ˆø”i”z—ñj - - ¨ IsBitSet - - - ¨ ParseOptionArguments - - ˆÚA«‚ðŽ‚½‚¹‚‚ˆø”‚̐”‚ð•ÏX‚µ‚½‚¢‚Æ‚«‚́AV‚µ‚­ŠÖ”–¼‚ð "<]—ˆ‚̊֐”–¼>Ex" ‚É‚·‚é‚©A - ŒÃ‚¢ŠÖ”–¼‚ð "<]—ˆ‚̊֐”–¼>_Old" ‚É‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - - - - - - - IsBitSet - - - Sub Main() Set c = get_SampleConsts() - echo FuncA( c.Bit0 ) - echo FuncA( c.Bit1 ) - echo FuncA( c.Bit0 or c.Bit1 ) - echo FuncA( 0 ) - echo FuncA( Empty ) - End Sub - - Function FuncA( BitFlags ) - Set c = get_SampleConsts() - s = "" - If IsBitSet( BitFlags, c.Bit0 ) Then s = s + "A" - If IsAnyBitsSet( BitFlags, c.Bit0 or c.Bit1 ) Then s = s + "B" - If IsAllBitsSet( BitFlags, c.Bit0 or c.Bit1 ) Then s = s + "C" - If IsBitNotSet( BitFlags, c.Bit0 ) Then s = s + "a" - If IsAnyBitsNotSet( BitFlags, c.Bit0 or c.Bit1 ) Then s = s + "b" - If IsAllBitsNotSet( BitFlags, c.Bit0 or c.Bit1 ) Then s = s + "c" - FuncA = s - End Function - - - '************************************************************************* - ' <<< [get_SampleConsts] >>> - '************************************************************************* - Dim g_SampleConsts - - Function get_SampleConsts() - If IsEmpty( g_SampleConsts ) Then _ - Set g_SampleConsts = new SampleConsts - Set get_SampleConsts = g_SampleConsts - End Function - - Class SampleConsts - Public Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6, Bit7, Bit8, Bit9 - Public Bit10, Bit11, Bit12, Bit13, Bit14, Bit15, Bit16, Bit17, Bit18, Bit19 - Public Bit20, Bit21, Bit22, Bit23, Bit24, Bit25, Bit26, Bit27, Bit28, Bit29 - Public Bit30, Bit31 - - Private Sub Class_Initialize() - Bit0 = &h0001 - Bit1 = &h0002 - Bit2 = &h0004 - Bit3 = &h0008 - Bit4 = &h0010 - Bit5 = &h0020 - Bit6 = &h0040 - Bit7 = &h0080 - Bit8 = &h0100 - Bit9 = &h0200 - Bit10 = &h0400 - Bit11 = &h0800 - Bit12 = &h1000 - Bit13 = &h2000 - Bit14 = &h4000 - Bit15 = CLng("&h8000") - Bit16 = &h00010000 - Bit17 = &h00020000 - Bit18 = &h00040000 - Bit19 = &h00080000 - Bit20 = &h00100000 - Bit21 = &h00200000 - Bit22 = &h00400000 - Bit23 = &h00800000 - Bit24 = &h01000000 - Bit25 = &h02000000 - Bit26 = &h04000000 - Bit27 = &h08000000 - Bit28 = &h10000000 - Bit29 = &h20000000 - Bit30 = &h40000000 - Bit31 = &h80000000 - End Sub - - Public Function ToStr( Number ) - Select Case Number - Case Bit0 : ToStr = "Bit0" - Case Bit1 : ToStr = "Bit1" - '// ... - End Select - End Function - End Class - - - - Function IsBitSet( Variable as integer, ConstValue as integer ) as boolean - - ‚P‚‚̃rƒbƒg‚ª—§‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - yˆø”z - Variable - ConstValue - ’²‚ׂé‘Ώۂ̃rƒbƒgEƒtƒB[ƒ‹ƒh’l - ’²‚ׂéˆÊ’u‚̃rƒbƒg‚ð‚P‚É‚µ‚½ƒrƒbƒgEƒtƒB[ƒ‹ƒh’l - OrConstValue - ’²‚ׂéˆÊ’u‚Ì•¡”‚̃rƒbƒg‚ð‚P‚É‚µ‚½ƒrƒbƒgEƒtƒB[ƒ‹ƒh’l - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - •¡”‚̃rƒbƒg‚Ì‚¤‚¿‚P‚ˆȏオ—§‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - - Function IsAnyBitsSet( Variable as integer, OrConstValue as integer ) as boolean - - •¡”‚̃rƒbƒg‚Ì‚·‚ׂĂª—§‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - - Function IsAllBitsSet( Variable as integer, OrConstValue as integer ) as boolean - - ‚P‚‚̃rƒbƒg‚ª—§‚Á‚Ä‚¢‚È‚¢‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - - Function IsBitNotSet( Variable as integer, ConstValue as integer ) as boolean - - •¡”‚̃rƒbƒg‚Ì‚¤‚¿‚P‚ˆȏオ—§‚Á‚Ä‚¢‚È‚¢‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - - Function IsAnyBitsNotSet( Variable as integer, OrConstValue as integer ) as boolean - - •¡”‚̃rƒbƒg‚Ì‚·‚ׂĂª—§‚Á‚Ä‚¢‚È‚¢‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - - Function IsAllBitsNotSet( Variable as integer, OrConstValue as integer ) as boolean - - ”»’茋‰Ê - •Ô‚è’l - IsAnyBitsSet - IsAllBitsSet - IsBitNotSet - IsAnyBitsNotSet - IsAllBitsNotSet - - ¨ T_Var.vbs - - ƒeƒXƒg - T_IsBitSet - - ¨ vbslib.vbs - - ŠÖ˜A - - ¨ Hex - - - - - - - - ParseOptionArguments - - - Set object = new SampleClassFuncA Array( &h0001 or &h0002, "ABC", object ) - - Sub FuncA( in_out_Options ) - ParseOptionArguments in_out_Options - - Assert in_out_Options("integer") = &h0001 or &h0002 - Assert in_out_Options("string") = "ABC" - Assert in_out_Options("SampleClass") Is object - Assert not in_out_Options.Exists("NotPassedType") - - option_flags = in_out_Options("integer") - If in_out_Options.Exists("SampleClass") Then - Set options = in_out_Options("SampleClass") - Else - Set options = new SampleClass - End If - End Sub - - - - Sub ParseOptionArguments( in_out_Options as variant ) - - ˆø”‚ÉŽw’肵‚½”z—ñŒ^‚̃IƒvƒVƒ‡ƒ“ˆø”‚ðŽ«‘Œ^‚É•ÏŠ·‚µ‚Ü‚·B ƒL[‚Í—v‘f‚ÌŒ^–¼‚Å‚·B - yˆø”z - in_out_Options - i“ü—́j ”CˆÓ‚ÌŒ^‚̕ϐ”‚â”z—ñ‚⎫‘‚âEmptyAio—́j Ž«‘ - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ T_Var.vbs - - ƒeƒXƒg - T_ParseOptionArguments - - ¨ vbslib.vbs - - ƒL[‚́A‘啶Žš¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB®”Œ^iinteger, byte, longj‚̃AƒCƒeƒ€‚ɑΉž‚·‚éƒL[‚́A"integer" ‚Å‚·B - •‚“®¬”Œ^isingle, doublej‚̃AƒCƒeƒ€‚ɑΉž‚·‚éƒL[‚́A"float" ‚Å‚·B - ‚»‚Ì‘¼‚ÌŒ^‚́A - - TypeName - - ‚Ì•Ô‚è’l‚ªƒL[‚É‚È‚è‚Ü‚·B —áF NameOnlyClass - ParseOptionArguments ‚́AƒIƒvƒVƒ‡ƒ“ˆø”iƒIƒvƒVƒ‡ƒ““I‚Ȉø”j‚ðˆµ‚¢‚â‚·‚­‚µ‚Ü‚·Bƒ†[ƒU[‚́AƒIƒvƒVƒ‡ƒ“‚ðŽw’肵‚È‚¢‚Æ‚«‚Í Empty ‚ð“n‚µ‚Ü‚·B - ƒIƒvƒVƒ‡ƒ“‚ð‚P‚ˆȏãŽw’è‚·‚é‚Æ‚«‚́A”z—ñŒ^‚É‚Ü‚Æ‚ß‚Ä“n‚µ‚Ü‚·B - ƒIƒvƒVƒ‡ƒ“‚ð‚P‚ÂŽw’è‚·‚é‚Æ‚«‚́A”z—ñ‚É“ü‚ê‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - ˆ—‚ªŠJŽn‚³‚ê‚é‚ƁA–{ŠÖ”‚É‚æ‚Á‚āAƒIƒvƒVƒ‡ƒ“ˆø”‚ÍŒ^‚ðƒL[‚Æ‚µ‚½Ž«‘‚É•ÏŠ·‚³‚ê‚Ü‚·B - in_out_Options ˆø”‚ÉŽ«‘‚ðŽw’肵‚½‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñB - “ü—Í‚µ‚½”z—ñ‚ÉŠÜ‚Ü‚ê‚È‚¢Œ^‚ðƒL[‚ÉŽw’肵‚½ê‡AƒAƒCƒeƒ€‚Í Empty ‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - FuncA 123 - Sub FuncA( in_out_Options ) - ParseOptionArguments in_out_Options - - Assert in_out_Options("integer") = 123 - End Sub - - ƒIƒvƒVƒ‡ƒ“ˆø”‚ð‚»‚Ì‚Ü‚ÜŠÖ”ŒÄ‚яo‚µ‚É“n‚µ‚Ä‚¢‚é‚Æ‚«‚́AŽ«‘Œ^‚É’u‚«Š·‚í‚Á‚Ä•Ô‚Á‚Ä‚­‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B ‚»‚µ‚āA‚»‚̕ϐ”‚ªÄ‚уIƒvƒVƒ‡ƒ“ˆø”‚É“n‚³‚ê‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B - ‚Å‚·‚̂ŁA•K‚¸ ParseOptionArguments ‚ðŒÄ‚яo‚µ‚½Œã‚ŁAŽ«‘‚̃L[‚Ì—L–³‚©‚çƒIƒvƒVƒ‡ƒ“ - ‚Ì—L–³‚𔻒肵‚Ä‚­‚¾‚³‚¢B - ƒIƒvƒVƒ‡ƒ“ˆø”‚ð’¼Ú TypeName ŠÖ”‚È‚Ç‚Å”»’肵‚È‚¢‚Å‚­‚¾‚³‚¢B - ƒL[ƒ[ƒhF - in_out_Config - ArrayClass Œ^‚̃AƒCƒeƒ€‚ɑΉž‚·‚éƒL[‚́A"ArrayClass" ‚Å‚·‚ªA”z—ñŒ^‚̃AƒCƒeƒ€‚ɑΉž‚·‚éƒL[‚Í‚Å‚«‚Ü‚¹‚ñB ”z—ñ‚́Aã‹L‚Ì‚Æ‚¨‚è•¡”‚̃IƒvƒVƒ‡ƒ“‚ð‚Ü‚Æ‚ß‚é‚à‚Ì‚Æ‚µ‚Ä - ˆ—‚µ‚Ü‚·B - - - - - - - include - - - Sub include( path as string ) - - path ‚Ɋ‹«•Ï”‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B i%var% Œ`Ž®jƒNƒ‰ƒX’è‹`‚âŠÖ”’è‹`‚ª“ü‚Á‚½ VBS ƒtƒ@ƒCƒ‹‚̃pƒX‚ðŽw’肵‚Ü‚·B - - VBS ƒtƒ@ƒCƒ‹‚Å’è‹`‚³‚ꂽƒOƒ[ƒoƒ‹•Ï”‚âŠÖ”‚́Ainclude ‚ðŒÄ‚яo‚µ‚½ - ŠÖ”‚ÌŠO‚©‚çŽQÆ‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - - - include "%ProgramFiles%\Movie Maker\moviemk.vbs" - - ŠÖ”’è‹`‚âƒNƒ‰ƒX’è‹`‚ª“ü‚Á‚½ VBSƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ü‚·B - - ¨ vbs_inc - - ŒÄ‚яo‚µæ‚Ɋ֐”‚ðŽÀs‚·‚é‚Æ‚«‚̃JƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚́A‚»‚̃XƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_‚É‚È‚è‚Ü‚·B - path ‚É‘Š‘΃pƒX‚ðŽw’è‚·‚é‚Æ‚«‚Í’ˆÓ‚ª•K—v‚Å‚·B - “ñd’è‹`ƒGƒ‰[‚ªo‚é‚Æ‚«‚̑΍ô - ƒCƒ“ƒNƒ‹[ƒh‚·‚é vbs ƒtƒ@ƒCƒ‹‚ɁA‚·‚Å‚É’è‹`‚³‚ê‚Ä‚¢‚éƒNƒ‰ƒX‚Ì’è‹`‚ª‚ ‚é‚ƁAƒGƒ‰[‚É‚È‚è‚Ü‚·BƒNƒ‰ƒX‚́AƒCƒ“ƒXƒ^ƒ“ƒX‚ɉe‹¿‚·‚é - ‚½‚ߏ㏑‚«‚Å‚«‚Ü‚¹‚ñB iŠÖ”‚͏㏑‚«‚Å‚«‚Ü‚·j - “ñd‚ɃCƒ“ƒNƒ‹[ƒh‚µ‚È‚¢‚悤‚É‚·‚é‚©AƒNƒ‰ƒX’è‹`‚¾‚¯‚P‰ñ‚¾‚¯ƒCƒ“ƒNƒ‹[ƒh‚·‚éƒtƒ@ƒCƒ‹‚É•ªŠ„‚µ‚Ä‚­‚¾‚³‚¢B - - - Dim g_TestClass : If IsEmpty( g_TestClass ) Then _ include "TestClass.vbs" : g_TestClass = True - - ƒTƒ“ƒvƒ‹F ‚P‰ñ‚¾‚¯ƒCƒ“ƒNƒ‹[ƒh‚·‚é - - ¨ g_SrcPath - - - ¨ include_objs - - ƒtƒHƒ‹ƒ_‚̃pƒX‚ðŽw’肵‚½‚èAƒƒCƒ‹ƒhƒJ[ƒh‚ðŽw’è‚·‚é‚ƁAƒTƒuƒtƒHƒ‹ƒ_‚àŠÜ‚ß‚Ä include ‚µ‚Ü‚·B ‚½‚¾‚µAƒtƒHƒ‹ƒ_‚̃pƒX‚¾‚¯‚ðŽw’肵‚½ê‡‚́A - *_obj.vbs ƒtƒ@ƒCƒ‹‚¾‚¯ include ‚µ‚Ü‚·B - objs ƒtƒHƒ‹ƒ_‚̃TƒuƒtƒHƒ‹ƒ_‚àŠÜ‚߂āA*_obj.vbs ‚ð include ‚µ‚Ü‚· - - - include "objs" - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Include.vbs # [main2] - - - ¨ FuncRedir_add - - - ¨ g_start_in_path - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - include ‚́A - - vbs_inc - - ‚Ì“à•”‚©‚ç‚àŒÄ‚΂ê‚Ü‚·B - - ¨ vbs_inc_sub.vbs - - ƒ\[ƒX - - - - - - - SectionTree ƒNƒ‰ƒX - SectionTree ƒIƒuƒWƒFƒNƒg‚ðŽg‚Á‚āA‘S‘̂̏ˆ—‚𕡐”‚̃ZƒNƒVƒ‡ƒ“‚É•ªŠ„‚·‚é‚ƁA“r’†‚̃ZƒNƒVƒ‡ƒ“‚©‚çŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - ‚½‚Æ‚¦‚΁A‚P‚‚̊֐”‚Ì’†‚ŁA•¡”‚̃eƒXƒg‚ð˜A‘±‚µ‚čs‚Á‚Ä‚¢‚é‚Æ‚«A‚P‚‚P‚‚̃eƒXƒg‚ðƒZƒNƒVƒ‡ƒ“‚É - •ª‚¯‚Ä‚¨‚­‚ƁAŽ¸”s‚µ‚½ƒeƒXƒg‚©‚çŽÀs‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - - Sub Test_start( tests ) Set section = new SectionTree - '//SetStartSectionTree "T_Sample2" - '// ˆê•”‚̃ZƒNƒVƒ‡ƒ“‚¾‚¯ŽÀs‚·‚é‚Æ‚«‚Í—LŒø‚É‚·‚é - - '//=========================================================== - If section.Start( "T_Sample1" ) Then - '// ‚±‚±‚ÍŽÀs‚³‚ê‚Ü‚¹‚ñ - End If : section.End_ - - '// section.Start ` End_ ‚ÌŠO‚́Aí‚ÉŽÀs‚·‚é - - If section.Start( "T_Sample2" ) Then - '// ‚±‚±‚©‚çŽÀs‚³‚ê‚Ü‚· - End If : section.End_ '// ‚±‚±‚ŁAuI—¹‚µ‚Ü‚µ‚½v‚ÆŠm”FƒƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚é - - If section.Start( "T_Sample2" ) Then - '// ‚±‚±‚àŽÀs‚³‚ê‚Ü‚· - End If : section.End_ - Pass - End Sub - - ƒTƒ“ƒvƒ‹ - T_Sample2 - - Start - - - End_ - - - (src) - - - SetStartSectionTree - - ƒlƒXƒg‚µ‚Ä‚¢‚é‚Æ‚« - ƒTƒ“ƒvƒ‹ - - - Sub Test_start( tests ) SetStartSectionTree "Sec1, SubSec2" - - Dim section : Set section = new SectionTree - - If section.Start( "Sec1" ) Then - If section.Start( "SubSec2" ) Then - '// ‚±‚±‚ÍŽÀs‚³‚ê‚Ü‚· - End If : section.End_ - End If : section.End_ - Pass - End Sub - - ƒeƒXƒg - iŠeƒƒ\ƒbƒh‚ðŽQÆj - ƒTƒ“ƒvƒ‹‰æ–Ê - - - Section> Sec1<Section tree="Sec1"> - Section> Sec1 > SubSec2 - <Section tree="Sec1,SubSec2"> - : - </Section> - </Section> - - ƒTƒ“ƒvƒ‹‰æ–Ê - - - Section> T_Sample2<Section tree="T_Sample2"> - : - </Section> - - ƒZƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ƏI—¹‚ŁAŒ»Ý‚̃ZƒNƒVƒ‡ƒ“‚̈ʒuie‚̃cƒŠ[ƒm[ƒh‚̃ZƒNƒVƒ‡ƒ“–¼‚©‚猻Ý‚܂Łj‚ð•\Ž¦‚µ‚Ü‚·i‰º‹LAƒTƒ“ƒvƒ‹‰æ–ʁjB - ŠÖ˜A - - ¨ ƒƒO - - - - - - - - Start (SectionTree) - - - Function SectionTree::Start( SectionName as string ) as boolean - - ƒZƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ðŽw’肵‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - yˆø”z - SectionName - •Ô‚è’l - ƒZƒNƒVƒ‡ƒ“–¼ - ƒZƒNƒVƒ‡ƒ“‚ðŽÀs‚·‚é‚©‚Ç‚¤‚© - - [ e: SectionTree ƒNƒ‰ƒX ] - - ƒeƒXƒg - - ¨ T_SectionTree.vbs # [T_SectionTree_1] - - - ¨ T_SectionTree.vbs # [T_SectionTree_2] - - - ¨ T_SectionTree.vbs # [T_SectionTree_Err] - - - (src) - - - ¨ T_SectionTree.vbs # [T_SectionTree_0] - - ƒfƒoƒbƒO—p‚ɁA–{ŠÖ”‚Ì’†‚©‚çŒÄ‚яo‚·ƒR[ƒ‹ƒoƒbƒNŠÖ”‚ð“o˜^‚Å‚«‚Ü‚·B - - ¨ OnStart (SkipSectionGlobal) - - - - - - - - End_ (SectionTree) - - - Sub SectionTree::End_() - - ƒZƒNƒVƒ‡ƒ“‚̏I—¹‚ðŽw’肵‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - [ e: SectionTree ƒNƒ‰ƒX ] - - ƒeƒXƒg - - ¨ Start (SectionTree) - - - (src) - - - - - - - - xml (SectionTree) - - - <SectionTree CurrentSectionNames="Sec1"/> - - - - Function SectionTree::xml() as string - - Œ»Ý‚̃ZƒNƒVƒ‡ƒ“‚ð•Ô‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Dim section : Set section = new SectionTree - If section.Start( "Sec1" ) Then - echo section - End If : section.End_ - - o—Í—áF - Œ»Ý‚̃ZƒNƒVƒ‡ƒ“‚ð•\Ž¦‚µ‚Ü‚·B ‚È‚¨Aecho ‚ÉŽw’è‚·‚é‚Æ‚«‚Í xml ‚ðÈ—ª‚Å‚«‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - [ e: SectionTree ƒNƒ‰ƒX ] - - ƒeƒXƒg - - ¨ T_SectionTree.vbs # [T_SectionTree_1] - - - ¨ T_SectionTree.vbs # [T_SectionTree_2] - - - (src) - - - - - - - - ‹ŒŽd—l - - - - - - - EchoTestStart - - - Sub EchoTestStart( TestSymbol as string ) - - ƒeƒXƒgƒVƒ“ƒ{ƒ‹‚ðƒGƒR[o—Í‚µ‚Ü‚·B - - - EchoTestStart "T_Samp1" - - - - ((( [T_Samp1] ))) - - ƒTƒ“ƒvƒ‹‚P - ƒTƒ“ƒvƒ‹‚̏o—Í - - - EchoTestStart tests.Symbol - - ƒTƒ“ƒvƒ‹‚Q - - (src) - - - Test.vbs - - ‚â - - InputCommand - - ‚ðŽÀs‚·‚é‚Æ‚«‚́AEchoTestStart ŠÖ”‚ðŒÄ‚΂Ȃ­‚Ä‚àAŽ©“® - Test_start ŠÖ”‚Ì’†‚Å•¡”‚̃eƒXƒg‚ð‚·‚é‚Æ‚«‚ɁAEchoTestStart ŠÖ”‚ðŽg‚¤‚ƁAƒeƒXƒg‚̃ƒO‚ªŒ©‚â‚·‚­‚È‚è‚Ü‚·B - “I‚ɃVƒ“ƒ{ƒ‹‚ªƒGƒR[o—Í‚³‚ê‚Ü‚·B - ”pŽ~—\’è‚Å‚·B - ‘ã—p - - ¨ SectionTree ƒNƒ‰ƒX - - - - - - - - SkipToSection - - - SkipToSection Array( 5, 2 ) - - ƒTƒ“ƒvƒ‹F ƒZƒNƒVƒ‡ƒ“”ԍ† 5,2 ‚©‚çŽÀs‚·‚éi 5,1 ‚æ‚è‘O‚ÍŽÀs‚ðƒXƒLƒbƒv‚·‚éBj - - - Sub SkipToSection( Num as integer ) - - Žw’肵‚½”ԍ†‚̃ZƒNƒVƒ‡ƒ“‚æ‚è‘O‚̃ZƒNƒVƒ‡ƒ“‚ðƒXƒLƒbƒv‚·‚é‚悤‚ɐݒ肵‚Ü‚·B - yˆø”z - Num - ŽŸ‚ÉŽÀs‚·‚éƒZƒNƒVƒ‡ƒ“”ԍ† - ’ʏíAƒƒCƒ“ŠÖ”‚©‚çŒÄ‚яo‚µ‚Ü‚·B‚Í‚¶‚ß‚Í 0 ‚ðŽw’肵‚āAƒZƒNƒVƒ‡ƒ“”ԍ†‚ð echo o—Í‚³‚¹‚Ü‚·B - ŽŸ‚ɁAƒXƒLƒbƒv‚µ‚½‚¢ƒZƒNƒVƒ‡ƒ“‚𒲂ׂāAŽŸ‚ÉŽÀs‚µ‚½‚¢ƒZƒNƒVƒ‡ƒ“”ԍ†‚ðŽw’肵‚Ü‚·B - - - SkipToSection 5 - - ƒTƒ“ƒvƒ‹F ƒZƒNƒVƒ‡ƒ“”ԍ† 5 ‚©‚çŽÀs‚·‚éi 5 ‚æ‚è‘O‚ÍŽÀs‚ðƒXƒLƒbƒv‚·‚éBj - - (src) - - ŠÖ˜A - ƒZƒNƒVƒ‡ƒ“”ԍ†‚́A‰º‹L‚̂悤‚É echo o—Í‚³‚ê‚Ü‚·B SkipToSection ‚ðˆê“x‚àŒÄ‚ñ‚Å‚¢‚È‚¢‚Æ‚«‚âAƒXƒLƒbƒv’†‚͏o—Í‚³‚ê‚Ü‚¹‚ñB - - - <Section num='4'/> - - ƒeƒXƒg - - ¨ T_SkipToSection ƒtƒHƒ‹ƒ_ - - ˆê“x‚à SkipToSection ‚ªŒÄ‚΂ê‚Ä‚¢‚È‚¢‚Æ‚«‚́AƒOƒ[ƒoƒ‹•Ï” g_SkipSection ‚ªEmpty ‚É‚È‚Á‚Ä‚¢‚Ü‚·B - ƒTƒ“ƒvƒ‹F ƒZƒNƒVƒ‡ƒ“”ԍ†‚ð•\Ž¦‚³‚¹‚È‚¢A‚©‚AŽÀs‚̃XƒLƒbƒv‚ð‚µ‚È‚¢B - - - SkipToSection Empty - - NotSkipSection ‚ɃuƒŒ[ƒNƒ|ƒCƒ“ƒg‚𒣂é‚ƁAƒZƒNƒVƒ‡ƒ“‚²‚ƂɃuƒŒ[ƒN‚µ‚Ü‚·B - - ¨ SkipSection::Start - - - ¨ SkipSection::End_ - - - ¨ SetBreakAtSection - - - - - - - - SkipSection::Start - - (src) - - - - Function SkipSection::Start() as boolean - - - - Dim section : Set section = new SkipSection - If section.Start() Then '// section 1 - : - section.End_ - End If - - If section.Start() Then '// section 2 - If exist( "out.txt" ) Then '// ðŒ‚É‚æ‚Á‚āA‚µ‚È‚¢‚±‚Æ‚ª‚ ‚鏈—‚́Asection ‚Ì’†‚Ö - : - End If - section.End_ - End If - - ƒTƒ“ƒvƒ‹F - –{ŠÖ”‚ðŒÄ‚яo‚µ‚½êŠ‚ðƒZƒNƒVƒ‡ƒ“‚ÌŠJŽnêŠ‚Æ‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_SkipToSection ƒtƒHƒ‹ƒ_ - - - - - - - - SkipSection::End_ - - - Sub SkipSection::End_() - - ŽQl - - ¨ SkipSection::Start - - - - - - - - NotSkipSection - - (src) - - - - Function NotSkipSection() as boolean - - –{ŠÖ”‚ðŒÄ‚яo‚µ‚½êŠ‚ðƒZƒNƒVƒ‡ƒ“‚ÌŠJŽnêŠ‚Æ‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - SkipToSection ‚Őݒ肳‚ꂽƒZƒNƒVƒ‡ƒ“ˆÈ~‚©‚Ç‚¤‚© - ƒTƒ“ƒvƒ‹F - - - For Each i As arr If NotSkipSection() Then - DoTest - End If - Next - - –{ŠÖ”‚ðŒÄ‚яo‚·‚ƃZƒNƒVƒ‡ƒ“”ԍ†‚ð{‚P‚µ‚Ü‚·BSkipToSection ‚ªŒÄ‚΂ê‚Ä‚¢‚½‚çAƒZƒNƒVƒ‡ƒ“”ԍ†‚ð echo o—Í‚µ‚Ü‚·B - - - <Section num='5'/> - - echo o—Í‚Ì—áF - - ¨ SkipSection::Start - - ”pŽ~—\’è‚Å‚·B SkipSection::Start ` End_ ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢ - - - - - - - SetBreakAtSection - - - Sub SetBreakAtSection( Num ) - - Žw’è‚̃ZƒNƒVƒ‡ƒ“‚ŃuƒŒ[ƒN‚·‚é‚悤‚É‚µ‚Ü‚·B - - (src) - - - - - - - - GetSkipSectionGlobal - - - Function GetSkipSectionGlobal() as SkipSectionGlobal - - ƒZƒNƒVƒ‡ƒ“‚ðŠÇ—‚·‚éƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ƒZƒNƒVƒ‡ƒ“‚ðŠÇ—‚·‚éƒIƒuƒWƒFƒNƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - GetSkipSectionGlobal ŠÖ” - SkipSectionGlobal ƒNƒ‰ƒX - - ¨ vbslib.vbs - - SkipSectionGlobal ƒNƒ‰ƒX - - ¨ OnStart - - ƒZƒNƒVƒ‡ƒ“‚ðŠJŽn‚·‚é’¼‘O‚ŃR[ƒ‹ƒoƒbƒN‚·‚éŠÖ”B - - - - - - - OnStart (SkipSectionGlobal) - - - Sub SkipSectionGlobal::OnStart( CallbackObject as variant ) - - ƒZƒNƒVƒ‡ƒ“‚ðŠJŽn‚·‚é’¼‘O‚ŃR[ƒ‹ƒoƒbƒN‚·‚éŠÖ”B - yˆø”z - CallbackObject - GetSkipSectionGlobal().CallbackObject - - - Sub Main( Opt, AppKey ) Set ss = GetSkipSectionGlobal() - Set ss.OnStart = GetRef("CheckOnCallback") - Set ss.CallbackObject = Nothing - RunTestPrompt AppKey.NewWritable( "." ) - End Sub - - Sub CheckOnCallback( Argument1 ) - echo "CheckOnCallback" - End Sub - - ƒTƒ“ƒvƒ‹ - ŠÖ˜A - - ¨ Start (SectionTree) - - ƒZƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ðŽw’肵‚Ü‚·B - - - - - - - call_vbs - - - Function call_vbs( path as string, func as string, param as variant ) - - Žw’肵‚½ VBScript ƒtƒ@ƒCƒ‹‚Ì’†‚̊֐”‚ðŒÄ‚яo‚µAI—¹‚·‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - yˆø”z - path - func - VBScript ƒtƒ@ƒCƒ‹‚̃pƒX - ŒÄ‚яo‚·ŠÖ”‚Ì–¼‘O - path ‚Ɋ‹«•Ï”‚ðŠÜ‚߂邱‚Æ‚ª‚Å‚«‚Ü‚·B i%var% Œ`Ž®j - ŠÖ”‚É“n‚·ƒpƒ‰ƒ[ƒ^ - param - ŠÖ”‚Ì•Ô‚è’l - •Ô‚è’l - Œ»Ý‚̃vƒƒZƒX‚̂܂܁A•Ê‚Ì .vbs ƒtƒ@ƒCƒ‹‚ðŒÄ‚яo‚µ‚Ü‚·B - - (src) - - ƒOƒ[ƒoƒ‹•Ï”‚́AŒÄ‚яo‚µæ‚Ő錾‚µ‚½‚à‚Ì‚ªAŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚·B - ŒÄ‚яo‚µæ‚Ɋ֐”‚ðŽÀs‚·‚é‚Æ‚«‚̃JƒŒƒ“ƒgƒtƒHƒ‹ƒ_‚́A‚»‚̃XƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_‚É‚È‚è‚Ü‚·B - path ‚É‘Š‘΃pƒX‚ðŽw’è‚·‚é‚Æ‚«‚Í’ˆÓ‚ª•K—v‚Å‚·B - - - call_vbs "%ProgramFiles%\Movie Maker\moviemk.vbs", "FuncA", "" - - ƒTƒ“ƒvƒ‹F - ŒÄ‚яo‚µæ‚̊֐”‚́AŽŸ‚ÌŒ^‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - Function FuncA( Param ) - - - (src) - - - g_SrcPath - - ‚́A‚ŁAƒOƒ[ƒoƒ‹—̈æ‚ðŽÀs‚µ‚Ä‚¢‚é‚Æ‚«‚¾‚¯‚Å‚È‚­AŒÄ‚яo‚· - ŠÖ”‚ðŽÀs‚µ‚Ä‚¢‚é‚Æ‚«‚àApath ˆø”‚ÉŽw’肵‚½ƒpƒX‚̃tƒ‹EƒpƒX‚ª“ü‚è‚Ü‚·B - - ¨ g_start_in_path - - - - - - - - FuncRedir_add - - (src) - - ModuleC_pre.vbs - - - Dim g_FuncA : FuncRedir_add g_FuncA, "FuncA" - - ŠÖ”ƒR[ƒ‹‚ðƒŠƒ_ƒCƒŒƒNƒgi‰¡Žæ‚èj‚µ‚Ü‚·B - ModuleC.vbs - - - Sub FuncA( Param1 ) If GetVar( "FuncA_Redir" ) = "Over" Then - echo "overrided" - Else - g_FuncA.CallSub1 Param1 - End If - End Sub - - FuncA - FuncA - FuncA - FuncA - FuncA - - - Sub FuncRedir_add( out_Redir as FuncRedir, Name as string ) - - ã‘‚«‚·‚é‘O‚̊֐”‚ðŒÄ‚яo‚³‚È‚¢‚Æ‚«‚́AFuncRedir_add ‚ðŒÄ‚яo‚·•K—v‚Í‚ ‚è‚Ü‚¹‚ñBFuncRedir_add ‚Ì‘æ1ˆø”‚ÉŽw’肵‚Ď擾‚µ‚½ƒIƒuƒWƒFƒNƒgŽg‚Á‚āAã‘‚«‚·‚é‘O‚̊֐”‚ð - ŒÄ‚яo‚µ‚Ü‚·B - FuncRedir ƒIƒuƒWƒFƒNƒg‚̃ƒ\ƒbƒhˆê—— - Sub FuncRedir::CallSub0()Sub FuncRedir::CallSub1( Param1 ) - Sub FuncRedir::CallSub2( Param1, Param2 ) - Sub FuncRedir::CallSub3( Param1, Param2, Param3 ) - Sub FuncRedir::CallSub4( Param1, Param2, Param3, Param4 ) - Function FuncRedir::CallFunction0() - Function FuncRedir::CallFunction1( Param1 ) - Function FuncRedir::CallFunction2( Param1, Param2 ) - Function FuncRedir::CallFunction3( Param1, Param2, Param3 ) - Function FuncRedir::CallFunction4( Param1, Param2, Param3, Param4 ) - - - include "ModuleC_pre.vbs" include "ModuleC.vbs" - - ã‘‚«‚·‚é‘O‚̊֐”‚ðŒÄ‚яo‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_FuncRedir.vbs - - - ¨ T_NameAdd_vbslib ƒtƒHƒ‹ƒ_ - - ŽQl - - ¨ ƒ}ƒNƒEƒŠƒ_ƒCƒŒƒNƒg - - ŠÖ˜A - - ¨ ƒo[ƒWƒ‡ƒ“”»’èAŠÂ‹«•Ï” - - - ¨ ƒo[ƒWƒ‡ƒ“”»’èAŠÂ‹«•Ï” - - - - Sub FuncX() Dim v_:Set v_= new VarStack - SetVar "FuncA_Redir", "Over" - FuncA - End Sub - - ModuleX.vbs - - - - - - - ƒŠƒ_ƒCƒŒƒNƒgæ‚̊֐”‚ª’è‹`‚µ‚Ä‚ ‚éƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ƁA•Ê‚̃tƒ@ƒCƒ‹‚©‚ç FuncRedir_add ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - ‚½‚Æ‚¦‚΁A‰º‹L‚Ì ModuleC.vbs ‚Æ ModuleC_pre.vbs ‚̂悤‚É•ª‚¯‚Ä‚­‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¢‚ƁAƒŠƒ_ƒCƒŒƒNƒg‚·‚é‘O‚̊֐”‚ªã‘‚«‚³‚ꂽŒã‚ŁAFuncRedir_add ‚ªŒÄ‚΂ê‚邱‚Æ‚É‚È‚èAI‚í‚è‚Ì‚È‚¢Ä‹AŒÄ‚яo‚µ‚É‚È‚èAƒƒ‚ƒŠ•s‘«iƒXƒ^ƒbƒN•s‘«j‚̃Gƒ‰[‚É‚È‚é - ‚Å‚µ‚傤B - ƒTƒ“ƒvƒ‹ - Main.vbs - FuncRedir_add ‚ðŒÄ‚яo‚·‚½‚߂̃tƒ@ƒCƒ‹ - ƒŠƒ_ƒCƒŒƒNƒgæ - FuncA ‚̌Ăяo‚µŒ³ - - FuncRedir ƒIƒuƒWƒFƒNƒg - - yˆø”z - out_Redir - Name - io—́j - ƒŠƒ_ƒCƒŒƒNƒg‚³‚ê‚éŠÖ”‚Ì–¼‘O - FuncA ŠÖ”‚Ì’è‹`‚ðƒŠƒ_ƒCƒŒƒNƒg‚µAŠÂ‹«•Ï” FuncA_Redir ‚Ì’l‚É‚æ‚Á‚āAƒŠƒ_ƒCƒŒƒNƒgŒ³‚©ƒŠƒ_ƒCƒŒƒNƒgæ‚©‚Ì‚Ç‚¿‚ç‚©‚Ì FuncA ŠÖ”‚ðŒÄ‚яo‚·‚©‚ð‘I‚ׂé‚悤‚É‚µ‚Ü‚·B - - - - - - - CallForEach - - (src) - - - - Function CallForEach0( Func as Function, Collection as array or variant ) - - Collection ‚Ì‚»‚ꂼ‚ê‚Ì—v‘f‚ðˆø”‚É“n‚µ‚āAŠÖ” Func ‚𕡐”‰ñŒÄ‚яo‚µ‚Ü‚·B - yˆø”z - Func - Collection - ŒÄ‚яo‚·ŠÖ”iGetRefŽg—pj - ”z—ñA‚Ü‚½‚Í’Pƒ•Ï”A‚Ü‚½‚Í Empty - ŠÖ”‚É“n‚·ƒpƒ‰ƒ[ƒ^ - Param1 - - - Function CallForEach1( Func, Collection, Param1 as variant ) - - - - Function CallForEach2( Func, Collection, Param1 as variant, Param2 as variant ) - - ƒL[ƒ[ƒhF - CallForEach0, CallForEach1, CallForEach2, CallForEach3, CallForEach4 - ƒTƒ“ƒvƒ‹F - •Ô‚è’l - ŠÖ” Func ‚Ì•Ô‚è’liCollection ‚ª’Pƒ•Ï”‚Ì‚Æ‚«‚̂݁j - - - CallForEach2 GetRef("CallForEach_copy"), Array( "a.txt", "b.txt" ), "src", "dst" - - ã‹LƒR[ƒh‚͉º‹LƒR[ƒh‚Æ“¯‚¶ˆ—“à—e‚Å‚·B - - - CallForEach_copy "a.txt", "src", "dst" CallForEach_copy "b.txt", "src", "dst" - - ŠÖ˜A - - ¨ EventResponders : ƒCƒxƒ“ƒg‰ž“š (vbsool) - - ‚È‚é‚ׂ­ACallForEach ‚ðŽg‚킸‚ɁAFor ƒ‹[ƒv‚ðŽg‚Á‚āA‚»‚ꂼ‚ê‚Ì—v‘f‚ɑ΂µ‚ďˆ—‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - CallForEach_copy - - (src) - - - - Sub CallForEach_copy( StepPath as string, FromFolderPath as string, ToFolderPath as string ) - - ‚ÉŽg‚¦‚éƒtƒ@ƒCƒ‹ƒRƒs[‚Å‚·B - yˆø”z - StepPath - FromFolderPath - ƒtƒ@ƒCƒ‹‚Ö‚Ì‘Š‘΃pƒXB Šî€‚Í FromFolderPath ‚Æ ToFolderPath - ƒRƒs[Œ³‚̃tƒHƒ‹ƒ_ - ƒRƒs[æ‚̃tƒHƒ‹ƒ_ - ToFolderPath - - - CallForEach2 GetRef("CallForEach_copy"), Array( "a.txt", "folder\*" ), "src", "dst" - - ã‹LƒR[ƒh‚͉º‹LƒR[ƒh‚Æ“¯‚¶ˆ—“à—e‚Å‚·B - - - copy "src\a.txt", "dst" copy "src\folder\*", "dst\folder" '// copy "src\folder", "dst" ‚Æ“¯‚¶ - - - CallForEach - - ƒeƒXƒg - - ¨ T_EachCopy.vbs # [T_EachCopy1] - - ƒtƒHƒ‹ƒ_[‚ðƒRƒs[‚·‚é‚Æ‚«AƒpƒX‚Ì––”ö‚É "\*" ‚ª‚ ‚Á‚Ä‚à‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB - ƒTƒ“ƒvƒ‹ - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽg‚Á‚Ä‚àAƒTƒuEƒtƒHƒ‹ƒ_[‚̓Rƒs[‚µ‚Ü‚¹‚ñB - - ExpandWildcard - - ‚Æ‘g‚ݍ‡‚킹‚Ä - ‚­‚¾‚³‚¢B - - - Set c = g_VBS_Lib - ExpandWildcard "src\*.doc", c.File or c.SubFolder, folder, step_paths - CallForEach2 GetRef("CallForEach_copy"), step_paths, "src", "dst" - - - - - - - - CallForEach_move - - - Sub CallForEach_move( FilePath, FromFolderPath, ToFolderPath ) - - ‚ÉŽg‚¦‚éƒtƒ@ƒCƒ‹‚̈ړ®‚Å‚·B - - CallForEach - - - (src) - - ŽQl - - ¨ CallForEach_copy - - - - - - - - CallForEach_del - - - Sub CallForEach_del( FilePath, FolderPath ) - - ‚ÉŽg‚¦‚éƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚̍폜‚Å‚·B - - CallForEach - - - - CallForEach1 GetRef("CallForEach_del"), Array( "a.txt", "folder\*" ), "folder" - - ã‹LƒR[ƒh‚͉º‹LƒR[ƒh‚Æ“¯‚¶ˆ—“à—e‚Å‚·B - - - del "folder\a.txt" del "folder\folder\*" - - ƒTƒ“ƒvƒ‹ - - (src) - - - - - - - - Transpose - - - copy t_source, t_destination - - t_source = "C:\From.txt" - t_destination = "C:\To.txt" - - - ƒTƒ“ƒvƒ‹ - •¶‚ðŽÀs‚·‚鏇”Ô‚ð“ü‚ê‘Ö‚¦‚Ü‚·B‚½‚Æ‚¦‚΁AŠÖ”‚̈ø”‚Ì‘ã“üiÚ×j‚ðŒã‚ŏ‘‚­‚Ù‚¤‚ª‰Â“ǐ«‚ªã‚ª‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B - Transpose ‚́A‡”Ô‚Ì“ü‚ê‘Ö‚¦‚ðŽ¦‚·‚¾‚¯‚ŁA‰½‚à‚µ‚Ü‚¹‚ñB - ã‹L‚̃R[ƒh‚́A‰º‹L‚̃R[ƒh‚Æ“¯‚¶ˆ—‚ðs‚¢‚Ü‚·B - - - source = "C:\From.txt" destination = "C:\To.txt" - copy source, destination - - ‘O”¼‚ƌ㔼iTranspose : Else ‚Ì‘OŒãj‚ð‚‚Ȃ®•Ï”‚Ì–¼‘O‚̐擪‚́At_ ‚©‚çŽn‚ß‚éƒR[ƒfƒBƒ“ƒO ƒ‹[ƒ‹‚𐄏§‚µ‚Ü‚·B - ã‹L‚̃R[ƒh‚́Aà–¾‚Ì‚½‚߂Ɍ㔼‚ª’Z‚¢‚½‚߁A•Ï”‚ð‰î‚³‚È‚¢‚Ù‚¤‚ª“Ç‚Ý‚â‚·‚¢‚Å‚·‚ªA - ˆê”ʂɌ㔼‚ª’·‚¢‚Æ‚«‚Í“Ç‚Ý‚â‚·‚­‚È‚è‚Ü‚·B - Transpose : For i=0 To 1 : If i=1 Then - Else ' Transpose - - - Transpose : End If : Next - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - SetTaskStartTime - - - Sub SetTaskStartTime( TaskName as string, StartTime as string ) - - ƒ^ƒXƒNEƒXƒPƒWƒ…[ƒ‰[‚É“o˜^Ï‚݂́AŽw’è‚̃^ƒXƒN‚ðŠJŽn‚·‚鎞‚ð•ÏX‚µ‚Ü‚·B - - - echo "ƒ^ƒXƒN‚ÌŠJŽnŽžŠÔ‚ðÄÝ’肵‚Ü‚·B" Dim name : name = input( "ƒ^ƒXƒN–¼>" ) - echo "—áF 13:00 ... ¡‚ªŒß‘O10Žž‚È‚çA¡“ú‚̌ߌã1Žž‚ÉŽÀs‚·‚é" - echo "—áF 1:00 ... ¡‚ªŒß‘O10Žž‚È‚çA–¾“ú‚̌ߑO1Žž‚ÉŽÀs‚·‚é" - echo "—áF +1:00 ... ¡‚©‚ç1ŽžŠÔŒã‚ÉŽÀs‚·‚é" - Dim after : after = input( "‚¢‚ÂŽÀs‚ðŠJŽn‚µ‚Ü‚·‚©>" ) - SetTaskStartTime name, after - - SetTaskStartTime - ƒTƒ“ƒvƒ‹ - - (src) - - - ¨ samples/TaskScheduler ƒtƒHƒ‹ƒ_ - - - ¨ GetTaskList - - ŠÖ˜A - - ¨ schtasks /Create - - StartTime ‚̐擪‚ð + ‚É‚·‚é‚ƁAŒ»Ý‚ÌŽž‚©‚ç‚̍·•ª‚ðŽw’è‚Å‚«‚Ü‚·B—áj +1:30 c ‚PŽžŠÔ”¼Œã - - - - - - - GetTaskList - - - Function GetTaskList( EmptyParam as Empty ) - - ƒ^ƒXƒNEƒXƒPƒWƒ…[ƒ‰[‚É“o˜^Ï‚݂́Aƒ^ƒXƒN‚ðˆê——‚µ‚Ü‚·B - •Ô‚è’l‚́Aƒ^ƒXƒN‚̏W‡‚Å‚ ‚鎫‘Œ^‚Å‚·Bƒ^ƒXƒN‚̏W‡‚Ì Key ‚Í ƒ^ƒXƒN–¼AItem ‚Í‚P‚‚̃^ƒXƒN‚ð•\‚·Ž«‘Œ^‚Å‚·B - ‚P‚‚̃^ƒXƒN‚ð•\‚·Ž«‘Œ^‚Ì Key ‚Í ƒ^ƒXƒN‚Ì‘®«–¼AItem ‚Í‘®«‚Ì’l‚Å‚·B - - - Set tasks = GetTaskList( Empty ) Set task = tasks.Item( "\Task1" ) - start task.Item( "ŽÀs‚·‚éƒ^ƒXƒN" ) - - ƒTƒ“ƒvƒ‹ - - (src) - - - ¨ schtasks /Query - - ŽQl - - - - - - - - MakeFileClass iƒƒCƒNƒtƒ@ƒCƒ‹j - - ¨ Makefile - - ŽQl - - ¨ T_MakeRule ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - make ƒRƒ}ƒ“ƒh‚̂悤‚ɁAƒtƒ@ƒCƒ‹‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð”äŠr‚µ‚āA•K—v‚È‚çƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B - ˆê”Ê“I‚ȃƒCƒNƒtƒ@ƒCƒ‹‚ƁAMakeFileClass ‚Ƃ̑ΉžŠÖŒW‚ðŽ¦‚µ‚Ü‚·B - - - Target.txt : Source1.txt Source2.txt command - - Target.txt ‚ª–³‚¢‚Æ‚«‚©ASource1.txt ‚Ü‚½‚Í Source2.txt ‚æ‚èŒÃ‚¢‚Æ‚«‚ɁAcommand ‚ðŽÀs‚µ‚Ü‚·B ‚½‚¾‚µASource1.txt ‚¨‚æ‚Ñ Source2.txt ‚ɑ΂·‚é - ƒ‹[ƒ‹‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚µ‚½Œã‚ÅŽÀs‚µ‚Ü‚·B - MakeFileClass ‚ł́AŽŸ‚̂悤‚É‹Lq‚µ‚Ü‚·B - - - Sub Main() Set mk = new MakeFileClass - mk.AddRule new_Target_txt_Rule() - mk.Make - End Sub - - Function new_Target_txt_Rule() - Set o = new MakeRule - o.Sources = Array( "Source1.txt", "Source2.txt" ) - o.Target = "Target.txt" - Set o.Command = GetRef("Target_txt_Command") - Set new_Target_txt_Rule = o - End Function - Sub Target_txt_Command( Param, Rule ) - copy_ren Rule.Sources(0), Rule.Target - End Sub - - Target_txt - Target_txt - Target_txt - Target_txt - Target.txt - Source1.txt - Source2.txt - Target_txt - - ¨ ƒ[ƒ‹ƒoƒbƒN - - - - - - - MakeRule ‚Ì source ‚Æ target ‚ÌŠÖŒW - - - - - MakeRule ‚ÅŽÀs‚·‚éƒRƒ}ƒ“ƒh - ƒƒCƒNƒtƒ@ƒCƒ‹‚̐}‚Ì‹L–@—á iŽQlj - File - Å‰‚ɍXV‚·‚éƒtƒ@ƒCƒ‹ - - MakeFileClass - - - MakeRule - - ƒTƒ“ƒvƒ‹ - Target.txt - Source.txt - - - - - - MakeRule ‚ð•Ô‚·ŠÖ”–¼ - by new_Target_txt_Rule - ¶¬‚·‚é - ˆê”Ê“I‚ȃƒCƒNƒtƒ@ƒCƒ‹ ivbslib‚Å‚Í‚È‚¢j - ‚±‚±‚ł́AƒƒCƒNƒtƒ@ƒCƒ‹‚ÅŽw’肳‚ꂽu\¬v‚ð}‚É•\‚·‚Æ‚«‚Ì‹L–@‚ðŽ¦‚µ‚Ü‚·B - –}—á - Command - - - - - - ¨ vbslib.vbs - - ƒ\[ƒX - - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽw’è - - ‚·‚ê‚΁A - - ˆÃ–Ùƒ‹[ƒ‹ - - ‚ðì‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - DebugMode - - ‚ðÝ’肵‚ďڍׂȏî•ñ‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B - ‚¤‚Ü‚­“®ì‚µ‚È‚¢‚Æ‚«‚́A - - ¨ ƒf[ƒ^\‘¢ (MakeFileClass) - - - - - - - - MakeFileClass - - .Name - - ƒƒCƒNƒtƒ@ƒCƒ‹‚Ì–¼‘OB - - .Delegate - - ƒ†[ƒU[’è‹`‚̈Ϗ÷æƒIƒuƒWƒFƒNƒgB - - .DebugMode - - - .DebugMode_Param1 - - ƒfƒoƒbƒOƒ‚[ƒh - ƒfƒoƒbƒOƒ‚[ƒh‚̃pƒ‰ƒ[ƒ^[ - - .c - - ’萔‚̏W‚Ü‚è - - .AddRule - - - .Make - - ƒƒCƒN‚ðŽÀs‚µ‚Ü‚·B - ƒƒCƒNƒtƒ@ƒCƒ‹‚̃‹[ƒ‹‚ð“o˜^‚µ‚Ü‚·B - - (src) - - ƒTƒ“ƒvƒ‹ - - ¨ ƒƒCƒNƒtƒ@ƒCƒ‹ - - - .Variables - - ƒ†[ƒU[’è‹`•Ï”‚̏W‚Ü‚èB - - << MakeFileClass iƒƒCƒNƒtƒ@ƒCƒ‹j - - - - - - - - AddRule (MakeFileClass) - - - Sub MakeFileClass::AddRule( a_MakeRule as MakeRule ) - - ƒƒCƒNƒtƒ@ƒCƒ‹‚̃‹[ƒ‹‚ð“o˜^‚µ‚Ü‚·B - - MakeRule - - a_MakeRule ˆø”‚É”z—ñ‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - - - - - - Make (MakeFileClass) - - - Sub MakeFileClass::Make() - - “o˜^‚³‚ê‚Ä‚¢‚郁ƒCƒNƒtƒ@ƒCƒ‹‚̃‹[ƒ‹‚ɏ]‚Á‚āAƒƒCƒN‚ðŽÀs‚µ‚Ü‚·B - - - - - - - Name (MakeFileClass) - - - Dim MakeFileClass::Name as string - - ƒƒCƒNƒtƒ@ƒCƒ‹‚Ì–¼‘OBMakeFileClass::DebugMode ‚É MakeFileClass::c.OutDebugXML ‚ðÝ’è‚·‚é‚Æ‚«‚É - •\Ž¦‚³‚ê‚Ü‚·B - - - - - - - Variables (MakeFileClass) - - - Dim MakeFileClass::Variables as LazyDictionaryClass - - ƒ†[ƒU[’è‹`•Ï”‚̏W‚Ü‚èB - - LazyDictionaryClass - - MakeFileClass ‚𐶐¬‚µ‚½Žž“_‚ŁALazyDictionaryClass ‚̃IƒuƒWƒFƒNƒg‚͐¶¬‚³‚ê‚Ä‚¢‚Ü‚·B - Variables ‚ªŽw‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚́A - - MakeRule::Variables - - ‚Å‚àŽQÆ‚Å‚«‚Ü‚·B - MakeRule::Variables ‚ÅŽ©“®“I‚ɐݒ肳‚ê‚é•Ï”‚Æ“¯‚¶–¼‘O‚̕ϐ”‚ðƒ†[ƒU[‚ª’è‹`‚·‚é‚Ə㏑‚«‚³‚ê‚Ä‚µ‚Ü‚¤‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - Delegate (MakeFileClass) - - - Dim MakeFileClass::Delegate as variant - - ˆÏ÷æ‚ƂȂ郆[ƒU[’è‹`ƒIƒuƒWƒFƒNƒgB - - - Sub main() Dim mk : Set mk = new MakeFileClass - mk.AddRule new_Target_txt_Rule() - mk.Delegate = "ABC" - mk.Make - End Sub - - Sub Target_txt_Command( a_MakeFile, a_MakeRule ) - echo a_MakeFile.Delegate - End Sub - - MakeFileClass ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚·‚é‚Æ‚«‚Ƀ†[ƒU’è‹`ƒIƒuƒWƒFƒNƒg‚ð Delegate ‚ÉŠi”[‚µ‚Ä‚¨‚­‚ƁAMakeRule::Command ‚ŌĂ΂ê‚éŠÖ”‚Ì’†‚ŁA‘æ1ˆø”‚Å‚ ‚é MakeFileClass ƒIƒuƒWƒFƒNƒg‚Ì - Delegate ‚©‚烆[ƒU’è‹`ƒIƒuƒWƒFƒNƒg‚ðAŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - Delegate - Delegate - - - - - - - DebugMode (MakeFileClass) - - - Dim MakeFileClass::DebugMode as integerDim MakeFileClass::DebugMode_Param1 as variant - - ƒƒCƒNƒtƒ@ƒCƒ‹‚̃fƒoƒbƒOƒ‚[ƒh - DebugMode = MakeFileClass::c.OutDebugXML ‚Ì‚Æ‚« - ƒƒCƒN‚ðŽÀs‚·‚é’¼‘O‚ɁA‚ǂ̃Rƒ}ƒ“ƒh‚ª‚ ‚Á‚āA‚ǂ̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚é‚Ì‚©‚ðXML ‚Å•\Ž¦‚µ‚Ü‚·B ƒXƒNƒŠƒvƒg‚́Apause ‚É‚æ‚Á‚Ĉꎞ’âŽ~‚µ‚Ü‚·B - DebugMode = MakeFileClass::c.BreakBeforeCommand ‚Ì‚Æ‚« - DebugMode_Param1 as string - ƒuƒŒ[ƒN‚·‚é MakeRule::Target ‚̈ꕔEmpty = ‚·‚×‚Ä Stop ‚·‚é - Žw’è‚Ì MakeRule ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚é’¼‘O‚Å Stop ‚µ‚Ü‚·B - DebugMode = MakeFileClass::c.Watch ‚Ì‚Æ‚« - ‚»‚ꂼ‚ê‚Ì MakeRule ‚̃Rƒ}ƒ“ƒh‚ðŽÀs‚·‚é‘O‚ÆŒã‚ŁAŽw’è‚̊֐”‚ðŒÄ‚яo‚µ‚Ü‚·B - DebugMode_Param1 as Sub - ŒÄ‚яo‚·ŠÖ”BGetRef ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢ - Sub ( Delegate as variant, Rule as MakeRule ) - ŒÄ‚яo‚·ŠÖ”‚̃pƒ‰ƒ[ƒ^[‚́AMakeRule::Command ‚Æ“¯‚¶‚Å‚·B - c ‚́AMakeFileClass::c ‚ÅŽQÆ‚Å‚«‚é MakeFileClassConst ƒIƒuƒWƒFƒNƒg‚Å‚·B - - - - - - - MakeRule - ƒTƒ“ƒvƒ‹ - - ¨ ƒƒCƒNƒtƒ@ƒCƒ‹ - - - (src) - - - .Target - - .Command ‚É‚æ‚Á‚čì‚ç‚ê‚éƒtƒ@ƒCƒ‹‚̃pƒXB - - .Sources - - .Command ‚ðŽÀs‚·‚é‚Ì‚É•K—v‚Æ‚È‚éƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñB - - .Command - - Target ‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªASources ‚æ‚èV‚µ‚¢‚Æ‚«‚ÉŽÀs‚·‚éŠÖ”B - - .c - - ’萔‚̏W‚Ü‚è (Read Only) - - .Delegate - - - .CurrentDirectory - - - .Type_ - - - .Priority - - - .NewestSource - - - .AllNewSource - - ˆÏ÷æ‚ƂȂ郆[ƒU[’è‹`ƒIƒuƒWƒFƒNƒgB - MakeRule ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_B (Read Only) - ƒƒCƒNƒ‹[ƒ‹‚ÌŽí—ށB - —Dæ“xB ‘å‚«‚¢‚Ù‚Ç—Dæ‚·‚éB - Å‚àƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªV‚µ‚¢ Sources ‚̃tƒ@ƒCƒ‹ƒpƒXB - ƒ^[ƒQƒbƒg‚æ‚èƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªV‚µ‚¢ƒtƒ@ƒCƒ‹ƒpƒX‚Ì”z—ñB - - .Variables - - ƒ†[ƒU[’è‹`•Ï”‚ƁAMakeFile ‚ÌŽ©“®•Ï”‚̏W‚Ü‚èB (Read Only) - V‹Kì¬‚·‚é‚Æ‚«‚́A­‚È‚­‚Æ‚à TargetASourcesACommand ‚ð‰Šú‰»‚µ‚Ä‚­‚¾‚³‚¢B - - << MakeFileClass iƒƒCƒNƒtƒ@ƒCƒ‹j - - - - - - - - Target (MakeRule) - .Command ‚É‚æ‚Á‚čì‚ç‚ê‚éƒtƒ@ƒCƒ‹‚̃pƒXB‚Ü‚½‚́ACommand ‚ªÅŒã‚Ü‚ÅŠ®—¹‚µ‚½‚çXV‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXB - ‘Š‘΃pƒX‚ðŽw’è‚·‚é‚Æ‚«AŠî€ƒtƒHƒ‹ƒ_‚Í .CurrentDirectoryB - - - Dim MakeRule::Target as string - - - (src) - - ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽw’肵‚½‚Æ‚« iˆÃ–Ùƒ‹[ƒ‹j - MakeRule::Target - MakeRule::Sources(0) - - A.obj - A.c - - “®ì - ( Target : Sources ) ‚ª ( A.obj : A.c ), ( B.obj : B.c ) ‚̃‹[ƒ‹‚ª‚ ‚é‚Æ‚«AMakeRule::Target ‚Æ MakeRule::Sources(0) ‚ɃƒCƒ‹ƒhƒJ[ƒh‚ª‚ ‚é‚©‚Ç‚¤‚©‚É‚æ‚Á‚āA - “®ì‚ª‚ǂ̂悤‚ɈႤ‚©‚ðŽ¦‚µ‚Ü‚·B - A.c - *.obj - ƒGƒ‰[i–¢‘Ήžj - *.c - *.obj - A.obj - *.c - ƒGƒ‰[i–¢‘Ήžj - A.c ‚ªXV‚³‚ꂽ‚çƒRƒ}ƒ“ƒh‚ðŽÀs - A.c ‚ªXV‚³‚ꂽ‚ç A.c ‚ɑ΂·‚éƒRƒ}ƒ“ƒh‚ðŽÀsAB.c ‚ªXV‚³‚ꂽ‚ç B.c ‚ɑ΂·‚éƒRƒ}ƒ“ƒh‚ðŽÀs - - - Function new_Target_txt_Rule() Set o = new MakeRule - o.Sources = Array( "Source\*.txt" ) - o.Target = "Target\*.txt" - Set o.Command = GetRef("Target_txt_Command") - Set new_Target_txt_Rule = o - End Function - Sub Target_txt_Command( Param, Rule ) - copy_ren Rule.Sources(0), Rule.Target - End Sub - - ƒTƒ“ƒvƒ‹ - Source ƒtƒHƒ‹ƒ_[‚É‚ ‚é *.txt ƒtƒ@ƒCƒ‹‚ªXV‚³‚ꂽ‚çATarget ƒtƒHƒ‹ƒ_[‚ɃRƒs[‚·‚é - - - - - - - Sources (MakeRule) - - - Dim MakeRule::Sources as Array of string - - .Command ‚ðŽÀs‚·‚é‚Ì‚É•K—v‚Æ‚È‚éƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñB‚Ü‚½‚́ACommand ‚ð‹N“®‚·‚é‚Æ‚«‚ɍXV‚·‚éƒtƒ@ƒCƒ‹‚̃pƒXB - ‘Š‘΃pƒX‚ð‚µ‚Ä‚¢‚·‚é‚Æ‚«AŠî€ƒtƒHƒ‹ƒ_‚Í .CurrentDirectoryB - - (src) - - - ¨ ƒƒCƒ‹ƒhƒJ[ƒh‚ðŽw’肵‚½‚Æ‚« - - ŽQl - - - - - - - Command (MakeRule) - - - Dim MakeRule::Command as Sub( Delegate as variant, Rule as MakeRule ) - - Target ‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªASources ‚æ‚èV‚µ‚¢‚Æ‚«‚ÉŽÀs‚·‚éŠÖ”BGetRef ‚Å‘ã“ü‚µ‚Ä‚­‚¾‚³‚¢B - Delegate ˆø”‚́AMakeFileClass::Delegate - - (src) - - - - - - - - Variables (MakeRule) - - - Dim MakeRule::Variables as LazyDictionaryClass - - ƒ†[ƒU[’è‹`•Ï”‚ƁAMakeFile ‚ÌŽ©“®•Ï”‚̏W‚Ü‚èB - - LazyDictionaryClass - - - MakeFile ‚ÌŽ©“®•Ï” - - ‚Ü‚½A - ‚É‘Š“–‚·‚鉺‹L‚̕ϐ”‚ª’è‹`‚³‚ê‚Ü‚·B - - MakeRule::Command - - ‚ÉŽw’肵‚½ŠÖ”‚ªƒR[ƒ‹ƒoƒbƒN‚³‚ê‚Ä‚¢‚éŠÔ‚́A - - - $@ - - target iF‚̍¶j - - - a.o : a.c $(CC) -c -o ${Target} ${Sources} - - - - a.o : a.c $(CC) -c -o a.o a.c - - - - - - - - - $< - - source iF‚̉Ej ‚Ì‚P‚Â–Ú - - - $? - - source iF‚̉Ej ‚Ì‘S‘Ì - - - - - - - - a.o : a.c b.h @echo a.c b.h - - - - a.o : a.c b.h @echo ${Sources} - - - - $* - - target ‚ÌŠg’£Žq‚ðœ‚¢‚½‚à‚Ì - - - a.o : a.c $(CC) -c -o ${Target} ${TargetNoExt}.c - - - - - - - - - a.o : a.c $(CC) -c -o a.o a.c - - - - a.o : a.c b.h @echo a.c - - - - - - - - - a.o : a.c b.h @echo ${Sources[0]} - - - - ${Target} - - ‰º‹L‚Ì–}—áF - - - Variables ‚É‚ ‚é•Ï”–¼ - - - - MakeFile ‚ÌŽ©“®•Ï”–¼ - - - - ${Sources} - - - - ${Sources[0]} - - - - ${TargetNoExt} - - ŽQÆ‚Ü‚½‚͕ύX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - MakeFileClass::Variable - - ‚Æ“¯‚¶ƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ä‚¨‚èA‚»‚±‚ɐݒ肵‚½•Ï”‚ð - - MakeRule::Target - - ‚Æ“¯‚¶’l‚Å‚·B - ‚ð - - MakeRule::Sources”z—ñ - - ‚É“n‚µ‚½o—Í‚Å‚·B - ‚Ì‚P‚–ڂ̗v‘f‚Æ“¯‚¶’l‚Å‚·B - - MakeRule::Sources ”z—ñ - - ‚ÌŠg’£Žq‚ðœ‚¢‚½‚à‚Ì‚Å‚·B - - MakeRule::Target - - ‘Š‘΃pƒX‚̃tƒHƒ‹ƒ_[•”•ª‚àŠÜ‚Ý‚Ü‚·B - ‘Š‘΃pƒX‚̃tƒHƒ‹ƒ_[•”•ª‚àŠÜ‚Ý‚Ü‚·B - ‘Š‘΃pƒX‚̃tƒHƒ‹ƒ_[•”•ª‚àŠÜ‚Ý‚Ü‚·B - ‘Š‘΃pƒX‚̃tƒHƒ‹ƒ_[•”•ª‚àŠÜ‚Ý‚Ü‚·B - - CmdLineFromStr - - ‚½‚¾‚µA\ ‚Í \\ ‚É•ÏŠ·‚³‚ê‚Ü‚¹‚ñB - - - - - - - CurrentDirectory (MakeRule) - - - Dim MakeRule::CurrentDirectory as string - - MakeRule ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_B - - (src) - - MakeRule::Target ‚â MakeRule::Sources ‚ÉŠi”[‚³‚ê‚Ä‚¢‚é‘Š‘΃pƒX‚̊ƒpƒXBMakeRule::Command ‚̊֐”‚ªŒÄ‚΂ê‚é’¼‘O‚ŁAƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_‚ª‚±‚Ì’l‚É‚È‚è‚Ü‚·B - - - - - - - Delegate (MakeRule) - - - Dim MakeRule::Delegate as variant - - ˆÏ÷æ‚ƂȂ郆[ƒU[’è‹`ƒIƒuƒWƒFƒNƒgB - - (src) - - MakeRule ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚𐶐¬‚·‚é‚Æ‚«‚Ƀ†[ƒU[’è‹`ƒIƒuƒWƒFƒNƒg‚ð Delegate ‚ÉŠi”[‚µ‚Ä‚¨‚­‚ƁAMakeRule::Command ‚ŌĂ΂ê‚éŠÖ”‚Ì’†‚ŁA‘æ2ˆø”‚Å‚ ‚é MakeRule ƒIƒuƒWƒFƒNƒg‚Ì - Delegate ‚©‚烆[ƒU[’è‹`ƒIƒuƒWƒFƒNƒg‚ðAŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - - Function new_Target_txt_Rule() Set new_Target_txt_Rule = new MakeRule : With new_Target_txt_Rule - .Sources = Array( "Source1.txt", "Source2.txt" ) - .Target = "Target.txt" - .Delegate = "ABC" - Set .Command = GetRef("Target_txt_Command") - End With - End Function - Sub Target_txt_Command( a_MakeFile, a_MakeRule ) - echo a_MakeRule.Delegate - End Sub - - Delegate - Delegate - - - - - - - Type_ (MakeRule) - - - Dim MakeRule::Type_ as integer - - ƒƒCƒNƒ‹[ƒ‹‚ÌŽí—ށB - - (src) - - Empty - c.Splitter - •’ʂ̃ƒCƒNƒ‹[ƒ‹ - ƒ^[ƒQƒbƒg‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚Å‚àAƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚È‚¢ƒƒCƒNƒ‹[ƒ‹ - c ‚́AMakeRule::c ‚ÅŽQÆ‚Å‚«‚é MakeFileClassConst ƒIƒuƒWƒFƒNƒg‚Å‚·B - - ¨ ƒI[ƒ_[’²®—pXV•ª—£ƒpƒX - - ŽQl - - - - - - - Priority (MakeRule) - - - Dim MakeRule::Priority as integer - - —Dæ“xB ‘å‚«‚¢‚Ù‚Ç—Dæ‚·‚éB - - (src) - - “¯‚¶ MakeRule::Target ‚Ì’l‚ðŽ‚Â MakeRule ‚ª•¡”‚ ‚é‚Æ‚«‚́A‚»‚Ì•¡”‚Ì’†‚ŁAMakeRule::Priority ‚ªÅ‚à‘å‚«‚¢ MakeRule::Command ‚̊֐”‚¾‚¯‚ªŒÄ‚΂ê‚Ü‚·B - - - - - - - NewestSource (MakeRule) - - - Property Get MakeRule::NewestSource() as string - - Å‚àƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªV‚µ‚¢ MakeRule::Sources ”z—ñ‚Ì—v‘fBƒtƒ@ƒCƒ‹ƒpƒXB - - (src) - - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð”äŠr‚·‚éƒ^ƒCƒ~ƒ“ƒO‚́A‚±‚Ì NewestSource ƒvƒƒpƒeƒB‚ðŽQÆ‚µ‚½‚Æ‚«‚Å‚·B - - - - - - - AllNewSource (MakeRule) - - - Property Get MakeRule::AllNewSource() as Array of string - - - (src) - - MakeRule::Sources ‚Ì’†‚ŁAƒ^[ƒQƒbƒg‚æ‚èƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ªV‚µ‚¢ƒtƒ@ƒCƒ‹ƒpƒX‚Ì”z—ñB - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð”äŠr‚·‚éƒ^ƒCƒ~ƒ“ƒO‚́A‚±‚Ì AllNewSource ƒvƒƒpƒeƒB‚ðŽQÆ‚µ‚½‚Æ‚«‚Å‚·B - - - - - - - MakeRule_compare - - (src) - - - - Function MakeRule_compare( TargetPath, SourcePath ) as boolean - - ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð”äŠr‚µ‚āAƒƒCƒNEƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚éó‹µ‚©‚Ç‚¤‚©‚ð•Ô‚·B - yˆø”z - TargetPath - SourcePath - ƒ^[ƒQƒbƒgEƒtƒ@ƒCƒ‹‚̃pƒXB ƒƒCƒNƒ‹[ƒ‹‚Ì F ‚æ‚荶‘¤ - ƒ\[ƒXEƒtƒ@ƒCƒ‹‚̃pƒXB ƒƒCƒNƒ‹[ƒ‹‚Ì F ‚æ‚è‰E‘¤ - •Ô‚è’l - ƒƒCƒNEƒRƒ}ƒ“ƒh‚ðŽÀs‚·‚éó‹µ‚©‚Ç‚¤‚© - ŠÖ˜A - - ¨ File::DateLastModified - - - ¨ FileSystemObject::FileExists - - - ¨ DateAddStr - - ƒTƒ“ƒvƒ‹ - - - If MakeRule_compare( "dst.txt", "src.txt" ) Then copy_ren "src.txt", "dst.txt" - End If - - - ¨ ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃eƒXƒg‚Ì’ˆÓ - - ŽQl - - - - - - - MakeFileClassConst - .Splitter (=1) - .OutDebugXML (=1) - .BreakBeforeCommand (=2) - .Watch (=4) - Žæ“¾ - get_MakeFileClassConst ŠÖ”AMakeFileClass::cAMakeRule::c - ƒƒ“ƒo[ - - ¨ Type_ (MakeRule) - - - ¨ DebugMode (MakeFileClass) - - - ƒƒCƒNƒtƒ@ƒCƒ‹‚ÉŠÖ‚·‚é’萔 - - - - - - - ƒf[ƒ^\‘¢ (MakeFileClass) - MakeFileClass - .RuleGroups - dictionary< target_path, MakeRuleGroup > - .Rules - ArrayClass< MakeRuleSpec > - .UserFiles - ArrayClass< MakeRuleSpec > - - (src) - - - (src) - - - (src) - - .Rule - MakeRule - - (src) - - string - .Target - .Sources - array< string > - // Ž«‘‚̃L[ATarget ‚Æ Sources ‚Ì—¼•û - .TargetPath - string - - - - - - - ŽqƒvƒƒZƒX‚ւ̎󂯓n‚µ (/ChildProcess ƒIƒvƒVƒ‡ƒ“) - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“Eƒpƒ‰ƒ[ƒ^[ - - ‚ɁA/ChildProcess ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯AXML ƒtƒ@ƒCƒ‹‚É‚æ‚éƒf[ƒ^ - ƒƒCƒ“EƒvƒƒZƒX‚©‚çA”CˆÓ‚̃f[ƒ^i—áF - j‚ð“n‚µAŽqƒvƒƒZƒX‚ªI—¹‚µ‚½‚ç - - Err2::ErrID - - ƒƒCƒ“EƒvƒƒZƒX‚ɍXV‚³‚ꂽ ƒf[ƒ^‚ð•Ô‚·A‚Æ‚¢‚Á‚½‚悤‚È‚±‚Æ‚ª‚Å‚«‚Ü‚·B ‚±‚̂悤‚ȃf[ƒ^‚̎󂯓n‚µ‚ª‚Å‚«‚é‚悤‚É‚·‚é‚Ì‚ªA/ChildProcess ƒIƒvƒVƒ‡ƒ“‚É‚æ‚éŽqƒvƒƒZƒX - ‚Ì‹@”\‚Å‚·B OS ‚ª’è‹`‚µ‚Ä‚¢‚éŽqƒvƒƒZƒX‚Ƃ͈قȂè‚Ü‚·B - - - cscript sample.vbs /ChildProcess:090401,1 - - /ChildProcess ‚̉E‚Ì’l‚́Aƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_‚É‚Å‚«‚éƒtƒHƒ‹ƒ_–¼‚̐”’l‚Ì•”•ª‚Å‚·Bƒeƒ“ƒ|ƒ‰ƒŠEƒtƒ@ƒCƒ‹–¼‚́A‰º‹L‚Ì‚Æ‚¨‚è‚Å‚·B %Temp% ‚́AC:\Document ` ‚É•Ï‚í‚è‚Ü‚·B - - ¨ ŽqƒvƒƒZƒX‘¤‚ªŽg‚¤ ChildProcess ƒIƒuƒWƒFƒNƒgAget_ChildProcess - - - ¨ ƒƒCƒ“EƒvƒƒZƒX‘¤‚ªŽg‚¤ ParentProcess ƒIƒuƒWƒFƒNƒgAnew_ParentProcess - - - ¨ ˆ—ƒtƒ[ - - %Temp%\Report\090401\ChildProcess_1\In.xml - %Temp%\Report\090401\ChildProcess_1\Out.xml - - ¨ ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_ - - ŽQl - vbslib ‚Ì RunProg ŠÖ”‚ŁAvbs ƒtƒ@ƒCƒ‹‚ð‹N“®‚·‚é‚ƁAŽ©“®“I‚É VBScript ‚ð‹N“®‚·‚é‚Æ‚«‚Ì - - - ƒƒCƒ“EƒvƒƒZƒX vbslib (WSH) - - - - - - - - ŽqƒvƒƒZƒX vbslib (WSH) - - ‚Ì‘—ŽóM‚ª‚Å‚«‚é‚悤‚É‚È‚Á‚Ä‚¢‚Ü‚·B Shell::Run ‚È‚Ç‚Å‹N“®‚·‚é‚ƁA/ChildProcess ƒIƒvƒVƒ‡ƒ“‚ªŽ©“®“I‚É•t‚©‚È‚¢‚̂ŁA–¾Ž¦“I‚ÉŽw’肵‚È‚¢ŒÀ‚è‘—ŽóM‚Å‚«‚Ü‚¹‚ñB - - ¨ ƒeƒXƒgî•ñ I/F - - - ¨ T_ChildProcess1.vbs - - ƒeƒXƒg - - (src) - - - - - - - XMLƒtƒ@ƒCƒ‹ - XMLƒtƒ@ƒCƒ‹ - vbslib ‚ł́AƒGƒ‰[ˆ—‚âƒfƒoƒbƒO—p‚É Err2 ƒIƒuƒWƒFƒNƒg‚Ì‘—ŽóM‚ðŽ©“®“I‚É•K‚¸s‚¢‚Ü‚·B - - ¨ [T_ChildProcess] - - - ¨ InterProcessData ƒCƒ“ƒ^[ƒtƒF[ƒXiƒ‰ƒCƒuƒ‰ƒŠ—pj - - - ¨ ¢‚Á‚½‚Æ‚«‚Í (/ChildProcess) - - Ž©“®“I‚É /ChildProcess ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯‚È‚¢‚悤‚É‚·‚é‚ɂ́A/ChildProcess:0 ‚𖾎¦“I‚ÉŽw’肵‚Ü‚·B - - - r= RunProg( "cscript sample.vbs /ChildProcess:0", "" ) - - VBScript ‚ŃGƒ‰[‚𔭐¶‚³‚¹‚éƒeƒXƒg‚ð‚·‚é‚Æ‚«‚ɁA/ChildProcess ƒIƒvƒVƒ‡ƒ“‚ª•t‚­‚ƁAErr2::ErrID iƒGƒ‰[‚ª”­¶‚µ‚½”ԍ†j ‚È‚Ç‚Ì’l‚ªƒƒCƒ“EƒvƒƒZƒX‚©‚çŒp³‚³‚ꂽ’l‚Æ‚È‚èA - Err2::ErrID ‚Ì’l‚ª³‚µ‚¢‚©‚Ç‚¤‚©‚̃`ƒFƒbƒN‚ª‚Å‚«‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B ‚»‚ê‚ð‰ñ”ð‚·‚é‚ɂ́A - ƒGƒ‰[‚𔭐¶‚³‚¹‚éƒeƒXƒgEƒXƒNƒŠƒvƒg‚ł́A/ChildProcess:0 ƒIƒvƒVƒ‡ƒ“‚ð•t‚¯‚Ä‚­‚¾‚³‚¢Bi‰º‹Lj - /ChildProcess ƒIƒvƒVƒ‡ƒ“‚ªiŽ©“®“I‚É‚Å‚àj•t‚­‚ƁAƒGƒ‰[ƒŒƒxƒ‹iƒvƒƒZƒX‚Ì•Ô‚è’lj‚Ì’l‚ª 21‚Å‚È‚¢‚ƃGƒ‰[‚Æ‚Ý‚È‚µAƒƒCƒ“EƒvƒƒZƒX‘¤‚Å‚àƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - - ¨ ³íI—¹Žž‚Ì“®ì - - ŽQl - - - cscript sample.vbs - - ¨ - ŠÖ˜A - - ¨ TempParams.txt - CŒ¾Œê‚̃vƒƒOƒ‰ƒ€‚Ƀf[ƒ^‚ð“n‚· - - - - - - - - ƒƒCƒ“EƒvƒƒZƒX‘¤‚ªŽg‚¤ ParentProcess ƒIƒuƒWƒFƒNƒgAnew_ParentProcess - ParentProcess ƒIƒuƒWƒFƒNƒg‚̃ƒ“ƒo[ - - - Class ParentChildProcess Public m_OutFile 'as TextStream (Write) ... ŽqƒvƒƒZƒX‚Ö“n‚· XML ƒtƒ@ƒCƒ‹ - Public m_InXML 'as IXMLDOMElement ... ƒƒCƒ“EƒvƒƒZƒX‚É–ß‚³‚ê‚é ƒ‹[ƒgXML—v‘f - - Public m_TempPath ' as string. ‘—ŽóMƒtƒ@ƒCƒ‹‚ª‚Å‚«‚éƒtƒHƒ‹ƒ_‚̃pƒX - Public m_DateID ' as string. —áF"090401". /ChildProcess ƒIƒvƒVƒ‡ƒ“‚É“n‚·’l - Public m_FileID ' as string. —áF"1". /ChildProcess ƒIƒvƒVƒ‡ƒ“‚É“n‚·’l - End Class - - - - sample.Name = "A" : sample.Value = 1 - '// ŽqƒvƒƒZƒX‹N“®‘O‚ɁA‘—‚éƒIƒuƒWƒFƒNƒg‚ðXMLƒtƒ@ƒCƒ‹‚É•ÏŠ·‚·‚é - Dim pr : new_ParentProcess_Object pr, Empty '//[out] pr as ParentChildProcess - pr.m_OutFile.WriteLine sample.xml - - - '// ŽqƒvƒƒZƒX‚ð‹N“®‚·‚é - Dim r : r= RunProg( "cscript.exe T_ChildProcess1_Sub.vbs", pr ) - CheckTestErrLevel r - - - '// ŽqƒvƒƒZƒXI—¹Œã‚ɁA–ß‚³‚ꂽXMLƒtƒ@ƒCƒ‹‚ðƒIƒuƒWƒFƒNƒg‚É–ß‚· - sample.loadXML pr.m_InXML.selectSingleNode( _ - TypeName( sample ) +"[@name='"+ sample.Name +"']" ) - - Žg—pƒTƒ“ƒvƒ‹F - ŽqƒvƒƒZƒX‚ɁAƒf[ƒ^‚ðŽó‚¯“n‚µ‚·‚é‚Æ‚«‚́Anew_ParentProcess_Object ‚Ő¶¬‚µ‚½ParentProcess ƒIƒuƒWƒFƒNƒg‚ð RunProg ‚É“n‚µ‚Ü‚·B - new_ParentProcess ‚Ő¶¬‚µ‚½ ParentProcess ƒIƒuƒWƒFƒNƒg‚ɂ́A‘¼‚ÌŽqƒvƒƒZƒX‚Ǝ󂯓n‚µ‚·‚éƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ªd•¡‚µ‚È‚¢”ԍ†‚ª m_FileID ‚É“ü‚Á‚Ä‚¢‚Ü‚·B •¡”‚ÌŽqƒvƒƒZƒX‚ð - •½s‚µ‚Ä“¯Žž‚É“®‚©‚·‚Æ‚«‚́AParentProcess ƒIƒuƒWƒFƒNƒg‚ð‚à‚¤‚P‚¶¬‚µ‚Ä‚­‚¾‚³‚¢B - ‘O‚ÌŽqƒvƒƒZƒX‚ªI‚í‚Á‚Ä‚©‚玟‚ÌŽqƒvƒƒZƒX‚ð“®‚©‚·‚Æ‚«‚́A“¯‚¶ ParentProcess - ƒIƒuƒWƒFƒNƒg‚ªŽg‚¦‚Ü‚·B - - (src) - - pr - - xml - - - - - - - - ŽqƒvƒƒZƒX‘¤‚ªŽg‚¤ ChildProcess ƒIƒuƒWƒFƒNƒgAget_ChildProcess - vbs_inc ƒ‚ƒWƒ…[ƒ‹‚́Avbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ÉŽ©“®“I‚É /ChildProcess ƒIƒvƒVƒ‡ƒ“‚ª‚ ‚é‚©‚Ç‚¤‚©‚𔻒肵A‚ ‚ê‚Î ChildProcess ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B ChildProcess ƒIƒuƒWƒFƒNƒg‚́Aget_ChildProcess - - - Dim pr, sample - '// ƒvƒƒOƒ‰ƒ€ŠJŽnŽž‚ɁA‘—‚ç‚ê‚Ä‚«‚½XMLƒtƒ@ƒCƒ‹‚ðƒIƒuƒWƒFƒNƒg‚É–ß‚· - Set pr = get_ChildProcess() ' as ParentChildProcess - new_ObjectFromStream sample, "SampleClass", pr - - - '// main - If not IsEmpty( sample ) Then - sample.Value = 2 - End If - - - '// ƒvƒƒOƒ‰ƒ€I—¹Žž‚ɁA–ß‚·ƒIƒuƒWƒFƒNƒg‚ðXMLƒtƒ@ƒCƒ‹‚É•ÏŠ·‚·‚é - If not pr is Nothing Then - If not IsEmpty( sample ) Then pr.m_OutFile.WriteLine sample.xml - End If - - - Ã“IƒIƒuƒWƒFƒNƒg - - ‚Å‚ ‚èAƒƒCƒ“ƒvƒƒZƒX‚©‚ç‚̏î•ñ‚ð m_InXML ‚©‚ç“ü—Í‚µA - ŠÖ”‚Ŏ擾‚Å‚«‚é - ChildProcess ƒIƒuƒWƒFƒNƒg‚̃ƒ“ƒo[ - Žg—pƒTƒ“ƒvƒ‹F - - - Class ParentChildProcess Public m_InXML 'as IXMLDOMElement ... ƒƒCƒ“EƒvƒƒZƒX‚©‚ç“n‚³‚ê‚é ƒ‹[ƒgXML—v‘f - Public m_OutFile 'as TextStream (Write) ... ƒƒCƒ“EƒvƒƒZƒX‚Ö–ß‚· XML ƒtƒ@ƒCƒ‹ - - Public m_TempPath ' as string. ‘—ŽóMƒtƒ@ƒCƒ‹‚ª‚Å‚«‚éƒtƒHƒ‹ƒ_‚̃pƒX - Public m_DateID ' as string. —áF"090401". ƒtƒ@ƒCƒ‹–¼‚̈ꕔ - Public m_FileID ' as string. —áF"1". ƒtƒ@ƒCƒ‹–¼‚̈ꕔ - End Class - - ƒƒCƒ“ƒvƒƒZƒX‚Ö–ß‚·î•ñ‚ðAm_OutFile ‚ɏo—Í‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - /ChildProcess ƒIƒvƒVƒ‡ƒ“‚ª‚È‚¢‚Æ‚«‚́Aget_ChildProcess ŠÖ”‚ªANothing ƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - ŽQl - - ¨ xml ƒvƒƒpƒeƒB - - - ¨ XPath - - - (src) - - - xml - - - - - - - - InterProcessData ƒCƒ“ƒ^[ƒtƒF[ƒXiƒ‰ƒCƒuƒ‰ƒŠ—pj - - - Class InterProcessData '// defined_as_interface Public Sub OnCallInParent( a_ParentProcess as ParentChildProcess ) : End Sub - Public Sub loadXML( XmlObject as IXMLDOMElement ) : End Sub - Public Sub OnReturnInChild( a_ChildProcess as ParentChildProcess ) : End Sub - Public Sub OnReturnInParent( a_ParentProcess as ParentChildProcess ) : End Sub - End Class - - Function new_InterProcessData() - Set new_InterProcessData = new InterProcessData - End Function - - - ¨ T_ChildProcess2_include.vbs - - ƒeƒXƒg - ƒ‰ƒCƒuƒ‰ƒŠ‚ªŽ©“®“I‚ÉŽqƒvƒƒZƒX‚Ɏ󂯓n‚µ‚ð‚·‚éƒIƒuƒWƒFƒNƒg‚É•K—v‚ȃCƒ“ƒ^[ƒtƒF[ƒX‚Å‚·B - - - Dim g_Sample - Sub InitializeModule_Sample '// vbslib ƒ‚ƒWƒ…[ƒ‹‚̃Oƒ[ƒoƒ‹E‰Šú‰»ŠÖ” - '// NewChildProcessOnStart ‚ÌŒã‚Å - new_ObjectFromStream g_Sample, "SampleClass", get_ChildProcess() - If not IsEmpty( g_Sample ) Then g_InterProcess.m_Data.Add g_Sample - End Sub - - - ¨ ƒOƒ[ƒoƒ‹•Ï”‚̏‰Šú‰»AŒãŽn––Ag_InitializeModuleAg_FinalizeModule - - - ¨ T_ChildProcess2.vbs - - ŽQl - ŽQl - - ¨ T_ChildProcess2_Sub.vbs - - - - '// ŽqƒvƒƒZƒX‚Æ‘—ŽóM‚·‚éƒIƒuƒWƒFƒNƒg‚ð“o˜^‚·‚é Dim sample : Set sample = new SampleClass '// has_interface_of InterProcessData - g_InterProcess.m_Data.Add sample - - ŽqƒvƒƒZƒX‚É“n‚·ƒIƒuƒWƒFƒNƒg‚́Ag_InterProcess.m_Data as ArrayClass ‚É“o˜^‚µ‚Ä‚­‚¾‚³‚¢B - ŽqƒvƒƒZƒX‚̃‰ƒCƒuƒ‰ƒŠ‚̏‰Šú‰»ivbslib ƒ‚ƒWƒ…[ƒ‹‚̃Oƒ[ƒoƒ‹E‰Šú‰»ŠÖ”j‚ŁAget_ChildProcess as ParentChildProcess ‚©‚çAnew_ObjectFromStream ‚È‚Ç‚ðŽg‚Á‚āA - ƒIƒuƒWƒFƒNƒg‚ðŽó‚¯Žæ‚Á‚Ä‚­‚¾‚³‚¢B ƒƒCƒ“EƒvƒƒZƒX‚É“n‚·ƒIƒuƒWƒFƒNƒg‚́A - g_InterProcess.m_Data as ArrayClass ‚É“o˜^‚µ‚Ä‚­‚¾‚³‚¢B - ŽQl - - ¨ T_ChildProcess2.vbs - - - - - - - - ƒ‰ƒCƒuƒ‰ƒŠ‚̃f[ƒ^‚ðŠi”[ŒãAg_InterProcess ‚̃f[ƒ^‚ðŠi”[’¼‘O‚ɁA{‚P‚³‚ê‚Ü‚·B - g_InterProcess ƒIƒuƒWƒFƒNƒg - - (src) - - - - Dim g_InterProcess ' as InterProcess - Class InterProcess - Public Property Get ProcessCallID '// as ArrayClass of integer - Public InterProcessUserData '// as string - End Class - - ƒƒCƒ“EƒvƒƒZƒX‚ÆŽqƒvƒƒZƒX‚Å‹¤—L‚·‚é•Ï”‚Å‚·B - .ProcessCallID ' as ArrayClass of integer - ProcessCallID(0) = ƒƒCƒ“EƒvƒƒZƒX‚ªŽqƒvƒƒZƒX‚ð‹N“®‚µ‚½‰ñ”BProcessCallID(1) = ŽqƒvƒƒZƒX‚ª‘·ƒvƒƒZƒX‚ð‹N“®‚µ‚½‰ñ”B - - ¨ ˆ—ƒtƒ[ (/ChildProcess ƒIƒvƒVƒ‡ƒ“) - - .InterProcessUserData as string - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“Eƒ†[ƒU[‚ªƒfƒoƒbƒO—p‚ÉŽg‚¦‚Ü‚· - - ¨ [T_ChildProcessID] ProcessCallID ‚â InterProcessUserData - - ƒeƒXƒg - - - - - - - - ˆ—ƒtƒ[ (/ChildProcess ƒIƒvƒVƒ‡ƒ“) - RunProg - new_ParentProcess - ParentProcess.m_OutFile.WriteLine - AppData.loadXML - Shell::Exec - new_ChildProcess_ifChildProcess - (VBScript global code) - - ¨ ˆ—ƒtƒ[ ivbs_inc/settingj - - main - get_ChildProcess - new_ObjectFromStream - ChildProcess.m_OutFile.WriteLine - :ŽqƒvƒƒZƒX‚̃ƒCƒ“ˆ— - : - ParentProcess.m_OutFile.WriteLine - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚ç‚̏o—Í - ƒ‰ƒCƒuƒ‰ƒŠ‚©‚ç‚̏o—Í - ƒ‰ƒCƒuƒ‰ƒŠ‚Ö‚Ì“ü—Í - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ö‚Ì“ü—Í - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚ç‚̏o—Í - ResumePop or FinalizeInModulesCaller::Class_Terminate - CallFinalizeInModules - ChildProcess.Finish - ChildProcess.m_OutFile.WriteLine - ƒ‰ƒCƒuƒ‰ƒŠ‚©‚ç‚̏o—Í - - ƒ‰ƒCƒuƒ‰ƒŠ‚Ö‚Ì“ü—Í - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ö‚Ì“ü—Í - - - - - - - - - - - - - ŽQl - - - - - - - - - - - - - If TypeName( ParentProcess ) <> "ParentChildProcess" Then new_ParentProcess - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚â‚èŽæ‚è‚·‚é‚Æ‚«‚̂݌Ăяo‚· - ParentProcess.OnCallInParent - ParentProcess.OnReturnInParent - ParentProcess.Class_Terminate - Žó‚¯“n‚µ‚ÉŽg‚Á‚½ XML ƒtƒ@ƒCƒ‹‚ðíœ‚·‚é - ŽqƒvƒƒZƒX‹N“® - ŽqƒvƒƒZƒXI—¹ - In.xml - Out.xml - - (src) - - - (src) - - - (src) - - - (src) - - InterProcessData.OnReturnInChild - InterProcessData.OnCallInParent - InterProcessData.OnReturnInParent - g_InterProcess.OnCallInParent - - (src) - - InterProcessData.ProcessCallID + 1 - ProcessCallID ‚ð{‚P‚·‚é - InterProcess.OnCallInSub - Set g_ChildProcess = m - InitializeModule (vbslib.vbs) - new_ObjectFromStream - InitializeModule (vbslib ‚Ü‚½‚Í ”CˆÓ‚Ì.vbs) - ParentProcess.m_OutFile.WriteLine - g_InterProcess‚©‚ç‚̏o—Í - - - - - - - g_InterProcess‚Ö‚Ì“ü—Í - AppData, ChildProcess - InterProcess.OnReturnInChild - ChildProcess.m_OutFile.WriteLine - - (src) - - g_InterProcess‚©‚ç‚̏o—Í - - - InterProcess.OnReturnInParent - new_ObjectFromStream - InterProcess.loadXML - g_InterProcess‚Ö‚Ì“ü—Í - - - - - AppData.xml - ParentProcess - - (src) - - main - Set g_InterProcess = new InterProcess - InitializeModule (vbslib.vbs) - ƒƒCƒ“EƒvƒƒZƒX‹N“® - g_InterProcess.InterProcessDataArray.Add - InitializeModule (vbslib.vbs ‚Ü‚½‚Í ”CˆÓ‚Ì.vbs) - LibData - ƒvƒƒZƒX‚ª•Ï‚í‚é‚Æ‚«‚ɃR[ƒ‹ƒoƒbƒN‚·‚é‚悤‚É“o˜^‚·‚é - LibData - If WScript.Arguments.Named.Item("ChildProcess") Then - ƒvƒƒZƒX‚ª•Ï‚í‚é‚Æ‚«‚ɃR[ƒ‹ƒoƒbƒN‚·‚é‚悤‚É“o˜^‚·‚é - LibData - g_InterProcess.m_Data.Add - AppData - - (src) - - Set m_InXML = LoadXML( "Out.xml" ) - Set m_InXML = LoadXML( "In.xml" ) - - (src) - - FinalizeModule [vbslib.vbs] - Err2.OnSuccessFinish - ƒGƒ‰[ŠÖŒW‚Ì’²® - Err2 ‚Í‚±‚± - - - - - - - - ¢‚Á‚½‚Æ‚«‚Í (/ChildProcess) - Žó‚¯“n‚µ‚Ì“à—e‚ðŠm”F‚·‚é‚É‚Í - %Temp%\Report\090401\ChildProcess_1\In.xml - %Temp%\Report\090401\ChildProcess_1\Out.xml - ‰º‹L‚Ì XML ƒtƒ@ƒCƒ‹‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B‚½‚¾‚µAParentProcess ƒIƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽ‚çAXML ƒtƒ@ƒCƒ‹‚àíœ‚³‚ê‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ ŽqƒvƒƒZƒX‚ւ̎󂯓n‚µ (/ChildProcess ƒIƒvƒVƒ‡ƒ“) - - ŽQl - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çƒf[ƒ^‚ª‘—‚ê‚È‚¢ - RunProg ‚Ì‘æ2ˆø”‚ɁAParentProcess ƒIƒuƒWƒFƒNƒg‚ðŽw’肵‚Ä‚¢‚é‚©Šm”F‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - GetCScriptGUI_CommandLine - - - Function GetCScriptGUI_CommandLine( Parameters as string ) as string - - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ɁAvbslib ‚̃Rƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚ðŠJ‚­ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Parameters - cscript.exe ‚É“n‚·ƒpƒ‰ƒ[ƒ^[ - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - command_line = GetCScriptGUI_CommandLine( "sample.vbs" )Assert command_line = _ - """%windir%\System32\cmd.exe"" /K (""%windir%\SysWOW64\cscript.exe"" sample.vbs)" - - Windows ‚̃o[ƒWƒ‡ƒ“‚É‚æ‚Á‚āA•Ô‚è’l‚Ì“à—e‚Í•Ï‚í‚è‚Ü‚·B - - (src) - - ŠÂ‹«•Ï”‚ð“WŠJ‚·‚é‚Æ‚«‚́A - - ¨ env - - - - - - - - GetEditorCmdLine - - - Function GetEditorCmdLine( PathAndFragment as string ) as string - - - Setting_getEditorCmdLine - - yˆø”z - PathAndFragment - •Ô‚è’l - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ւ̃pƒX‚ƍs”ԍ†‚Ü‚½‚̓L[ƒ[ƒh - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - ƒTƒ“ƒvƒ‹F - - - start GetEditorCmdLine( "File1.txt#[Func1]" ) - - File1.txt ‚ðŠJ‚¢‚Ä "[Func1]" ‚ðŠÜ‚ލs‚ɃWƒƒƒ“ƒv‚µ‚Ü‚· - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŠJ‚­ƒGƒfƒBƒ^‚́A - ŠÖ”‚ð’è‹`‚·‚邱‚ƂŕύX‚Å‚« - ‚Ü‚·B Setting_getEditorCmdLine ‚Ì i=2Ai=3 ‚Ì‚Ç‚¿‚ç‚©‚ɑΉž‚·‚ê‚΁AŽw’è‚̍s‚ÖƒWƒƒƒ“ƒv‚Å‚«‚Ü‚·B i=0Ai=1 ‚Ì‚Ç‚¿‚ç‚©‚ɑΉž‚µ‚Ä‚¢‚ê‚΁Aƒtƒ@ƒCƒ‹‚ðŠJ‚­‚±‚Æ‚¾‚¯‚Í‚Å‚«‚Ü‚·B - ŠÖ˜A - GetSearchOpenCmdLine - GetSearchOpenCmdLine ‚Í”pŽ~—\’è‚Å‚·B GetEditorCmdLine ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹F - - - start GetEditorCmdLine( "File1.txt(10)" ) - - ƒTƒ“ƒvƒ‹F - - - start GetEditorCmdLine( "File1.txt" ) - - File1.txt ‚ðŠJ‚«‚Ü‚· - File1.txt ‚Ì10s–Ú‚ðŠJ‚«‚Ü‚· - ‚̐ݒ肪”½‰f‚³‚ê‚Ü‚·B - ƒeƒLƒXƒgEƒGƒfƒBƒ^[‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - - Setting_getEditorCmdLine - - - - start GetEditorCmdLine( "File1.txt:10" ) - - - - start GetEditorCmdLine( "File1.txt:[Func1]" ) - - - - Function GetSearchOpenCmdLine( PathAndFragment as string ) as string - - ŽQl - - ¨ ƒ^ƒOƒWƒƒƒ“ƒv - ƒeƒLƒXƒgƒGƒfƒBƒ^ Apsaly (Web) - - PathAndFragment ‚ɂ́Aƒ^ƒOƒWƒƒƒ“ƒvŒ`Ž®‚Ì•¶Žš—ñiƒpƒX{s”ԍ†A‚Ü‚½‚́AƒpƒX{s“à—ej‚ðŽw’è‚Å‚«‚Ü‚·B Œ`Ž®‚ɂ‚¢‚Ă͉º‹L‚̃Tƒ“ƒvƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ GetTagJumpParams - - ƒL[ƒ[ƒh‚Ì’¼‘O‚Ì•¶Žš‚ªƒRƒƒ“ ( : ) ‚Ì‚Æ‚«‚́A”Žš‚݂̂̃L[ƒ[ƒh‚ðŽw’è‚Å‚«‚Ü‚¹‚ñB - •Ô‚è’l‚ÉŠÜ‚Ü‚ê‚éƒtƒ@ƒCƒ‹EƒpƒX‚́Aƒtƒ‹EƒpƒX‚É‚È‚è‚Ü‚·B - i”pŽ~—\’èj - - ¨ Setting_openFolder - - ƒ^ƒOƒWƒƒƒ“ƒvŒ`Ž®‚̃pƒX‚̉ðÍ - ƒtƒHƒ‹ƒ_[‚ðŠJ‚­ - i”pŽ~—\’èj - ƒ\[ƒX - - ¨ T_Path.vbs - - ƒeƒXƒg - T_GetEditorCmdLine - - ¨ vbslib.vbs - - File1.txt ‚ðŠJ‚¢‚Ä "Func1" ‚ðs––‚Ɋ܂ލs‚ɃWƒƒƒ“ƒv‚µ‚Ü‚· - ƒTƒ“ƒvƒ‹F - - - start GetEditorCmdLine( "File1.txt#Func1${\n}" ) - - ƒTƒ“ƒvƒ‹F - File1.txt ‚ðŠJ‚¢‚Ä "Func1" ‚ð‚Q”ԖڂɊ܂ލs‚ɃWƒƒƒ“ƒv‚µ‚Ü‚· - - - start GetEditorCmdLine( "File1.txt#Func1${+2}" ) - - \n ‚́ACŒ¾Œê‚̉üs‚Ì•\Œ»‚Æ“¯‚¶‚Å‚·B - ${ } ‚́A - ‚Ì•\Œ»‚Æ“¯‚¶‚Å‚·B - - ${ } •Ï” - - - - - - - - GetDiffCmdLine, GetDiffCmdLine3 - - - Function GetDiffCmdLine( PathA as string, PathB as string ) as string - - - (src) - - Diff ƒc[ƒ‹i”äŠr‚·‚éƒvƒƒOƒ‰ƒ€j‚ð‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - - Setting_getDiffCmdLine - - ‚̐ݒè‚É‚æ‚Á‚Ä•Ï‚í‚è‚Ü‚·B - - - start GetDiffCmdLine( "file1.txt", "file2.txt" ) - - •Ô‚è’l‚Ì—áF - - - "C:\Program Files\Diff.exe" "C:\FileA.txt" "C:\FileB.txt" - - - - Function GetDiffCmdLine3( PathA as string, PathB as string, PathC as string ) as string - - - - start GetDiffCmdLine( "file1.txt(5)", "file2.txt" ) - - file1.txt ‚Ì 5s–ڂƁA‚»‚ê‚ɑΉž‚·‚é file2.txt ‚ð•\Ž¦‚·‚é - - - start GetDiffCmdLine3( "file1.txt", "file2.txt", "file3.txt" ) - - file1.txtAfile2.txtAfile3.txt ‚ð•\Ž¦‚·‚é<+/text> - Ý’肳‚ê‚Ä‚¢‚é Diff ƒc[ƒ‹‚ªs”ԍ†Žw’è‚ɑΉž‚µ‚Ä‚¢‚È‚¢‚Æ‚«‚́A5s–Ú‚Å‚Í‚È‚­æ“ª‚̍s‚ð•\Ž¦‚µ‚Ü‚·B - Ý’肳‚ê‚Ä‚¢‚é Diff ƒc[ƒ‹‚ª‚R‚‚̃tƒ@ƒCƒ‹‚𓯎ž‚É”äŠr‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚Æ‚«‚́A‚R‚‚̃tƒ@ƒCƒ‹‚Ì‚¤‚¿A”äŠr‚·‚é‚Q‚‚̃tƒ@ƒCƒ‹‚ð‘I‘ð‚·‚éƒXƒNƒŠƒvƒg diff3to2.vbs ‚ð - ‹N“®‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - Dim folder_a, folder_b, step_path - folder_a = "C:\folder_a\" - folder_b = "C:\folder_b\" - - Do - echo "" - echo "‚Q‚‚̃tƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚éƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð Diff ‚Å•\Ž¦‚µ‚Ü‚·" - echo folder_a - echo folder_b - echo "" - echo "Enter ‚Ì‚Ý : I—¹" - step_path = input( "‹¤’Ê‚Ì‘Š‘΃pƒX >" ) - If step_path = "" Then Exit Do - - start GetDiffCmdLine( GetFullPath( step_path, folder_a ), _ - GetFullPath( step_path, folder_b ) ) - Loop - - ‘Š‘΃pƒX‚ð‚P‚“ü—Í‚µ‚āADiff ‚ðŠJ‚­ƒvƒƒ“ƒvƒg - - ¨ DiffCUI - - ŽQl - - Setting_getFolderDiffCmdLine - - ƒTƒ“ƒvƒ‹ - - - start GetDiffCmdLine( "folder1", "folder2" ) - - ƒtƒ@ƒCƒ‹‚̃pƒX‚ªŽw’肳‚ꂽ‚Æ‚«‚É‹N“®‚·‚éƒc[ƒ‹‚́A - ‚̐ݒè‚É‚æ‚Á‚Ä - •Ï‚í‚è‚Ü‚·B - ƒtƒHƒ‹ƒ_[‚̃pƒX‚ªŽw’肳‚ꂽ‚Æ‚«‚É‹N“®‚·‚éƒc[ƒ‹‚́A - ƒeƒLƒXƒg ƒtƒ@ƒCƒ‹‚ð”äŠr‚·‚éƒc[ƒ‹‚ð‹N“®‚·‚éB - ƒtƒHƒ‹ƒ_[‚ð”äŠr‚·‚éƒc[ƒ‹‚ð‹N“®‚·‚éB - - - - - - - GetDiffStringCmdLine, GetDiffStringCmdLine3 - - - Function GetDiffStringCmdLine( StringA as string, StringB as string ) as DiffCmdLineClass - - Diff ƒc[ƒ‹‚ð‹N“®‚µ‚āA•¶Žš—ñ‚ð”äŠr‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - - - Function GetDiffStringCmdLine3( StringA as string, StringB as string, StringC as string ) as DiffCmdLineClass - - - GetDiffCmdLine, GetDiffCmdLine3 - - ‚Ƃ̈Ⴂ‚́Aˆø”‚ª”äŠr‚·‚é“à—e‚Ì•¶Žš—ñ‚Å‚ ‚邱‚Æ‚Å‚·B - - - start GetDiffStringCmdLine( "ABC", "AxC" ) - - ƒTƒ“ƒvƒ‹ - yˆø”z - StringA - StringB - ”äŠr‚·‚镶Žš—ñ A - ”äŠr‚·‚镶Žš—ñ B - StringC - ”äŠr‚·‚镶Žš—ñ C - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì•¶Žš—ñA‚Ü‚½‚́A - •Ô‚è’l - ƒTƒ“ƒvƒ‹ - - - Set diff_ = GetDiffStringCmdLine( "ABC", "AxC" )RunProg diff_, "" - Pause - diff_.Remove - - Diff ƒc[ƒ‹‚ðŠJ‚«ADiff ƒc[ƒ‹‚ð•Â‚¶‚½‚çˆêŽž“I‚ɍ쐬‚³‚ê‚éƒtƒ@ƒCƒ‹‚ðíœ‚·‚é - - DiffCmdLineClass - - ŠÖ˜A - - ¨ AssertString - - ƒ\[ƒX - - ¨ TestScript.vbs - - - - - - - - DiffCmdLineClass - - - Default Property Get DiffCmdLineClass::CmdLine() as string - - - - Sub DiffCmdLineClass::Remove() - - Diff ƒc[ƒ‹‚ð‹N“®‚µ‚āA•¶Žš—ñ‚ð”äŠr‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“B - ”äŠr‚·‚镶Žš—ñ‚ª“ü‚Á‚½ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B - - - Dim DiffCmdLineClass::PathA as string - - - - Dim DiffCmdLineClass::PathB as string - - - - Dim DiffCmdLineClass::PathC as string - - ”äŠr‚·‚镶Žš—ñ A ‚ª“ü‚Á‚½ƒtƒ@ƒCƒ‹‚̃pƒXB - ”äŠr‚·‚镶Žš—ñ B ‚ª“ü‚Á‚½ƒtƒ@ƒCƒ‹‚̃pƒXB - Empty ‚Ü‚½‚́A”äŠr‚·‚镶Žš—ñ C ‚ª“ü‚Á‚½ƒtƒ@ƒCƒ‹‚̃pƒXB - ƒ\[ƒX - - ¨ TestScript.vbs - - ŽQl - - ¨ GetDiffStringCmdLine - - - - - - - - GetDiffOneLineCmdLine - ƒ\[ƒX - - ¨ TestScript.vbs - - - - Function GetDiffOneLineCmdLine( in_PathAndLineNumA as string, in_PathAndLineNumB as string ) as DiffCmdLineClass - - Diff ƒc[ƒ‹‚ð‹N“®‚µ‚āAŽw’肵‚½s‚ð 1•¶Žš‚¸‚”äŠr‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ð•Ô‚µ‚Ü‚·B - yˆø”z - in_PathAndLineNumA - in_PathAndLineNumB - ”äŠr‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX‚ƍs”ԍ†A‚Ü‚½‚́A”äŠr‚·‚镶Žš—ñ - ”äŠr‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX‚ƍs”ԍ†A‚Ü‚½‚́A”äŠr‚·‚镶Žš—ñ - •Ô‚è’l - - DiffCmdLineClass - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Ì•¶Žš—ñA‚Ü‚½‚́A - - - start GetDiffOneLineCmdLine( "FileA.txt(3)", "FileB.txt(4)" ) - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - Set diff_ = GetDiffOneLineCmdLine( "FileA.txt(3)", "FileB.txt(4)" )RunProg diff_, "" - Pause - diff_.Remove - - Diff ƒc[ƒ‹‚ðŠJ‚«ADiff ƒc[ƒ‹‚ð•Â‚¶‚½‚çˆêŽž“I‚ɍ쐬‚³‚ê‚éƒtƒ@ƒCƒ‹‚ðíœ‚·‚é - ƒeƒXƒg - - ¨ T_fc.vbs - - T_GetDiffOneLineCmdLine - - ¨ Diff1 ƒRƒ}ƒ“ƒh - - ŠÖ˜A - ƒtƒ@ƒCƒ‹‚Ì”äŠr‚Å‚Í‚È‚­A•¶Žš—ñ‚ð”äŠr‚·‚é‚Æ‚«‚́A—v‘f”‚P‚Ì”z—ñ‚ð“n‚µ‚Ü‚·B - - - start GetDiffOneLineCmdLine( Array( "Yes, it is." ), Array( "Yes, it was." ) ) - - ƒTƒ“ƒvƒ‹ - - - - - - - DiffCUI - - - Sub DiffCUI( FilePaths as array of string, FileLabels as array of string ) - - Diff ƒc[ƒ‹‚ª‚È‚¢‚Æ‚«‚ɁAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚¾‚¯‚ÅŽg‚¦‚é”äŠrƒc[ƒ‹B - yˆø”z - FilePaths - FileLabels - ”äŠr‚·‚éƒtƒ@ƒCƒ‹ ƒpƒX‚Ì”z—ñ - ”äŠr‚·‚éƒtƒ@ƒCƒ‹‚Ì–ðŠ„–¼‚Ì”z—ñ - ŠÖ˜A - ƒeƒXƒg - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ T_SyncFiles.vbs - - - ¨ GetDiffCmdLine, GetDiffCmdLine3 - - - ƒeƒLƒXƒgƒGƒfƒBƒ^[‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é - - Diff ƒc[ƒ‹‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒeƒXƒg‚Ń`ƒFƒbƒN‚·‚é‚Æ‚« - DiffCUI ‚́A”äŠr‚µ‚Ä‚¢‚é‚»‚ꂼ‚ê‚̃tƒ@ƒCƒ‹‚ðŠJ‚­ƒƒjƒ…[‚ª‚ ‚èA - •û–@‚Æ‘g‚ݍ‡‚킹‚ê‚΁ADiff ƒc[ƒ‹‚ÅŠJ‚­ƒtƒ@ƒCƒ‹‚̃pƒX‚ðƒ`ƒFƒbƒN‚Å‚«‚Ü‚·B - - ¨ DiffCUI_InCurrentProcess - - - ¨ _src\Test\tools\T_SyncFiles\SettingForTest.vbs - - ŽQl - - - - - - - DiffCUI_InCurrentProcess - - InCurrentProcessFunc - - - start - - ‚É - ‚ðŽw’肵‚āA - - DiffCUI - - ‚ðŒÄ‚яo‚·‚½‚ß‚ÉŒo—R‚·‚éŠÖ”B - - - Function DiffCUI_InCurrentProcess( CommandLine as string ) - - ƒ\[ƒX - - ¨ PC_setting_default.vbs - - - - - - - - Sleep - - - Sub Sleep( msec as integer ) - - Žw’肵‚½ŽžŠÔ‚¾‚¯‘Ò‚¿‚Ü‚·B - yˆø”z - msec - ‘Ò‚ÂŽžŠÔiƒ~ƒŠ•bj - - (src) - - - - Sleep 1000 - - ƒTƒ“ƒvƒ‹F - - - Dim n : For n = 5 To 1 Step -1 : echo n : Sleep 1000 : Next : echo 0 - - ƒTƒ“ƒvƒ‹F - 5•b‚̃JƒEƒ“ƒgƒ_ƒEƒ“ - - ¨ timeout (ƒoƒbƒ`ƒtƒ@ƒCƒ‹) - - ŠÖ˜A - - - - - - - - - - - - - - - - - - - - - - - - - WaitForFile - - - Function WaitForFile( Path as string ) as string - - Žw’肵‚½ƒtƒ@ƒCƒ‹‚ªì‚ç‚ê‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - yˆø”z - Path - ‘҂ƒtƒ@ƒCƒ‹‚̃pƒX - ‰½‚©‚̏ˆ—i‘Oˆ—j‚ªI‚í‚Á‚Ä‚©‚çs‚¤ˆ—‚ª‚ ‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B‘Oˆ—‚ªI‚í‚é‚Æ‚«‚ɁAI‚í‚Á‚½‚±‚Æ‚ðŽ¦‚·ƒtƒ@ƒCƒ‹‚ðì‚é‚悤‚É‚·‚ê‚΁A - –{ŠÖ”‚ªŽg‚¦‚é‚悤‚É‚È‚è‚Ü‚·B - - ¨ CreateFile - - - (src) - - •Ô‚è’l - ƒtƒ@ƒCƒ‹‚Ì1s–Ú‚Ì“à—ei––”ö‚ɉüs•¶Žš‚È‚µj - –{ŠÖ”‚©‚甲‚¯‚é’¼‘O‚ŁA‘Ώۂ̃tƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B - - - WaitForFile "Result.txt" - - ƒTƒ“ƒvƒ‹F - •¡”‚̃vƒƒZƒX‚ŒʐM‚ð‚·‚é‚Æ‚«‚́A“¯Šú‚ÉŽg—p‚·‚éƒtƒ@ƒCƒ‹‚ðÅI“I‚ɍ폜‚·‚éÓ”C‚ðŽ‚Â - Œ`‚É‚µ‚Ä‚­‚¾‚³‚¢B ‚»‚¤‚µ‚È‚¢‚ƁA“¯Šú‚ÉŽg—p‚·‚éƒtƒ@ƒCƒ‹‚ð‘ŠŽè‚É’Ê’m‚·‚é - ‘O‚ɍ폜‚µ‚Ä‚µ‚Ü‚¤‰Â”\«‚ª¶‚Ü‚ê‚āAƒTƒuEƒXƒŒƒbƒh‚ª‰i‰“‚É‘Ò‚¿‘±‚¯‚é - ‚±‚Æ‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B - ŠÖ˜A - - - ƒTƒuEƒXƒŒƒbƒh iƒT[ƒo[j - - - - - - - ‹N“® - WaitForFile - - - CreateFile - - WaitForFile - CreateFile ‚ŏI‚¦‚é‚Æ - (busy) - delete - ‘Ò‚¿‘±‚¯‚é... - I—¹ - ’ʐM‚Ì’ˆÓ - ƒzƒXƒg‘¤‚ª WaitForFile ‚Å‘Ò‚Á‚ĒʐM‚ðI‚¦‚é - - - ƒƒCƒ“EƒXƒŒƒbƒh iƒNƒ‰ƒCƒAƒ“ƒgj - - “¯Šú‚ÉŽg‚¤ƒtƒ@ƒCƒ‹‚́A2‚‚̃XƒŒƒbƒhiƒNƒ‰ƒCƒAƒ“ƒg‚ƃT[ƒo[j‚ŕʂ̃tƒ@ƒCƒ‹–¼‚É‚µ‚Ä‚­‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¢‚ƁAŽ©•ª‚ªì¬i‘—Mj‚µ‚½ƒtƒ@ƒCƒ‹‚ð‘҂iŽóM‚·‚éjŒ`‚É‚È‚èA‘Ò‚½‚È‚¢‚±‚Æ‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚©‚ç‚Å‚·B - ‘—Mƒtƒ@ƒCƒ‹‚ðì¬‚·‚é‘O‚ɁAŽóM‚µ‚½ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚­‚¾‚³‚¢B - ‚»‚¤‚µ‚È‚¢‚ƁA‘ŠŽè‚ªŽŸ‚ÌŽóMƒtƒ@ƒCƒ‹‚ðæ‚ɍì‚Á‚Ä‚µ‚Ü‚¢A‚»‚̃tƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚µ‚Ü‚¤‚©‚ç‚Å‚·B ‚Ü‚½A‘O‚̒ʐM‚ÌŽc‚肪‚ ‚é‚Æ‚«‚Å‚à³‚µ‚­“®‚­‚悤‚ɁAƒNƒ‰ƒCƒAƒ“ƒg‚́A‘O‚ÌŽóM - ƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ä‚©‚çA‘—Mƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ T_Call_Target.vbs # [T_WaitForFile] - - ƒeƒXƒg - - ¨ FileT_wait (clib) - - ƒGƒ‰[‚𔭐¶‚³‚¹‚éƒtƒ@ƒCƒ‹‚ðì‚é - WaitForFile ‚Å‘Ò‚Á‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ªAXML Œ`Ž®‚̃eƒLƒXƒg‚ŁAƒ‹[ƒg‚̃^ƒO‚ª <ERROR>‚Ì‚Æ‚«‚́AWaitForFile ‚Ì“à•”‚©‚çƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - - - <?xml version="1.0" encoding="Shift_JIS"?><ERROR num="3" msg="ƒGƒ‰["/> - - ì¬‚·‚éƒtƒ@ƒCƒ‹‚Ì—á - ã‹L‚̏ꍇAErr ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚́AŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - - - Assert Err.Number = 3Assert Err.Description = "<ERROR num=""3"" msg=""ƒGƒ‰[""/>" - - - ¨ OnTime (Excel) - - - - - - - - WaitForProcess - - - WaitForProcess "notepad.exe" - - - - Sub WaitForProcess( ProcessName as string ) - - Žw’肵‚½ƒvƒƒZƒX‚ªI—¹‚·‚é‚Ü‚Å‘Ò‚¿‚Ü‚·B - yˆø”z - ProcessName - ŽÀsƒtƒ@ƒCƒ‹–¼ - ƒtƒ@ƒCƒ‹F - ƒeƒXƒg - ƒTƒ“ƒvƒ‹ - - ¨ T_Process.vbs # [T_WaitForProcess] - - - - System.vbs - - - (src) - - - - - - - - EnumProcesses - - - Function EnumProcesses() as dictionary of ArrayClass of integer - - ƒvƒƒZƒX‚ðˆê——‚µ‚Ü‚·B - yˆø”z - ƒvƒƒZƒX‚̈ꗗB ŽÀsƒtƒ@ƒCƒ‹–¼‚ðƒL[‚Æ‚·‚é PID ‚Ì”z—ñ‚ÌŽ«‘ - •Ô‚è’l - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - (src) - - ƒTƒ“ƒvƒ‹ - - - Dim ps : Set ps = EnumProcesses()echo ps.Item( "notepad.exe" ) '// ArrayClass of PID - If not ps.Exists( "notepad.exe" ) Then '// ps.Item( "notepad.exe" ).Count = 0 ‚Í•s‰Â - start "notepad.exe" - ElseIf ps.Item( "notepad.exe" ).Count >= 2 Then - echo "There are 2 processes." - End If - - - ¨ tasklist (ƒoƒbƒ`ƒtƒ@ƒCƒ‹) - - ŽQl - ƒeƒXƒg - - ¨ T_Process.vbs # [T_Processes] - - - - - - - - KillProcess - - - Sub KillProcess( Process as integer or string ) - - ƒvƒƒZƒX‚ð‹­§I—¹‚µ‚Ü‚·B - yˆø”z - ƒvƒƒZƒX‚Ì PIDA‚Ü‚½‚́AŽÀsƒtƒ@ƒCƒ‹–¼ - Process - ƒtƒ@ƒCƒ‹F - - - System.vbs - - ƒTƒ“ƒvƒ‹ - - - KillProcess "notepad.exe" - - - (src) - - ŽÀsƒtƒ@ƒCƒ‹–¼‚ðŽw’肵‚½ê‡A‚»‚ÌŽÀsƒtƒ@ƒCƒ‹‚©‚çì‚ç‚ꂽ‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ª‹­§I—¹‚µ‚Ü‚·B - ŽQl - - ¨ taskkill (ƒoƒbƒ`ƒtƒ@ƒCƒ‹) - - ƒeƒXƒg - - ¨ T_Process.vbs # [T_Processes] - - - - - - - - ‚»‚Ì‘¼ - - ¨ IsDefined - - Žw’肵‚½ƒVƒ“ƒ{ƒ‹‚̊֐”‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - - - - - - Ž©“®ƒeƒXƒgAŠJ”­ŠÂ‹« - - ¨ ƒeƒXƒgEƒvƒƒ“ƒvƒg (Test.vbs) - - - ¨ ƒeƒXƒgŽx‰‡‹@”\ iŠÖ”j - - - ¨ ŠJ”­ŠÂ‹«‘€ì - - - ¨ FCBat ƒeƒXƒgƒc[ƒ‹ - - - ¨ ƒeƒXƒgƒc[ƒ‹ - - - ¨ ƒeƒXƒgƒc[ƒ‹‚̐ڑ±êŠ - - - ¨ ƒGƒ‰[ˆ— iErr2j - - - ¨ ƒeƒXƒg‹ì“®ŠJ”­iTDDj‚ðŠw‚Ô (Web) - - ŠÖ˜A - - ¨ vbslib ‚̃eƒXƒgŽd—l - - ƒvƒƒOƒ‰ƒ€‚ª‘å‚«‚­‚È‚é‚قǁAƒeƒXƒgi‰ñ‹AƒeƒXƒgj‚ÌŽ©“®‰»‚ªd—v‚É‚È‚è‚Ü‚·B - vbslib ‚ÌŠJ”­‚ł́A‹@”\‚ð’ljÁ/C³‚·‚邲‚ƂɈȉº‚Ì‚à‚Ì‚ðXV‚µ‚Ä‚¢‚Ü‚·B - ƒR[ƒh - ~ - ~ - ƒeƒXƒgƒvƒƒOƒ‰ƒ€ - ƒhƒLƒ…ƒƒ“ƒg - ~ - ‹@”\F - - ¨ ƒ`ƒFƒbƒNƒŠƒXƒg - - ŽQl - › - - ¨ •W€o—͂ւ̏o—Í“à—e‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - - ¨ ƒƒO - - - ¨ Ž©“®‰»‚̃qƒ“ƒg - - - - - - - - ƒeƒXƒgEƒvƒƒ“ƒvƒg (Test.vbs) - - - Test Prompt [ALL] test vbs = Test.vbs - base folder = C:\home\vbslib - 1. Select the Test (current test = ALL) - 2. Do ALL Test - 3. | call each "Test_build" in sub folders - 4. | call each "Test_setup" in sub folders - 5. | call each "Test_start" in sub folders - 6. | call each "Test_check" in sub folders - 7. | call each "Test_clean" in sub folders - 8. Change the Debug Mode (debug script=False, target=False) - 88.Open Fail Folder - 89.Next Fail - 9. Quit - - Test.vbs ƒtƒ@ƒCƒ‹‚É‹Lq‚³‚ꂽƒR[ƒ‹ƒoƒbƒNŠÖ”iTest_build, Test_setup, Test_start, Test_check, Test_cleanj‚ðŒÄ‚яo‚·ƒvƒƒ“ƒvƒg‚Å‚·B ƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é Test.vbs - ƒtƒ@ƒCƒ‹‚É‹Lq‚³‚ꂽƒR[ƒ‹ƒoƒbƒNŠÖ”‚àŒÄ‚яo‚µ‚Ü‚·B - Test.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‹N“®‚µ‚Ü‚·B - - ¨ TestPrompt_Setting.vbs - - - ¨ ƒeƒXƒgEƒtƒHƒ‹ƒ_[‚̍\¬ - - - ¨ ƒeƒXƒgEƒXƒNƒŠƒvƒg ver2 - - - Change the Debug Mode - - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̃gƒbƒvƒƒjƒ…[ - - ¨ Test.vbs - - ƒvƒƒ“ƒvƒg‚̐ݒè - ’P‘̂̃eƒXƒgEƒXƒNƒŠƒvƒg - - ¨ ƒƒjƒ…[€–Ú‚Ì“®ì - - - ¨ ƒƒjƒ…[€–Ú - - - ¨ Fail ‚µ‚½‚Æ‚« - - - (src: TestPrompt) - - - (src: Tests) - - - ¨ ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - ŠÖ˜A - ƒeƒXƒg - - ¨ ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̃eƒXƒg - - - ¨ TestCommon.vbs - - Test.vbs - - ¨ Test.vbs ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“ - - - ¨ TestCommon_Data.xml - - - ¨ ˆ—ƒtƒ[ - - - ¨ ƒf[ƒ^\‘¢ - - - ¨ ˆ—ƒtƒ[ (Test.vbs) - - - ¨ ƒf[ƒ^\‘¢ (Test.vbs) - - - - - - - - ƒƒjƒ…[€–Ú‚Ì“®ì - ƒeƒXƒgƒvƒƒ“ƒvƒg‚̃ƒjƒ…[‚©‚ç‘I‚ñ‚¾‚Æ‚«‚̃fƒtƒHƒ‹ƒg‚Ì“®ì‚ðà–¾‚µ‚Ü‚·B - 2. Do ALL Test - - ¨ ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - - Test.vbs - - ‚Ì Test_build, Test_setup, Test_start, Test_check, Test_clean ‚ðŒÄ‚яo‚µ‚Ü‚·B - Test_current ‚́ATest_build ‚È‚Ç‚»‚ꂼ‚ê‚ðŒÄ‚яo‚·‘O‚ɌĂяo‚µ‚Ü‚·B - - ¨ Tests::DoAllTest - - 4. call each "Test_setup" in sub folders - 3. call each "Test_build" in sub folders - - Test.vbs - - ‚Ì Test_current ‚Æ Test_build ‚ðŒÄ‚яo‚µ‚Ü‚·B - 7. call each "Test_clean" in sub folders - 6. call each "Test_check" in sub folders - 5. call each "Test_start" in sub folders - Test.vbs ‚Ì Test_current ‚Æ Test_setup ‚ðŒÄ‚яo‚µ‚Ü‚·B - Test.vbs ‚Ì Test_current ‚Æ Test_start ‚ðŒÄ‚яo‚µ‚Ü‚·B - Test.vbs ‚Ì Test_current ‚Æ Test_check ‚ðŒÄ‚яo‚µ‚Ü‚·B - Test.vbs ‚Ì Test_current ‚Æ Test_clean ‚ðŒÄ‚яo‚µ‚Ü‚·B - 1. Select the Test - ŽÀs‚·‚éƒeƒXƒg€–Ú( - - Test.vbs - - A‚Ü‚½‚́ATest.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[)‚ð‘I‘ð‚µ‚Ü‚·B - ALL ‚ð‘I‘ð‚·‚é‚ƁA‚·‚ׂẴeƒXƒg€–ځi‚·‚ׂẴTƒuEƒtƒHƒ‹ƒ_[j‚ðŽÀs‚µ‚Ü‚·B - - ¨ ƒfƒoƒbƒOƒ‚[ƒh - - 8. Change the Debug Mode - - ¨ Tests::DoTest - - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg Test.vbs ] - - 88. Open Fail Folder - ƒGƒ‰[‚ª‚ ‚Á‚½ Test.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚· - uorderv ‚Æ“ü—Í‚·‚é‚ƁA - - ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - ‚ª•\Ž¦‚³‚ê‚Ü‚·B - ‚Æ - - CurrentTestPriority - - ŽŸ‚ɃGƒ‰[‚ª‚ ‚Á‚½ Test.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ðŠJ‚«‚Ü‚· - 89. Next Fail - - - - - - - ƒfƒoƒbƒOƒ‚[ƒh - - ¨ g_debug •Ï” - - - - 1) Reload Test Script2) ChgDebugMode Test Script - 3) ChgDebugMode Test Target - 4) Echo On/Off (current=on) - 5) AutoDiff (current=on) - - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̃gƒbƒvƒƒjƒ…[‚ŁAChange the Debug Mode ‚ð‘I‚Ô‚ÆŽŸ‚̃ƒjƒ…[‚ªo‚Ü‚·B - Reload Test Script ‚́ATestPrompt.vbs ‚âATestPrompt_Setting.vbs ‚ð•ÏX‚µ‚½‚Æ‚«‚É‘I‘ð‚µ‚Ü‚·B ‘I‘ð‚·‚é‚ƍēǂݍž‚Ý‚µ‚Ü‚·B - Test.vbs ‚́Aƒgƒbƒvƒƒjƒ…[‚©‚ç Test.vbs ‚ðŒÄ‚яo‚·‚Æ‚«‚ɁA–ˆ‰ñÄ“ǂݍž‚Ý‚·‚é‚̂ŁA - Test.vbs ‚ð•ÏX‚µ‚½‚Æ‚«‚́A‚±‚̃ƒjƒ…[iReload Test Scriptj‚ð‘I‚Ô•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - - If tests.bTargetDebug Then dbg = "//x " Else dbg = ""r = RunProg( "cscript "+dbg+target+" /Test:"+tname, "" ) - - - - If tests.bTargetDebug Then '// ƒfƒoƒbƒK‚ɐڑ±‚·‚éƒRƒ}ƒ“ƒh - Else - '// ’ʏí‚̃Rƒ}ƒ“ƒh - End If - - VBScript ‚̌Ăяo‚µ‚ðAƒfƒoƒbƒKÚ‘±‚ɑΉž‚µ‚½—áF - ŠÖ˜A - ChgDebugMode Test Target ‚́AƒeƒXƒg‘ΏۂðƒfƒoƒbƒK‚ɐڑ±‚µ‚Ü‚·B - 3) ChgDebugMode Test Target - ChgDebugMode Test Script ‚́ATestPrompt.vbs ‚Æ Test.vbs ‚ðƒfƒoƒbƒK‚ɐڑ±‚µ‚Ü‚·B - 2) ChgDebugMode Test Script - 1) Reload Test Script - - - Sub Test_start( tests )Stop - If ... Then Fail - Pass - End Sub - - Stop - - [ ƒ}ƒbƒv ] - - ‚½‚¾‚µATest.vbs ‚̊֐”‚̈ø” tests ‚Ì bTargetDebug ƒƒ“ƒo•Ï”‚ª True ‚É•Ï‚í‚邾‚¯‚Ȃ̂ŁATest.vbs ‚Ì’†‚őΉž‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - Test.vbs ‚ðƒfƒoƒbƒO‚·‚é‚Æ‚«‚́AX‚É Test.vbs ‚Ì’†‚É Stop •¶‚ð“ü‚ê‚Ä‚­‚¾‚³‚¢B - - - '--- start of parameters for starting main scriptg_debug = 1 - : - Sub main2( Opt, AppKey ):set_input "5." .... - - Test.vbs ‚̐擪‚ʼnº‹L‚̂悤‚É‹Lq‚·‚é‚ƁA‚±‚̃ƒjƒ…[‚ð‘I‚΂Ȃ­‚Ä‚àAŽ©“®“I‚É‚±‚̃‚[ƒh‚ÅŽÀs‚ðŠJŽn‚µA5”Ԃ̃ƒjƒ…[‚ðŽ©“®“I‚ÉŽÀs‚µ‚Ü‚·B - - - '--- start of parameters for starting main scriptg_option = "/target_debug:1 /set_input:5." - - Test.vbs ‚̐擪‚ÅŽŸ‚̂悤‚É‹Lq‚·‚é‚ƁAŽ©“®“I‚É‚±‚̃‚[ƒh‚ÅŽÀs‚ðŠJŽn‚µA5”Ԃ̃ƒjƒ…[‚ðŽ©“®“I‚ÉŽÀs‚µ‚Ü‚·B - - ¨ input - - c /set_input ƒIƒvƒVƒ‡ƒ“‚ªŽg‚í‚ê‚éŠÖ” - - Reload Test Script - - - ChgDebugMode Test Script - - - ChgDebugMode Test Target - - 5) AutoDiff - - Echo On/Off - - - AutoDiff - - - ¨ AutoDiff ƒ‚[ƒh - - 1 - 5. - 4) ƒGƒ‰[EƒuƒŒ[ƒN‚ð—LŒø‚É‚·‚é - ƒGƒ‰[‚ª”­¶‚·‚éêŠ‚ªˆÀ’肵‚È‚¢‚Æ‚«‚́AƒGƒ‰[EƒuƒŒ[ƒN‚ð—LŒø‚É‚µ‚Ä‚­‚¾‚³‚¢BƒGƒ‰[‚ª”­¶‚µ‚Ä‚àƒeƒXƒg‚Ì‘±‚«‚ðŽÀs‚µ‚È‚­‚È‚è‚Ü‚·‚ªAƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚±‚ë‚Å - ƒuƒŒ[ƒN‚µ‚Ü‚·B - ’ˆÓF Pass ŠÖ”‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚àƒuƒŒ[ƒN‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - ƒeƒXƒgEƒXƒNƒŠƒvƒg‚Å‚à’ʏí‚Ì•û–@‚ŃGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚Å‚«‚Ü‚·B - ŽQl - - - - - - - - - - - - - - - - - - - ƒeƒXƒgEƒtƒHƒ‹ƒ_[‚̍\¬ - ƒeƒXƒgEƒXƒNƒŠƒvƒg‚́Ascriptlib ƒtƒHƒ‹ƒ_‚ðŠÜ‚Þƒ‹[ƒgƒtƒHƒ‹ƒ_‚̃TƒuƒtƒHƒ‹ƒ_‚È‚çA‚ǂ̃tƒHƒ‹ƒ_‚É‚Å‚à’u‚­‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ƒeƒXƒgEƒXƒNƒŠƒvƒg‚̃tƒ@ƒCƒ‹–¼‚́ATest.vbs ‚É‚µ‚Ä‚­‚¾‚³‚¢B - Test.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒeƒXƒgEƒvƒƒ“ƒvƒg‚ªŠJ‚«‚Ü‚·B - - scriptlib - - TestPrompt.vbs - Test - T_UnitTest1 - c "T_UnitTest1" ‚̃†ƒjƒbƒgEƒeƒXƒg - - TestPrompt_Setting.vbs - - c ƒeƒXƒgEƒvƒƒ“ƒvƒgEƒ‚ƒWƒ…[ƒ‹ - c ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̐ݒè - - Test.vbs - - Test.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒTƒuƒtƒHƒ‹ƒ_‚Ì Test.vbs ‚àAƒeƒXƒgEƒvƒƒ“ƒvƒg‚É“o˜^‚³‚ê‚Ü‚·B ƒJƒŒƒ“ƒgEƒeƒXƒg‚ª ALL ‚È‚çAƒTƒuƒtƒHƒ‹ƒ_‚àŠÜ‚ß‚Ä Test_setup ‚È‚Ç‚ª - ŒÄ‚΂ê‚Ü‚·B ƒfƒoƒbƒOEƒ‚[ƒh‚Ì‚Æ‚«‚́AƒfƒoƒbƒOEƒ‚[ƒh‚É‚È‚Á‚Ä‚¢‚é Test.vbs ‚ð - ƒTƒuƒtƒHƒ‹ƒ_‚àŠÜ‚߂ČĂ΂ê‚Ü‚·B - c ƒeƒXƒgƒVƒ“ƒ{ƒ‹–¼‚Æ“¯‚¶–¼‘O‚̃tƒHƒ‹ƒ_ - - ¨ ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - - setting_default - - TestScript.vbs - c ƒeƒXƒgEƒXƒNƒŠƒvƒgEƒ‚ƒWƒ…[ƒ‹ - - ¨ Test.vbs - - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg Test.vbs ] - - c ƒ†ƒjƒbƒgEƒeƒXƒg ‘S‘Ì - - Test.vbs - - - TestCommon.vbs - - - TestCommon_Data.xml - - c ‘Sƒ†ƒjƒbƒgEƒeƒXƒg‚É‹¤’ʂ̃XƒNƒŠƒvƒg - c ‘Sƒ†ƒjƒbƒgEƒeƒXƒg‚É‹¤’ʂ̐ݒèƒf[ƒ^ - vbslib - - - - - - - - - - - - Test.vbs - - - Option Explicit - Sub Main( Opt, AppKey ):RunTestPrompt AppKey.NewWritable( "." ):End Sub - - Sub Test_current( tests ) - tests.SetCur "Sub1" - End Sub - - Sub Test_build( tests ) - If tests.IsCur("Sub1") Then echo tests.Symbol+" - Test_build Sub1" - If tests.IsCur("Sub2") Then echo tests.Symbol+" - Test_build Sub2" - Pass - End Sub - - Sub Test_setup( tests ) - Pass - End Sub - - Sub Test_start( tests ) - RunProg "target.exe", "Sample_log.txt" - Pass - End Sub - - Sub Test_check( tests ) - Fail - End Sub - - Sub Test_clean( tests ) - Skip "test skip" - End Sub - - - ¨ Test.vbs - - ˆø”‚́A - Test.vbs - Test.vbs ‚É‹Lq‚·‚éŠÖ” - - Test_current - - Test_build - ƒeƒXƒg‘Ώۂðƒrƒ‹ƒh‚µ‚Ü‚·B - Test_setup - ƒeƒXƒgƒf[ƒ^‚ðì¬‚µ‚Ü‚·B - Test_start - ƒeƒXƒg‚ðŽÀs‚µ‚Ü‚·B •¡”‚̍€–Ú‚ðŽÀs‚·‚é‚Æ‚«‚̓`ƒFƒbƒN‚à‚µ‚Ü‚·B - Test_check - Test_start ‚ª‚·‚ׂĊ®—¹ŒãAƒeƒXƒg‚̏o—Í‚ª³‚µ‚¢‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·BƒGƒ‰[ˆ—‚̃eƒXƒg‚́ATest_start ‚ōs‚¢‚Ü‚·B - Test_clean - ƒeƒXƒg‚ŏo—Í‚³‚ꂽƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - TestScript::Do_ - - ã‹L‚̊֐”‚́A - ‚©‚çŒÄ‚΂ê‚Ü‚·B Fail ‚µ‚½‚Æ‚«‚Ì“®‚«‚́A - Do_ ‚ÌŽd—l‚ɏ]‚¢‚Ü‚·B - Test.vbs ‚̃eƒ“ƒvƒŒ[ƒg - - T_RunFCVbs - - - T_RunPrompt - - - T_RunVBS - - - FCVbs - - ‚ðŒo—R‚·‚éƒeƒXƒg‚̃Tƒ“ƒvƒ‹ - VBS ‚ðƒeƒXƒg‚·‚éƒTƒ“ƒvƒ‹ - ’P‘̃eƒXƒg‚ðŽÀs‚·‚éƒXƒNƒŠƒvƒg‚Å‚·B - ”Ä—p‚̃Tƒ“ƒvƒ‹ - ‚Å‚·Biã‹L‚̊֐”‚Í‚Ç‚ê‚àˆø”‚Í“¯‚¶j - - Tests ƒNƒ‰ƒX - - Test.vbs ‚Ì Test_current ‚ɂ́AƒfƒoƒbƒO‚ðs‚¤‚P‚‚̃TƒuƒeƒXƒgƒP[ƒX‚ðtests.SetCur ‚ÅŽw’肵‚Ü‚·B - - T_Run - - ƒeƒXƒgƒvƒƒ“ƒvƒg‚ðƒeƒXƒg‚·‚éƒTƒ“ƒvƒ‹ - - vbslib_pack\sample\TestPrompt - - - isrcj - - - - Sub Test_start( tests as Tests ) - - Main - ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - - RunTestPrompt - - - [ ƒ}ƒbƒv ] - - - —pˆÓ‚³‚ꂽŠÖ” - - ‚Ì“à—e‚ð‹Lq‚·‚邱‚Ƃō쐬‚µ‚Ü‚·B - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚©‚çAƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é‘å—Ê‚Ì Test.vbs ‚ðŽ©“®“I‚ÉŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ƒtƒ@ƒCƒ‹–¼‚ð TestSample.vbs ‚É•Ï‚¦‚½‚çAƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é TestSample.vbs - ‚ðŽ©“®“I‚ÉŽÀs‚µ‚Ü‚·B - Test_build ‚È‚Ç‚ðƒR[ƒ‹ƒoƒbƒN‚·‚é‘O‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”B - - ¨ T_TestScName ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - Test.vbs ‚©‚ç‰ü–¼‚·‚éƒeƒXƒg - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg Test.vbs ] - - ŠÖ˜A - - ¨ GetMainSetting ŠÖ” (vbsool) - - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁA - - ƒeƒXƒgEƒvƒƒ“ƒvƒg - - ‚ªŠJ‚«‚Ü‚·B - ::ExpectedPassConut‚É—\‘z‚³‚ê‚é Pass ‚̐”‚ðÝ’肵‚Ä‚¨‚­‚Æ - - RunTestPromptConfigClass - - ‚æ‚¢‚Å‚µ‚傤B - - ¨ ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ (vbslib•t‘®) - - - - - - - - Test_current - EƒfƒoƒbƒO‚·‚éƒTƒuƒeƒXƒgƒP[ƒX‚ð‘I‘ð‚µ‚Ü‚·B - - - Sub Test_current( tests ) tests.SetCur "Sub1" - End Sub - - - - Sub Test_current( tests as Tests ) - - Test_build ‚È‚Ç‚ðƒR[ƒ‹ƒoƒbƒN‚·‚é‘O‚ɃR[ƒ‹ƒoƒbƒN‚³‚ê‚éŠÖ”B - ‰º‹L‚̂悤‚È‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ UnitTest::Delegate - - ETests.vbs ‚̃Oƒ[ƒoƒ‹•Ï”i‚Ì‘ã‚í‚èj‚ð‰Šú‰»‚µ‚Ü‚·B - E‘¼‚Ì Tests.vbs ‚ƁAƒR[ƒ‹ƒoƒbƒN‚³‚ê‚鏇”Ԃ𒲐®‚µ‚Ü‚·B - - - Sub Test_current( tests ) tests.CurrentTestPriority = 500 - End Sub - - EƒeƒXƒgEƒVƒ“ƒ{ƒ‹‚ðÝ’肵‚Ü‚·B - - - Sub Test_current( tests ) tests.Symbol = "T_SubTest" - End Sub - - - CurrentTestPriority - - - Symbol - - - SetCur - - "Already defined test symbol" ƒGƒ‰[ - ã‹L‚̂悤‚É Symbol •Ï”‚Ì’l‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B - ‚ªo‚é‚Æ‚«‚́A - - - Set g = tests.CurrentTest.Delegateg("ExeName") = "Sample" - - - ¨ GetMainSetting ŠÖ” - - ŠÖ˜A - - - - - - - UnitTest::Delegate - ƒ†[ƒUŒü‚¯‚́A”CˆÓ‚Ì’l‚âƒIƒuƒWƒFƒNƒg‚ðŠi”[‚·‚é•Ï”B - - - Dim UnitTest::Delegate as variant - - - - Sub Main( Opt, AppKey ) '// Set g = GetTemporaryTestsObject().CurrentTest.Delegate - RunTestPrompt AppKey.NewWritable( "." ) - End Sub - - Sub Test_current( tests ) - If IsEmpty( tests.CurrentTest.Delegate ) Then - Set g = CreateObject( "Scripting.Dictionary" ) : Set tests.CurrentTest.Delegate = g - '// call_vbs SearchParent("TestCommon.vbs"), "TestCommon_setVariables", g - - '[Setting] - '============================================================================== - g("ExeName") = "Sample" - '============================================================================== - - x = WScript.Arguments.Named( "Config" ) : If not IsEmpty( x ) Then g("Config") = x - End If - End Sub - - Sub Test_build( tests ) - Set g = tests.CurrentTest.Delegate - devenv_rebuild g("ExeName")+".sln", g("Config") - End Sub - - ƒTƒ“ƒvƒ‹ in Test.vbsF - Delegate - Delegate - ExeName - Sample - ExeName - Tests.vbs ‚̃Oƒ[ƒoƒ‹•Ï”‚Ì‘ã‚í‚è‚Å‚·BiTests.vbs ‚́AExecuteGlobal ‚ð‰½“x‚às‚í‚ê‚邽‚߁AƒOƒ[ƒoƒ‹•Ï”‚ð’u‚­‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñBj - ƒeƒXƒg - - ¨ Test_template1.vbs # Delegate - - ŠÖ˜A - - ¨ GetMainSetting ŠÖ” (vbsool) - - - - '********************************************************************************' <<< [TestCommon_setVariables] >>> - '******************************************************************************** - Dim g_TestCommon_ConfigInited - - Sub TestCommon_setVariables( in_out_SharedConfig ) - AssertExist env("%SAMPLEROOT%") '// ŠÂ‹«•Ï”‚ðƒ`ƒFƒbƒN‚·‚é - - If IsEmpty( g_TestCommon_ConfigInited ) Then '// ƒvƒƒZƒX‚²‚Ƃ̐ݒè - Set test_common_data = ReadTestCase( SearchParent(_ - "TestCommon_Data.xml" ), Empty ) '// test_common_data as <TestCases> - - If IsEmpty( in_out_SharedConfig ) Then _ - Set in_out_SharedConfig = CreateObject( "Scripting.Dictionary" ) - Dic_add in_out_SharedConfig, test_common_data - - g_TestCommon_ConfigInited = True - End If - End Sub - - ‚Ì’†‚Ì TestCommon_setVariables ŠÖ” ‚̃Tƒ“ƒvƒ‹F - ƒTƒ“ƒvƒ‹ in TestTarget.vbsF - - - Dim g_g : Sub GetMainSetting( g ) : If not IsEmpty(g_g) Then Set g=g_g : Exit Sub Set g=CreateObject("Scripting.Dictionary") : Set g_g=g - call_vbs SearchParent("TestCommon.vbs"), "TestCommon_setVariables", g - - '[Setting] - '============================================================================== - g("ExeName") = "Sample" - '============================================================================== - End Sub - - - Sub Main() - GetMainSetting g - devenv_rebuild g("ExeName")+".sln", g("Config") - End Sub - - - TestCommon_setVariables - - - TestCommon_setVariables - - RunTestPrompt ‚ðŽÀs‚·‚éê‡‚́ADelegate ‚ðŽg‚¤ - RunTestPrompt ‚ðŽÀs‚µ‚È‚¢ê‡‚́ADelegate ‚ðŽg‚í‚È‚¢ - Sample - ExeName - ExeName - - ¨ TestCommon.vbs - - - AssertExist - - - TestCommon_Data.xml - - ƒR[ƒ‹ƒcƒŠ[ (Test.vbs) - Test_current - TestCommon_setVariables - Tests::DoAllTest - RunTestPrompt - main - GetMainSetting - TestCommon_setVariables - ƒR[ƒ‹ƒcƒŠ[ (ˆê”ʃXƒNƒŠƒvƒg) - - ReadTestCase - - // ƒeƒXƒg‚²‚ƂɈقȂé UnitTest::Delegate - // ‘SƒeƒXƒg‚É‹¤’Ê‚Ì UnitTest::Delegate ‚È‚Ç - // ‘SƒXƒNƒŠƒvƒg‹¤’Ê‚Ì UnitTest::Delegate ‚È‚Ç - // ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚²‚ƂɈقȂé UnitTest::Delegate - - TestCommon.vbs - - - TestCommon.vbs - - - TestCommon.vbs - - - UnitTest - - ŽQl - - ¨ GetMainSetting ŠÖ” (vbsool) - - - - - - - - - TestCommon.vbs - - Test.vbs - TestCommon.vbs - - - Sub main2( Opt, AppKey ) RunTestPrompt AppKey.NewWritable( "." ) - End Sub - - Sub Test_current( tests ) - If IsEmpty( tests.CurrentTest.Delegate ) Then - Dim g : Set g = CreateObject( "Scripting.Dictionary" ) : Set tests.CurrentTest.Delegate = g - call_vbs SearchParent("TestCommon.vbs"), "TestCommon_setVariables", g - End If - End Sub - - Sub Test_start( tests ) : TestCommon_test_start tests : Pass : End Sub - - ƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é Test.vbs ‚É‹¤’Ê‚·‚éƒXƒNƒŠƒvƒg‚ð‹Lq‚µ‚Ü‚·Bƒ‰ƒCƒuƒ‰ƒŠ‚É‚·‚é‚قǔėp“I‚Å‚Í‚È‚¢‚ªA•¡”‚̃eƒXƒg‚ÅŽg‚í‚ê‚éŠÖ”‚È‚Ç‚ð‹Lq‚µ‚Ü‚·B - - - Sub TestCommon_setVariables( g ) Set g("GlobalTestObject") = new SampleTest - End Sub - - Sub TestCommon_test_start( tests ) - '// •¡”‚̃eƒXƒg‚ōs‚¤ˆ— - End Sub - - - - - - TestCommon_setVariables - - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg Test.vbs ] - - ŠÖ˜A - - ¨ GetMainSetting ŠÖ” (vbsool) - - - - - - - - ƒOƒ[ƒoƒ‹EƒeƒXƒgEƒIƒuƒWƒFƒNƒg, SampleTest - - TestCommon.vbs - - ‚Å’è‹`‚·‚é TestCommon_setVariables ŠÖ”‚ŁAƒOƒ[ƒoƒ‹EƒeƒXƒgE - ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µA - - UnitTest::Delegate - - ‚©‚çŽQÆ‚µ‚Ü‚·B - - - Sub Test_build( tests ) Dim g : Set g = tests.CurrentTest.Delegate - RunProg """"+ g("GlobalTestObject").ExePath +"""", "" - End Sub - - - - Sub TestCommon_setVariables( g ) Set g("GlobalTestObject") = new SampleTest - End Sub - - - - - - - - TestCommon_Data.xml - - - <TestCases TestSymbols="T_Sample1, T_Sample2"/> - - TestSymbols ‘®« - ‚ð‘I‚ñ‚¾‚Æ‚«‚ÉŽÀŽ{‚·‚éƒeƒXƒg‚ð‘I‘ð‚µ‚Ü‚·B - - 2. Do ALL Test - - Test.vbs ‚Ì - ‚±‚Ì‘®«‚ª–³‚¢‚Æ‚«‚́AƒTƒuEƒtƒHƒ‹ƒ_[‚É‚ ‚é‘S‚ẴeƒXƒg‚ðŽÀŽ{‚µ‚Ü‚·B - ŽÀŽ{‚·‚éƒeƒXƒg‚̃Vƒ“ƒ{ƒ‹‚ð CSV Œ`Ž®‚ÅŽw’肵‚Ä‚­‚¾‚³‚¢BTest.vbs ‚Ì - ƒVƒ“ƒ{ƒ‹‚ª‘½‚¢‚Æ‚«‚́A‰üs‚ð“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - <TestCases TestSymbols="T_Sample1, T_Sample2, T_Sample3"/> - - - 1. Select the Test - - ‚ð‘I‚ԂƁAƒVƒ“ƒ{ƒ‹‚ðˆê——‚Å‚«‚Ü‚·B - ƒeƒXƒg‚ÉŠÖ‚·‚éî•ñ‚ð‚Ü‚Æ‚ß‚½ƒf[ƒ^Eƒtƒ@ƒCƒ‹‚Å‚·Bƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é Test.vbs ‚Æ“¯‚¶ƒtƒHƒ‹ƒ_[‚É TestCommon_Data.xml ‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B - ŽQl - - ¨ Tests::LoadTestSet - - - ¨ TestCommon.vbs ‚Ì’†‚Ì TestCommon_setVariables ŠÖ” ‚̃Tƒ“ƒvƒ‹ - - ŽQl - ‚»‚Ì‘¼AƒIƒŠƒWƒiƒ‹‘®« - ƒeƒXƒgŒÅ—L‚̃IƒŠƒWƒiƒ‹‘®«‚ðATestCommon_Data.xml ‚Ɋ܂߂邱‚Æ‚ª‚Å‚«‚Ü‚·B - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg Test.vbs ] - - - - <TestCases TestSymbols="T_Sample1, T_Sample2" TestScriptFileName="Test_target.vbs"/> - - TestScriptFileName ‘®« - TestScriptFileName ‘®«‚ɁATest.vbs ‚̃tƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚é‚ƁA‚»‚̃tƒ@ƒCƒ‹–¼‚©‚ç‹N“®‚µ‚½ê‡‚̂݁A—LŒø‚É‚È‚è‚Ü‚·B - TestScriptFileNameExcepted ‘®« - TestScriptFileNameExcepted ‘®«‚ɁATest.vbs ‚̃tƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚é‚ƁA‚»‚̃tƒ@ƒCƒ‹–¼uˆÈŠOv‚©‚ç‹N“®‚µ‚½ê‡‚̂݁A—LŒø‚É‚È‚è‚Ü‚·B - - - <TestCases TestSymbols="T_Sample1, T_Sample2" TestScriptFileNameExcepted="Test.vbs"/> - - - - - - - - Test.vbs ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“ - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“‚ðŽw’肵‚Ä‹N“®‚·‚é‚ƁAƒƒjƒ…[‚©‚ç‘I‘ð‚·‚é‚±‚Æ‚È‚­AŽ©“®“I‚ɃeƒXƒg‚ÌŽÀŽ{‚È‚Ç‚ðs‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - - - @echo offecho ƒeƒXƒg‚̃rƒ‹ƒhEƒXƒeƒbƒv‚ðŽÀs‚µ‚Ü‚·B - pause - cscript Test.vbs /Build - - ƒTƒ“ƒvƒ‹F BuildTest.bat - /Build - Test_build ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½‚çAƒvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - ŽŸ‚̃IƒvƒVƒ‡ƒ“‚ª‚ ‚è‚Ü‚·B - /Case:TestSymbol - TestSymbol ‚ÉŽw’肵‚½ƒeƒXƒgEƒVƒ“ƒ{ƒ‹‚Ì Test.vbs ‚ð‘I‘ð‚µ‚Ü‚·B/Case ƒIƒvƒVƒ‡ƒ“‚ª–³‚¢‚Æ‚«‚́A‚·‚×‚Ä‚Ì Test.vbs ‚ð‘I‘ð‚µ‚Ü‚·B - Test_setup ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½‚çAƒvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - /Setup - /Check - Test_check ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½‚çAƒvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - Test_start ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½‚çAƒvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - /Start - Test_clean ŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½‚çAƒvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - /Clean - /All - Test.vbs ‚Ì Test_build, Test_setup, Test_start, Test_check, Test_clean ‚ðŒÄ‚яo‚µ‚Ü‚·B ŒÄ‚яo‚µ‚½‚çAƒvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - ŠÖ˜A - - ¨ ƒeƒXƒgEƒXƒNƒŠƒvƒg ver2 - - VBS ‚©‚ç Test.vbs ‚ðŒÄ‚яo‚· - ƒeƒXƒg - - ¨ T_Prpt ƒtƒHƒ‹ƒ_ - - /log - ƒeƒXƒg‚̃ƒO‚̃tƒ@ƒCƒ‹–¼B ƒfƒtƒHƒ‹ƒg‚́A"Test_logs.txt" - - - - - - - Fail ‚µ‚½‚Æ‚« - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg ] - - Test_start ‚ȂǂŃGƒ‰[‚ª”­¶‚µ‚Ä‚àAƒGƒ‰[‚ª‚ ‚Á‚½‚±‚Æ‚ð•\Ž¦‚µ‚āATest_logs.txt ‚É‹L˜^‚·‚邾‚¯‚ŁAŽŸ‚̃eƒXƒgŠÖ”‚ðŒÄ‚яo‚µ‚ɍs‚«‚Ü‚·B - - - [FAIL] Fail the Test in "Test_start" function in "C:\home\vbslib_pack\_src\T_Priority\Test.vbs" - - Test_logs.txt ‚ɂ́AƒGƒ‰[‚ª”­¶‚µ‚½ Test.vbs ‚̃tƒ‹EƒpƒX‚ƁAƒeƒXƒgŠÖ”‚ª‹L˜^‚³‚ê‚Ä‚¢‚Ü‚·B - Test_logs.txt ‚É‹L˜^‚³‚ê‚Ä‚¢‚é Test.vbs ‚ð - - ƒfƒoƒbƒOƒ‚[ƒh(Script) - - ‚ÅŽÀs‚·‚é‚ƁA–â‘肪‚ ‚é - êŠ‚ŃuƒŒ[ƒN‚µ‚Ü‚·B - ‘½‚­‚̏ꍇAƒeƒXƒg‘Ώۂ̃vƒƒOƒ‰ƒ€‚̏o—Í’lƒ`ƒFƒbƒN‚ŃGƒ‰[‚É‚È‚Á‚Ä‚¢‚é‚̂ŁATest.vbs ‚ð - - ¨ Fail ‚µ‚½ƒeƒXƒg€–Ú‚ð“Á’è‚·‚é (FCBat) - - - ƒfƒoƒbƒOƒ‚[ƒh(Target) - - ‚ÅŽÀs‚µ‚Ü‚·B - FCBat ‚ðŽg‚Á‚Ä‚¢‚é‚Æ‚«‚́A - Test_logs.txt ‚ðu‘‚«ž‚Ý‚Å‚«‚È‚¢v‚Æ‚«AƒeƒXƒgEƒvƒƒ“ƒvƒg‚ª“ñd‚É‹N“®‚µ‚Ä“¯‚¶ƒtƒ@ƒCƒ‹‚ðŠJ‚±‚¤‚Æ‚µ‚Ä‚¢‚é‚Æ‚«‚ª‚ ‚è‚Ü‚·B ‚»‚Ì‚Æ‚«‚́A‰º‹L‚Ì /log ƒIƒvƒVƒ‡ƒ“‚ðŽw’肵‚Ä Test.vbs ‚ð - ‹N“®‚·‚é‚©AMain ŠÖ”‚̐擪‚ŁAm_DefLogFName ‚ɃƒOEƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - - - cscript Test.vbs /log:TestTarget_logs.txt - - - - Sub Main( Opt, AppKey ) g_Test.m_DefLogFName = "TestTarget_logs.txt" - RunTestPrompt AppKey.NewWritable( "." ) - End Sub - - ƒeƒXƒgEƒvƒƒ“ƒvƒgŽ©‘Ì‚ðƒfƒoƒbƒO‚·‚é‚Æ‚«‚́AƒfƒoƒbƒOƒ‚[ƒh(Script) ‚ÅŽÀs‚µ‚ăuƒŒ[ƒN‚·‚éêŠ‚ɁAStop –½—ß‚ð‹Lq‚µAcscript.exe //x ‚ŁATest.vbs ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - - Sub main2( Opt, AppKey ):set_input "5." :RunTestPrompt AppKey.NewWritable( "." ):End Sub - - 1.ƒGƒ‰[ó‹µ‚ðŠm”F‚·‚é - 2.ŒJ‚è•Ô‚µŽÀs‚·‚éŠÂ‹«‚ðì‚é - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚Ö‚Ì“ü—Í‚ðŽ©“®‰»‚·‚邱‚ƂŁAŒJ‚è•Ô‚µƒeƒXƒg‚ðŽÀs‚·‚邱‚Æ‚ðŠÈ’P‚É‚µ‚Ü‚·B - Tests.vbs - 3.ƒfƒoƒbƒK‚ɐڑ±‚µ‚āA–â‘è‚Ì‚ ‚éêŠ‚ÅŽ~‚ß‚é - 5. - - RunTestPrompt - - ‚ŁAƒeƒXƒg‚ð‚P‚‚¾‚¯Žw’肵‚½‚Æ‚«‚́ATest_log.txt ‚É‹L˜^‚³‚ê‚Ü‚·B - Test_logs.txt, Test_log.txt - ŠÖ˜A - ‹Œ AutoDiff ƒ‚[ƒh - AutoDiff ƒ‚[ƒh‚ð—LŒø‚É‚·‚é‚ƁAƒeƒXƒg‚ªŽ¸”s‚µ‚½‚Æ‚«AƒeƒXƒgEƒƒO‚Ì’†‚ɃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì - ƒeƒXƒg‚É Fail ‚µ‚½‚Æ‚«‚̑Ήž‚̃qƒ“ƒg‚ðà–¾‚µ‚Ü‚·B - i‹Œ”Łj - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - - ¨ ƒGƒ‰[EƒuƒŒ[ƒN‚ð—LŒø‚É‚·‚é - - - fc ƒRƒ}ƒ“ƒh - - ‚̏o—́iƒeƒLƒXƒg‚̍·•ª•\Ž¦j‚ª‚ ‚ê‚΁ADiff ƒc[ƒ‹‚ð‹N“®‚µ‚Ü‚·B - - ¨ Setting_getDiffCmdLine - - Diff ƒc[ƒ‹‚̐ݒè - - - Sub Main( Opt, AppKey ) g_Test.m_bAutoDiff = True - RunTestPrompt AppKey.NewWritable( "." ) - End Sub - - - m_bAutoDiff - - - ¨ [T_AutoDiff] Ž©“®“I‚É Diff ƒc[ƒ‹‚ðŠJ‚­ - - ƒeƒXƒg - ”pŽ~‚³‚ê‚Ü‚µ‚½B - - AssertFC - - ver4 ‚ł́Am_bAutoDiff_ ‚É•Ï‚¦‚é‚Æ“®‚«‚Ü‚·‚ªA¡Œã‚Í–³‚­‚È‚è‚Ü‚·B - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - - - - - - - - - - - ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - T_SomeTests - Test.vbs - Test.vbs - T_UnitTest1 - Test.vbs - T_UnitTest2 - Test_current - Test_build - Test_setup - Test_check - Test_clean - 12 - 11 - 10 - ALL ƒeƒXƒg‚ðs‚¤‚ƁA‚·‚×‚Ä‚Ì Test.vbs ƒtƒ@ƒCƒ‹i‹N“®Žž‚̃tƒ@ƒCƒ‹–¼‚Æ“¯‚¶–¼‘O‚̃tƒ@ƒCƒ‹j‚Ì Test_current ‚ð“Ç‚ñ‚¾Œã‚ɁA‚·‚×‚Ä‚Ì Test.vbsƒtƒ@ƒCƒ‹‚Ì Test_build ‚ð - ŒÄ‚яo‚·cA‚ÆŒJ‚è•Ô‚µ‚Ä‚¢‚«‚Ü‚·B - - Test_current, Test_build, Test_setup, Test_start ‚́ATests::AddTestScript ‚µ‚½‡‚ɁA - Test_check, Test_clean ‚́ATests::AddTestScript ‚µ‚½‡‚Æ‹t‚ɌĂ΂ê‚Ü‚·B - - Tests::AddTestScriptAuto ‚́AeƒtƒHƒ‹ƒ_‚©‚ç’ljÁ‚µ‚Ä‚¢‚­‚̂ŁA - Test_current, Test_build, Test_setup, Test_start ‚́AeƒtƒHƒ‹ƒ_‚©‚çA - Test_check, Test_clean ‚́AŽqƒtƒHƒ‹ƒ_‚©‚çŒÄ‚΂ê‚Ü‚·B - Test_start - AddTestScriptAuto’ljÁ‡˜ - ‚Q - ‚R - ‚P - ”Žš‚ɏ‘‚¢‚Ä‚ ‚鏇”Ô‚É Test_current ŠÖ”‚È‚Ç‚ªƒR[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚·B‚½‚¾‚µA“¯‚¶[‚³‚Ì T_UnitTest1 ‚Æ T_UnitTest2 ‚̏‡”Ô‚Í•Ï‚í‚邱‚Æ‚ª‚ ‚è‚Ü‚·B - ‚U - ‚T - ‚S - ‚Q - ‚R - ‚P - ‚X - ‚W - ‚V - 14 - 13 - 15 - 16 - 17 - 18 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ¨ Tests::CurrentTestPriority - - Tests::CurrentTestPriority ‚ðÝ’è‚·‚邱‚ƂŁAƒeƒXƒg‚̏‡”Ô‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ Tests::SetCur - - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚́AƒTƒuƒtƒHƒ‹ƒ_‚É‚ ‚é Test.vbs i‹N“®Žž‚̃tƒ@ƒCƒ‹–¼‚Æ“¯‚¶–¼‘O‚̃tƒ@ƒCƒ‹j‚àŒÄ‚яo‚µ‚Ü‚·B iTestCommon_Data.xml ‚Ì - ‚É‚æ‚Á‚ÄŽÀŽ{‚·‚éƒeƒXƒg‚͐§ŒÀ‚Å‚«‚Ü‚·Bj ‚»‚̌Ăяo‚·‡˜‚ðà–¾‚µ‚Ü‚·B - - - - - - - - - - - - - - - - (ver4) ƒeƒXƒg‚ÉŽ¸”s‚µ‚½‚çA‚»‚̃eƒXƒg‚Ì‘±‚«‚̊֐”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚¹‚ñB‚½‚Æ‚¦‚΁AT_UnitTest1 ‚Ì Test_start ŠÖ”“à‚ŃGƒ‰[‚ª”­¶‚µ‚½‚çAT_UnitTest1 - ‚Ì Test_check, Test_clean ŠÖ”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚¹‚ñB - (ver4) ƒeƒXƒg‚ðƒXƒLƒbƒv‚µ‚½‚çA‚»‚̃eƒXƒg‚Ì‘±‚«‚̊֐”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚¹‚ñ‚ªATest_clean ŠÖ”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚·B ‚½‚Æ‚¦‚΁AT_UnitTest1 ‚Ì Test_start ŠÖ” - “à‚Å Skip ŠÖ”‚ðŒÄ‚яo‚µ‚½‚çAT_UnitTest1 ‚Ì Test_check ŠÖ”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê - ‚Ü‚¹‚ñ‚ªAT_UnitTest1 ‚Ì Test_clean ŠÖ”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚·B - ŠÖ˜A - (ver4) Test_build ŠÖ”‚Æ Test_setup ŠÖ”‚Æ Test_start ŠÖ”‚́AeƒtƒHƒ‹ƒ_[‚̃eƒXƒg‚ÉŽ¸”s‚ª‚ ‚ê‚΁AŽqƒtƒHƒ‹ƒ_[‚Ì“¯‚¶–¼‘O‚̊֐”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚¹‚ñB - Test_check ŠÖ”‚Æ Test_clean ŠÖ”‚́AŽqƒtƒHƒ‹ƒ_[‚̃eƒXƒg‚ÉŽ¸”s‚ª‚ ‚ê‚΁A - eƒtƒHƒ‹ƒ_[‚̊֐”‚̓R[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚¹‚ñB - ƒeƒXƒg - - ¨ [T_SomeTests] •¡”‚̃eƒXƒgƒXƒNƒŠƒvƒg - - - /TestCases/@TestSymbols - - - ¨ Select the Test ƒƒjƒ…[ - - ŒÄ‚яo‚µ‡˜‚ðŠm”F‚·‚é - - - - - - - ‘¼‚̃vƒƒOƒ‰ƒ€‚ð‹N“®‚·‚é‹@”\‚̃eƒXƒg - WaitForFile ‚Å‘Ò‚Â - Setting_getEditorCmdLine ‚È‚Ç‚ðAƒvƒƒOƒ‰ƒ€‚ð‹N“®‚µ‚È‚¢‚悤‚É‚·‚é - ƒeƒXƒgƒvƒƒOƒ‰ƒ€ì¬‚̃qƒ“ƒg - ƒtƒ@ƒCƒ‹‚𐶐¬‚µ‚½‚èAXV‚µ‚½‚è‚·‚éƒeƒXƒg - ŠeƒeƒXƒg€–ڂ̍ŏ‰‚ŁA‘¶Ý‚·‚é‰Â”\«‚Ì‚ ‚é‚·‚ׂẴtƒ@ƒCƒ‹‚ðíœ‚·‚éŠÖ”‚ðŒÄ‚ԁB - ‚æ‚­‚ ‚éA‚·‚Å‚É‘¶Ý‚·‚éƒtƒ@ƒCƒ‹‚ª‚ ‚é‚Æ‚«‚́A‚»‚̃eƒ“ƒvƒŒ[ƒg‚©‚çƒRƒs[‚·‚é - Žè“®ƒeƒXƒg‚́Aƒ†[ƒU[‚ðƒKƒCƒh‚·‚éƒXƒNƒŠƒvƒg‚ðì¬‚·‚邱‚Æ - ŽÀÛ‚ɃeƒXƒg‚ðŽÀs‚·‚é‘O‚ɁAƒXƒNƒŠƒvƒg‚ŁAŽ©“®“I‚ɍs‚í‚ê‚é“®ì‚Ìà–¾‚ƁAŽè“®‚Å‘€ì‚·‚é“à—e‚ÆŠm”F‚·‚é“à—e‚ð•\Ž¦‚µ‚āApause ŠÖ”‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - Žè“®ƒeƒXƒg‚ª‘¶Ý‚·‚邱‚Æ‚ð’m‚点‚邽‚߂ɁATest_start ŠÖ”‚ŁAManualTest ŠÖ”‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - - - echo_line EchoTestStart "T_Sample" - echo "`‚³‚ê‚é‚̂ŁA`‚µ‚Ä‚­‚¾‚³‚¢B" - echo "`‚Å‚ ‚邱‚ƁB" - pause - echo_line - iŽè“®ƒeƒXƒg‚ÌŽ©“®•”•ª‚̏ˆ—j - - ŽQl - - ¨ samples/Test/T_TestByManual ƒtƒHƒ‹ƒ_ - - ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - - Dim e, e2 ' as Err2 - '// Error Handling Test - echo vbCRLF+"Next is Error Test" - If TryStart(e) Then On Error Resume Next - - ... - - If TryEnd Then On Error GoTo 0 - e.CopyAndClear e2 '//[out] e2 - echo e2.desc - Assert InStr( e2.desc, "SomeError" ) >= 1 - Assert e2.num <> 0 - - ƒGƒ‰[‚̏î•ñ‚ð Err2::CopyAndClear ‚ŃRƒs[‚µ‚Ä‚©‚çAƒ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢Bg_debug ‚ðÝ’肵‚½‚Æ‚«‚ɁAFail ‚µ‚½‚Æ‚±‚ë‚Ő³‚µ‚­ƒuƒŒ[ƒN‚·‚é‚悤‚É‚È‚è‚Ü‚·B - - CopyAndClear - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - - ¨ ‘¼‚̃vƒƒOƒ‰ƒ€‚ð‹N“®‚·‚é‹@”\‚̃eƒXƒg - - - ¨ ƒtƒ@ƒCƒ‹‚𐶐¬‚µ‚½‚èAXV‚µ‚½‚è‚·‚éƒeƒXƒg - - - ¨ Žè“®ƒeƒXƒg‚́Aƒ†[ƒU[‚ðƒKƒCƒh‚·‚éƒXƒNƒŠƒvƒg‚ðì¬‚·‚邱‚Æ - - ƒeƒXƒgƒP[ƒX‚Ì‘g‚ݍ‡‚킹 - - ¨ ƒeƒXƒgƒP[ƒX‚Ì‘g‚ݍ‡‚킹 - - - - Dim t, t2 For Each t In DicTable(Array( _ - "Case", "SrcPath", "AnsPath", Empty, _ - "Default", "sample1.xml", "sample1_replaced.xml", _ - "UTF8_BOM", "sample6_utf8bom.xml", "sample6_utf8bom_replaced.xml", _ - "Unicode", "sample3_unicode.xml", "sample3_unicode_replaced.xml" )) - - For Each t2 In DicTable(Array( _ - "Case2", "DstPath", "OutPath", Empty, _ - "DstNormal", "out.xml", "out.xml", _ - "DstEmpty", Empty, "out.xml", _ - "DstOverWrite", "out.xml", "out.xml" )) - Dic_add t, t2 : t2.RemoveAll '// cross join - - '//=== setup files - ... - - '//=== Do test '//##################################### Test Point - Assert Convert( t("SrcPath"), t("DstPath") ) = t("AnsPath") - - Next - Next - - ƒeƒXƒgƒP[ƒX‚Ì‘g‚ݍ‡‚킹‚Í‘½dƒ‹[ƒv‚Å‹Lq‚µ‚Ü‚·B ‚½‚¾‚µA‘g‚ݍ‡‚킹‚Í•K—vÅ’áŒÀ‚É‚µ‚Ä‚­‚¾‚³‚¢B ƒeƒXƒg‚̃pƒ‰ƒ[ƒ^[‚́A - ‹Lq‚µ‚â‚·‚­‚È‚è‚Ü‚·B - ŽÀÛ‚ɃeƒXƒg‚ðs‚¤ƒR[ƒh‚́Aƒ‹[ƒv‚̍Ōã‚Ì•û‚É‚ ‚è‚Ü‚·B - ŠÖ˜A - - ¨ TestNums - - - DicTable ŠÖ” - - ‚ðŽg‚¤‚Æ - - Dic_add ŠÖ” - - DicTable - DicTable - Dic_add - - ¨ SQL JOIN - - - JoinDicTable ŠÖ” - - echo o—Í‚µ‚āA‚»‚Ì“à—e‚ª³‚µ‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - - Sub T_Example( Opt, AppKey ) Set w_= AppKey.NewWritable( "_log.txt" ).Enable() - RunProg "cscript //nologo T_Wildcard.vbs T_Example_Main", "_log.txt" - AssertFC "_log.txt", "T_Example_ans.txt" - del "_log.txt" - Pass - End Sub - - Sub T_Example_Main( Opt, AppKey ) - echo GetTestResult() - Pass - End Sub - - RunProg ‚ÅŽqƒvƒƒZƒX‚ð‹N“®‚µA‚»‚̏o—Í‚ðƒtƒ@ƒCƒ‹‚ɃŠƒ_ƒCƒŒƒNƒg‚µ‚Ü‚·BŽqƒvƒƒZƒX‚ÅŽÀs‚·‚éƒXƒNƒŠƒvƒg‚́A’¼Ú‹N“®‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B ‚½‚Æ‚¦‚΁A‰º‹L‚̃XƒNƒŠƒvƒg - ‚ł́AT_Example_Main ‚ð‹N“®‚µ‚Ü‚·B - - ¨ echo o—Í‚µ‚āA‚»‚Ì“à—e‚ª³‚µ‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - ŠÖ˜A - - ¨ % ‚ðŽg‚Á‚½•¶Žš—ñ•ÏŠ·ŠÖ” - - - - - - - - ˆ—ƒtƒ[ (Test.vbs) - - - - - - TestPrompt.vbs - - - - - Test.vbs - - - - - ƒ^[ƒQƒbƒgƒvƒƒOƒ‰ƒ€ - - - - - - - RunTestPrompt - - ƒƒjƒ…[‚ð•\Ž¦ - (UnitTest).vbs‚ðÄƒ[ƒh - Test_start‚È‚Ç‚ðƒR[ƒ‹ƒoƒbƒN - - - - - - - - - - ‹N“® - - - - - - - - - - Œ‹‰Ê‚ð•ñ - - - - - TestPrompt_Setting.vbs‚ðƒ[ƒh•SetTest ‚ðƒR[ƒ‹ - ƒeƒXƒg‚ðŽÀs - - - - - - ƒƒjƒ…[‚ð•\Ž¦ - - ƒeƒXƒgƒXƒNƒŠƒvƒg‚ð‹N“®‚·‚é‚ƁAƒeƒXƒgƒvƒƒ“ƒvƒg‚ª‹N“®‚µ‚Ü‚·Bƒ†[ƒU‚ªƒƒjƒ…[‚©‚ç‘I‘ð‚·‚é‚ƁAƒeƒXƒgEƒvƒƒ“ƒvƒg‚©‚çƒR[ƒ‹ƒoƒbƒN - ‚³‚ê‚é‚̂ŁAƒeƒXƒg‚ÌŽÀŽ{‚È‚Ç‚ðs‚¢‚Ü‚·B - - “¯ˆêƒvƒƒZƒX“à - ŠeƒeƒXƒg€–Ú - ƒeƒXƒgEƒvƒƒ“ƒvƒgEƒGƒ“ƒWƒ“ - - - - ƒeƒXƒgƒXƒNƒŠƒvƒg - iTest.vbsj - - - - - - ƒeƒXƒgƒvƒƒ“ƒvƒg - iTestPrompt.vbsj - - - - - - - - - - ƒeƒXƒg‘ΏۃvƒƒZƒX - - - - - - - - - - - - ƒCƒ“ƒNƒ‹[ƒh - - ƒR[ƒ‹ƒoƒbƒN - - ƒeƒXƒgŽÀŽ{ - - - o—̓f[ƒ^ - - - - - - - - - - - - ƒ`ƒFƒbƒN - o—Í - - [ e: ƒeƒXƒgEƒvƒƒ“ƒvƒg ] - - - (src) - - - (src) - - - Tests::DoAllTest - - - ¨ ŒÄ‚яo‚µ‡˜ - - - (src) - - TestScript::Finish - - ¨ Setting_buildTestPrompt - - - - - - - - ƒf[ƒ^\‘¢ (Test.vbs) - - TestPrompt - - - Tests - - .m_Tests - .m_Menu() - MenuItem - .Sets - Dic< UnitTest > - .CurrentTest - - UnitTest - - in RunTestPrompt() - - (src) - - - (src) - - - TestScript - - g_Test - Tests::DoAllTest - - SectionTree - - - (src) - - section - - - - - - - - ƒeƒXƒgEƒXƒNƒŠƒvƒg ver2 - •Ê‚Ì VBS ƒtƒ@ƒCƒ‹‚ðŒÄ‚яo‚µ‚½‚èAƒƒO‚ð‚Æ‚Á‚½‚肵‚Ü‚·B - ‘SƒeƒXƒg‚Ì‚Æ‚«Aƒ†ƒjƒbƒgƒeƒXƒg‚Ì‚Æ‚«AƒfƒoƒbƒO‚Ì‚Æ‚«A‚Æ‚¢‚¤ó‹µ‚ɉž‚¶‚āAƒeƒXƒgƒXƒPƒWƒ…[ƒ‰‚́A—Õ‹@‰ž•Ï‚ɃeƒXƒgƒXƒNƒŠƒvƒg‚ðŒÄ‚яo‚µ‚Ü‚·B - ƒeƒXƒgˆ—‚ªŽ¸”s‚µ‚½‚çAƒeƒXƒgƒXƒNƒŠƒvƒg‚©‚çƒeƒXƒgƒXƒPƒWƒ…[ƒ‰‚É return “I‚É–ß‚èA - ƒeƒXƒgƒXƒPƒWƒ…[ƒ‰‚́AŽŸ‚̃eƒXƒgƒXƒNƒŠƒvƒg‚ðŽÀs‚µ‚Ü‚·B - - - ƒeƒXƒgƒXƒNƒŠƒvƒg - - - - ƒeƒXƒgƒXƒPƒWƒ…[ƒ‰ - - - - Do_ - - - - - - - - - - - - - - cscript.exe ‚È‚Ç - - - - ƒvƒƒZƒX‹N“® - - - - - - - - ¨ TestPrompt ƒNƒ‰ƒX - - - ¨ Tests ƒNƒ‰ƒX - - - ¨ TestScript ƒNƒ‰ƒX - - - ¨ ‚»‚Ì‘¼‚̊֐” - - Tests ƒNƒ‰ƒX‚ðƒ†[ƒU‚©‚çŽg‚¤‚½‚߂̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å‚·B - ƒeƒXƒg‚ðƒXƒPƒWƒ…[ƒŠƒ“ƒO‚·‚éƒNƒ‰ƒX‚Å‚·B - ƒeƒXƒgƒXƒNƒŠƒvƒg‚ðŒÄ‚яo‚·ƒNƒ‰ƒX‚Å‚·B - - ¨ ƒeƒXƒgƒc[ƒ‹‚̐ڑ±êŠ - - ŽQl - ƒeƒXƒg - - ¨ TestsClass ƒtƒHƒ‹ƒ_ - - - - Dim ts : Set ts = new Tests ts.AddTestScriptAuto ".", "Test.vbs" - ts.DoAllTest - - ƒTƒ“ƒvƒ‹ - - - - - - - Ý’èƒtƒ@ƒCƒ‹ TestPrompt_Setting.vbs - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚ÉŠÖ‚·‚éÝ’è‚ð‹Lq‚µ‚½ƒtƒ@ƒCƒ‹‚Å‚·B’ʏíA•ÒW‚µ‚È‚­‚Ä‚à‚»‚Ì‚Ü‚ÜŽg‚¦‚Ü‚·B - ƒeƒXƒgƒVƒ“ƒ{ƒ‹‚ƁAƒ†ƒjƒbƒgEƒeƒXƒgEƒvƒƒ“ƒvƒg‚Ì VBS ƒtƒ@ƒCƒ‹‚Ì‚ ‚éƒpƒX‚̑ΉžŠÖŒW‚ð‹Lq‚µ‚Ü‚·B - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚̃ƒjƒ…[€–Ú‚ð‹Lq‚µ‚Ü‚·B - - - prompt.m_Menu(1).m_Caption = "1. Do ALL Test" prompt.m_Menu(1).m_OpType = prompt.Op_AllTest - - - - fo = "test\" Set t= tests.AddTestScript( "T_Fold1", fo+"T_Fold1.vbs" ) - - - - tests.AddTestScriptAuto tests.BaseFolderPath, "Test.vbs" - - ‚Ü‚½‚Í - - Setting_buildTestPrompt ŠÖ” - - ‚ɐݒè‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹ - - ¨ TestPrompt_Setting_default.vbs # Setting_buildTestPrompt - - - - - - - - RunTestPrompt - - - Sub RunTestPrompt( Opt ) - - - (src) - - Opt - Empty ‚Ü‚½‚́ATest.vbs ‚̃pƒXA‚Ü‚½‚Í Writables ƒIƒuƒWƒFƒNƒg - yˆø”z - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚ðŠJ‚«‚Ü‚·B - Opt ‚É Empty ‚ðŽw’è‚·‚é‚ƁAƒTƒuƒtƒHƒ‹ƒ_‚É‚ ‚é Test.vbs ‚àƒeƒXƒg‚µ‚Ü‚·BOpt ‚É - - Test.vbs - - ‚̃pƒX‚ðŽw’è‚·‚é‚ƁA‚»‚̃eƒXƒg‚¾‚¯‚ðƒeƒXƒg‚µ‚Ü‚·B - Opt ‚É Test.vbs ‚̃pƒX‚ðŽw’肵‚È‚©‚Á‚½‚Æ‚«‚̃ƒO‚̃tƒ@ƒCƒ‹–¼‚́ATest_logs.txtAŽw’肵‚½‚Æ‚«‚̃ƒO‚̃tƒ@ƒCƒ‹–¼‚́ATest_log.txt ‚É‚È‚è‚Ü‚·B - - - Sub main2( Opt, AppKey ) RunTestPrompt AppKey.NewWritable( "." ) - End Sub - - ƒTƒ“ƒvƒ‹ - ƒR[ƒ‹ƒcƒŠ[ - RunTestPrompt - main2 - TestPrompt::DoPrompt - TestPrompt::DoTest - Opt ‚É Writables ƒIƒuƒWƒFƒNƒg‚ðŽw’è‚·‚é‚ƁA‚»‚̐ݒè‚ðŽg‚¢AAƒTƒuƒtƒHƒ‹ƒ_‚É‚ ‚é Test.vbs ‚àƒeƒXƒg‚µ‚Ü‚·B - - Test.vbs ‚É‹Lq‚·‚éŠÖ” - - iTest_build ‚Ȃǁj ‚ðŒÄ‚яo‚µ‚Ü‚·B - ƒeƒXƒgEƒvƒƒ“ƒvƒg‚Å‘I‘ð‚µ‚½ƒƒjƒ…[€–Ú‚É‚æ‚Á‚āA - ŠÖ˜A - - ¨ GetTemporaryTestsObject - - - RunTestPromptConfigClass - - Opt ‚É - ‚̃IƒuƒWƒFƒNƒg‚ðŽw’è‚Å‚«‚Ü‚·B - - - - - - - RunTestPromptConfigClass - ƒ\[ƒX - .Writable - .ExpectedPassConut - Writables - integer - - RunTestPrompt - - ‚̐ݒèB - - ¨ TestPrompt.vbs - - string - .TestTargetVBS_Path - - ¨ NewWritable (AppKeyClass) - - ƒeƒXƒg‘ÎÛ‚Ì Test.vbs ‚̃pƒX - - ¨ ExpectedPassConut (TestScript) - - - RunTestPrompt - - ‚ÉŽw’肵‚Ü‚·B - - - - - - - TestPrompt ƒNƒ‰ƒX - - Tests ƒNƒ‰ƒX - - ‚ðƒ†[ƒU‚©‚çŽg‚¤‚½‚߂̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å‚·B - .DoPrompt - - (src) - - - (src) - - - - - - - - Tests ƒNƒ‰ƒX - - .AddTestScriptAuto - - ƒeƒXƒg‚ðƒXƒPƒWƒ…[ƒŠƒ“ƒO‚·‚éƒNƒ‰ƒX‚Å‚·B - .CurrentSymbol - Œ»ÝÝ’肳‚ê‚Ä‚¢‚éƒeƒXƒgƒVƒ“ƒ{ƒ‹A "T_ALL"‚È‚Ç - .BaseFolderPath - as string - as string - ƒeƒXƒgƒcƒŠ[‚̃x[ƒXiƒ‹[ƒgjƒtƒHƒ‹ƒ_‚̃pƒX - - .CurrentTestPriority - - ƒeƒXƒg‚Ì—Dæ“x - .Symbol - as string - Œ»ÝŽÀs‚µ‚Ä‚¢‚éƒeƒXƒg‚̃eƒXƒgƒVƒ“ƒ{ƒ‹ - - (src) - - .m_bAutoDiff - - AutoDiff ƒ‚[ƒh - - - Delegate ‚̓RƒR - - ƒtƒHƒ‹ƒ_‚ÉŠÜ‚Ü‚ê‚é‚·‚×‚Ä‚Ì Test.vbs ‚ðƒ[ƒh‚µ‚Ü‚·B - .CurrentTest - as - - UnitTest - - Œ»ÝŽÀs‚µ‚Ä‚¢‚éƒeƒXƒg‚̏î•ñA - .LoadTestSet - ŽÀŽ{‚ðs‚¤ƒeƒXƒgEƒVƒ“ƒ{ƒ‹‚ð“ǂݍž‚Þ - ƒeƒXƒg - - ¨ [T_LoadTestSet] - - - ¨ T_TestSet ƒtƒHƒ‹ƒ_ - - ‚ð—LŒø‚É‚·‚é‚©‚Ç‚¤‚© - - Test.vbs ‚É‹Lq‚·‚éƒR[ƒ‹ƒoƒbƒNŠÖ” - - ‚̈ø”‚Å‚·B - - - - - - - AddTestScriptAuto (Tests) - - - Function Tests::AddTestScriptAuto( BasePath, FName ) - - - (src) - - ƒtƒHƒ‹ƒ_‚ÉŠÜ‚Ü‚ê‚é‚·‚ׂẴeƒXƒg€–ÚƒXƒNƒŠƒvƒgiTest.vbsj‚ªŒÄ‚яo‚¹‚é‚悤‚É‚µ‚Ü‚·B - yˆø”z - BasePath - FName - ŒŸõ‚·‚éƒtƒHƒ‹ƒ_ - ƒeƒXƒg€–ÚƒXƒNƒŠƒvƒg‚̃tƒ@ƒCƒ‹–¼i’ʏí Test.vbsj - •Ô‚è’l - ‚È‚µ - - ¨ › [T_AddAuto] ƒeƒXƒg€–Ú‚ÌŽ©“®’ljÁ - - ƒeƒXƒg - - - - - - - AddTestScript (Tests) - - - Function Tests::AddTestScript( Symbol, FileName ) - - ƒeƒXƒg€–ÚƒXƒNƒŠƒvƒgiTest.vbsj‚ªŒÄ‚яo‚¹‚é‚悤‚É‚µ‚Ü‚·B - yˆø”z - Symbol - FileName - ƒeƒXƒgƒVƒ“ƒ{ƒ‹ - ƒeƒXƒg€–ÚƒXƒNƒŠƒvƒg‚̃tƒ@ƒCƒ‹–¼i’ʏí Test.vbsj - •Ô‚è’l - ‚È‚µ - - (src) - - - - - - - - CurrentTestPriority (Tests) - - - Dim Tests::CurrentTestPriority as integer - - ŒÄ‚яo‚µ‡˜‚ðŒˆ‚ß‚é‚½‚߂́AŒ»Ý‚̃eƒXƒg‚Ì—Dæ“x - - - Sub Test_current( tests ) tests.CurrentTestPriority = 850 - End Sub - - - ¨ ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - - (src) - - ƒfƒtƒHƒ‹ƒg‚Í 1000 ‚Å‚·B - ƒTƒ“ƒvƒ‹ - - ¨ Test_current - - ŽQl - ’l‚Ì—áFEƒ\[ƒX‚ðƒrƒ‹ƒh‚·‚é = 700”Ô‘ä - EƒeƒXƒgEƒ‰ƒCƒuƒ‰ƒŠ‚ðƒrƒ‹ƒh‚·‚é = 800”Ô‘ä - EƒeƒXƒgEƒvƒƒOƒ‰ƒ€‚ðƒrƒ‹ƒh•ŽÀs‚·‚é = 900”Ô‘ä - EƒTƒ“ƒvƒ‹EƒvƒƒOƒ‰ƒ€‚ðƒrƒ‹ƒh•ŽÀs‚·‚é = 1000”Ô‘ä - - - - - - - Symbol (Tests) - - - Dim Tests::Symbol as string - - Œ»Ý‚̃eƒXƒg‚ÌŽ¯•ÊŽqiƒeƒXƒgEƒVƒ“ƒ{ƒ‹j - ƒfƒtƒHƒ‹ƒg‚́ATest.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚Ì–¼‘O‚Å‚·B - - ¨ Test_current - - ŽQl - - - - - - - SetCurrentSymbol (Tests) - - - Function Tests::SetCurrentSymbol( Symbol as string ) as integer - - Œ»Ý‚̃eƒXƒg‚ÌŽ¯•ÊŽqiƒeƒXƒgEƒVƒ“ƒ{ƒ‹j‚ð‘I‘ð‚µ‚Ü‚·B - ‘S‚ẴeƒXƒg‚ð‘I‘ð‚·‚é‚Æ‚«‚́A"ALL" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - •Ô‚è’l‚́A0=¬Œ÷A1=Ž¸”s - - - - - - - GetCallingOrder (Tests) - - - Sub Tests::GetCallingOrder( out_UnitTests as UnitTest ) - - - (src) - - - ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - ‚ðŽæ“¾‚µ‚Ü‚·B - - - - - - - DoAllTest (Tests) - - - Sub Tests::DoAllTest() - - - ¨ 2. Do ALL Test - - - (src) - - ƒR[ƒ‹ƒcƒŠ[ - Tests::DoAllTest - ‚·‚ׂẴeƒXƒg‚ðŽÀŽ{‚µ‚Ü‚·B - ŽQl - TestScript::Do_ - ŠÖ˜A - - ¨ Tests::DoTest - - call_vbs_t - Test_start ‚È‚Ç - - (src) - - TestScript::Finish - ShakerSort_fromDic - TestScript::Start - ƒeƒXƒg‚·‚鏇”Ԃ𐮗ñ‚·‚é - ƒeƒXƒgEƒXƒNƒŠƒvƒg‚ÖƒR[ƒ‹ƒoƒbƒN‚·‚é - - ¨ ˆ—ƒtƒ[ iƒeƒXƒgEƒvƒƒ“ƒvƒgj - - ŽQl - g_fs.OpenTextFile - ExecuteGlobal - If en <> 0 Then Err.Raise en,, ed - '//=== Echo the Test title - echo - If en = E_TestPass Then TestScript::m_nPass = m_nPass + 1 - ƒeƒXƒg‚ÌŒ‹‰Ê‚ð‚Ü‚Æ‚ß‚é - For Each CurrentTest '// as UnitTest - ( CurrentTest.ScriptPath, "Test_start", Me as Tests ) - ƒeƒXƒg‚̃‹[ƒv - Tests::OnTestFunctionSetup - m_Symbol = Me.CurrentTest.Symbol - TestScript::m_nPass = 0 - ƒeƒXƒg‚̏WŒv‚ðƒŠƒZƒbƒg‚·‚é - - m_Symbol = Me.CurrentTest.Symbol - Tests::OnTestFunctionFinish - ( CurrentTest.ScriptPath, "Test_current", Me as Tests ) - - (src) - - TestScript::Do_ - - TestPrompt::DoPrompt - - - - - - - - DoTest (Tests) - - - Sub Tests::DoTest( Func as string, bReverse as Boolean ) - - - 3. call each "Test_build" in sub folders - - ‚ȂǁAƒeƒXƒgŠÖ”‚Ì‚P‚‚ðŽÀs‚µ‚Ü‚·B - yˆø”z - Func - bReverse - ŒÄ‚яo‚·ŠÖ”‚Ì–¼‘O - •¡”‚Ì Test.vbs ‚̊֐”‚ð‹t‡‚ɌĂяo‚µ‚Ü‚·B(*1) - - ¨ ƒTƒuƒtƒHƒ‹ƒ_‚̊֐”‚̌Ăяo‚µ‡˜ - - (*1) - - (src) - - ŠÖ˜A - - ¨ Tests::DoAllTest - - ƒTƒuƒtƒHƒ‹ƒ_[‚É‚ ‚éƒeƒXƒgEƒXƒNƒŠƒvƒg‚Å’è‹`‚³‚ê‚Ä‚¢‚éAFunc ‚ÉŽw’肵‚½–¼‘O‚̊֐”‚àƒR[ƒ‹ƒoƒbƒN‚³‚ê‚Ü‚·B - True ‚É‚·‚é‚ƁATest_clean ‚Æ“¯‚¶‡˜‚ɌĂяo‚µ‚Ü‚·B - - - - - - - SetCur (Tests) - - - Sub Tests::SetCur( SubSymbol ) - - ƒfƒoƒbƒO‚ðs‚¤ƒTƒuƒeƒXƒgƒVƒ“ƒ{ƒ‹‚ðÝ’肵‚Ü‚·B - Test_current ‚Ì’†‚©‚çŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢BŽw’肵‚½ƒTƒuƒeƒXƒgƒVƒ“ƒ{ƒ‹‚̃eƒXƒg€–Ú‚¾‚¯ŽÀŽ{‚·‚é‚悤‚É‚È‚è‚Ü‚·B - - ¨ Tests::IsCur - - - - Sub Test_current( tests ) tests.SetCur "SubTestA" - End Sub - - Sub Test_start( tests ) - If tests.IsCur( "SubTestA" ) Then - '// Do SubTestA - End If - If tests.IsCur( "SubTestB" ) Then - '// Do SubTestB - End If - Pass - End Sub - - ƒfƒoƒbƒO‚ªÏ‚ñ‚¾‚çA"" ‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - - (src) - - ƒeƒXƒg - - ¨ T_SubTest\Test_target.vbs#SetCur - - - - - - - - IsCur (Tests) - - - Function Tests::IsCur( SubSymbol ) - - Žw’è‚̃TƒuƒeƒXƒgƒVƒ“ƒ{ƒ‹A‚Ü‚½‚Í "" ‚ªÝ’肳‚ê‚Ä‚¢‚é‚©”»’肵‚Ü‚·B - Test_start ‚ȂǁiTest_current ˆÈŠOj‚Ì’†‚©‚çŒÄ‚яo‚µ‚Ü‚·B - - ¨ Tests::SetCur - - - (src) - - ƒeƒXƒg - - ¨ T_SubTest\Test_target.vbs#IsCur - - ŠÖ˜A - - - - - - - SaveTestResultHtml (Tests) - - - Sub Tests::SaveTestResultHtml( SavePath as string ) - - ƒeƒXƒg‚ÌŒ‹‰Ê‚ð HTML Œ`Ž®‚ŏo—Í‚µ‚Ü‚·B - yˆø”z - SavePath - o—̓tƒ@ƒCƒ‹ƒpƒXB Empty ‚Ì‚Æ‚« "TestResult.html" - ƒtƒ@ƒCƒ‹F - - - TestScript.vbs - - - (src) - - - ¨ T_SomeTests.vbs # T_TestReport - - ƒeƒXƒg - o—̓Tƒ“ƒvƒ‹F - - - ‘‚«‚©‚¯ - - - - –¢‘Ήž - - - - - - - - SaveTestResultCSV (Tests) - - - Sub Tests::SaveTestResultCSV( SavePath as string ) - - ƒeƒXƒg‚ÌŒ‹‰Ê‚ð CSV Œ`Ž®‚ŏo—Í‚µ‚Ü‚·B - yˆø”z - SavePath - o—̓tƒ@ƒCƒ‹ƒpƒXB Empty ‚Ì‚Æ‚« "TestResult.csv" - ƒtƒ@ƒCƒ‹F - - - TestScript.vbs - - o—̓Tƒ“ƒvƒ‹F - - (src) - - - - Test symbol,result,step,path,priorityT_SomeTests,Pass,,TestOfTest2.vbs,1000 - T_SampA,Pass,,T_SampA\TestOfTest2.vbs,1000 - T_SampB,Fail,Test_check,T_SampB\TestOfTest2.vbs,1000 - T_SampC,Skip,Test_setup,T_SampC\TestOfTest2.vbs,1000 - - - ¨ T_SomeTests.vbs # T_TestReport - - ƒeƒXƒg - - - - - - - LoadTestResultCSV (Tests) - - - Sub Tests::LoadTestResultCSV( LoadPath as string ) - - ƒeƒXƒg‚ÌŒ‹‰Ê‚ð CSV Œ`Ž®‚ŏo—Í‚µ‚Ü‚·B - yˆø”z - LoadPath - o—̓tƒ@ƒCƒ‹ƒpƒXB Empty ‚Ì‚Æ‚« "TestResult.csv" - ƒtƒ@ƒCƒ‹F - - - TestScript.vbs - - - (src) - - - - - - - - TestScript ƒNƒ‰ƒXAg_Test •Ï” - ƒeƒXƒgƒXƒNƒŠƒvƒg‚ðŒÄ‚яo‚·ƒNƒ‰ƒX‚Å‚·BƒOƒ[ƒoƒ‹•Ï” g_Test ‚́ATestScript ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ä‚¢‚Ü‚·B - - ¨ TestScript::Finish - - - ¨ TestScript::Do_ - - - ¨ TestScript::Start - - ƒeƒXƒg‚ðŠJŽn‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðŠJŽn‚µ‚Ü‚·B - ƒeƒXƒgŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·Bi“¯‚¶ƒvƒƒZƒXj - ƒeƒXƒg‚ðI—¹‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðI—¹‚µ‚ďWŒv‚µ‚Ü‚·B - - ¨ ƒeƒXƒgEƒXƒNƒŠƒvƒg‚̃eƒXƒg - - - (src) - - - - - - - - Start (TestScript) - - - Sub TestScript::Start - - ƒeƒXƒg‚ðŠJŽn‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðŠJŽn‚µ‚Ü‚·B - ƒJƒŒƒ“ƒgƒeƒXƒg‚̃XƒNƒŠƒvƒg‚ª‚ ‚éƒtƒHƒ‹ƒ_‚ɁATestScript_log.txt‚ª‚Å‚«‚Ü‚·B - - (src) - - - - - - - - Do_ (TestScript) - - - Sub TestScript::Do_( vbs_path as string, func as string, param as variant ) - - ƒeƒXƒgŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·Bi“¯‚¶ƒvƒƒZƒXj - yˆø”z - vbs_path - func - ƒeƒXƒgEƒXƒNƒŠƒvƒg‚ª‘‚©‚ꂽ VBScript ƒtƒ@ƒCƒ‹‚̃pƒX - ŒÄ‚яo‚·ŠÖ”‚Ì–¼‘Oi•¶Žš—ñj - param - ŠÖ”‚É“n‚·ƒpƒ‰ƒ[ƒ^ - Do ‚ÌŒã‚ɁAƒAƒ“ƒ_[ƒ‰ƒCƒ“‚ª‚ ‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢Bi–³‚¢‚ƃGƒ‰[‚ɂȂ邽‚߁j - - (src) - - - - - - - - Finish (TestScript) - - - Sub TestScript::Finish - - ƒeƒXƒg‚ðI—¹‚µ‚Ü‚·B ƒƒOŽæ‚è‚ðI—¹‚µ‚ďWŒv‚µ‚Ü‚·B - TestScript ƒNƒ‰ƒX‚̃fƒXƒgƒ‰ƒNƒ^‚É‚æ‚Á‚ăeƒXƒg‚ªI—¹‚µ‚Ü‚·‚ªA–¾Ž¦“I‚É‚±‚Ì Finish ‚ðŒÄ‚яo‚µ‚ďI—¹‚³‚¹‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - (src) - - - - - - - - ExpectedPassConut (TestScript) - - - Dim TestScript::ExpectedPassConut as integer - - —\‘z‚³‚ê‚é Pass ‚̐”B - - - ==========================================================Test Finish (Pass=155, Manual=6, Skip=0, Fail=0) - ExpectedPassConut = 155 [OK] - - ƒTƒ“ƒvƒ‹ - ˆê’v‚µ‚½Žž‚Ì•\Ž¦—á - ˆê’v‚µ‚È‚©‚Á‚½‚çA[FAIL] ‚Æ•\Ž¦‚³‚ê‚Ü‚·B - ExpectedPassConut ‚ªÝ’肳‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́AExpectedPassConut ‚̍s‚ð•\Ž¦‚µ‚Ü‚¹‚ñB - ƒ\[ƒX - - ¨ TestScript.vbs - - ƒeƒXƒg - - ¨ T_Prpt ƒtƒHƒ‹ƒ_[ - - ŠÖ˜A - - ¨ RunTestPromptConfigClass - - Test.vbs ‚ðŽg‚¤‚Æ‚« - ::ExpectedPassConut - - - - - - - UnitTest ƒNƒ‰ƒX - - - Class UnitTest Public Symbol ' as string - Public ScriptPath ' as string - Public Priority ' as integer - Public Delegate ' as variant - End Class - - - (src) - - - Delegate - - - - - - - - ‚»‚Ì‘¼‚̊֐” - - - - - - - GetTemporaryTestsObject - - - Function GetTemporaryTestsObject() as Tests - - ˆêŽž“I‚È Tests ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µATest_current ‚ðŒÄ‚яo‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ƒeƒXƒgEƒIƒuƒWƒFƒNƒg - ƒtƒ@ƒCƒ‹F - - - TestScript.vbs - - - - Sub Main( Opt, AppKey ) Dim g : Set g = GetTemporaryTestsObject().CurrentTest.Delegate - RunTestPrompt AppKey.NewWritable( Array( ".", g("PublicFolder") ) ) - End Sub - - Sub Test_current( tests ) - If IsEmpty( tests.CurrentTest.Delegate ) Then - Dim g : Set g = CreateObject( "Scripting.Dictionary" ) : Set tests.CurrentTest.Delegate = g - - '[Setting] - '============================================================================== - g("PublicFolder") = "..\Public\FromPackage" - '============================================================================== - End If - End Sub - - Žå‚ɁATest_current ‚Ŏ擾‚Å‚«‚éƒf[ƒ^‚ðARunTestPrompt ‚ðŒÄ‚яo‚·‘O‚ÉŽQÆ‚·‚é‚Æ‚«‚ÉŽg‚¢‚Ü‚·B - ƒeƒXƒg - - ¨ T_TempTests ƒtƒHƒ‹ƒ_ - - - GetTemporaryTestsObject().CurrentTest ‚́A“¯‚¶ƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚é Test_current ŠÖ”‚Ȃǂ̈ø”‚É“n‚éƒIƒuƒWƒFƒNƒg‚ðŽw‚µ‚Ä‚¢‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - - - - - CheckTestErrLevel - - - Sub CheckTestErrLevel( errorlevel as integer ) - - VBS ƒvƒƒOƒ‰ƒ€‚̏I—¹ƒR[ƒhiƒGƒ‰[ƒŒƒxƒ‹j‚É–â‘肪‚ ‚Á‚½‚çƒGƒ‰[‚𔭐¶‚³‚¹‚éB - yˆø”z - errorlevel - - ¨ RunProg - - ƒGƒ‰[ƒŒƒxƒ‹iWScript.Quit ‚̈ø”j - “à•”‚ŁAPass, Fail, Skip ‚Ì‚¢‚¸‚ê‚©‚ðŒÄ‚яo‚µ‚Ü‚·BVBS ƒvƒƒOƒ‰ƒ€‚́Awscript ‚Å‚Í‚È‚­ cscript ‚ŌĂяo‚³‚È‚¢‚ƁA³‚µ‚¢ƒGƒ‰[ƒŒƒxƒ‹ - ‚ðŽæ“¾‚Å‚«‚Ü‚¹‚ñB - - - r = g_sh.Run( "cscript sample.vbs",, True ) CheckTestErrLevel r - - - (src) - - - ¨ ³íI—¹Žž‚Ì“®ì - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - RunProg - - ‚©‚ç VBScript ‚̃XƒNƒŠƒvƒg‚ðŒÄ‚яo‚µ‚āAŽqƒvƒƒZƒX‚ŃGƒ‰[‚ª”­¶‚·‚é‚ƁA - eƒvƒƒZƒX‚Ì RunProg ‚Ì’†‚©‚çƒGƒ‰[‚ª”­¶‚µ‚Ä‚µ‚Ü‚¤‚½‚߁AI—¹ƒR[ƒh‚ðŽæ“¾‚Å‚«‚Ü‚¹‚ñB - - Run (Shell) - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ ƒGƒ‰[”­¶Žž‚Ì“®ì - - ŽQl - - - - - - - g_IsAutoTest - - - Dim g_IsAutoTest as boolean - - Ž©“®ƒeƒXƒg‚ðŽÀs’†‚©‚Ç‚¤‚©B - g_IsAutoTest = True ‚É‚·‚é‚ƁA - - Pause - - ‚µ‚È‚­‚Ȃ邱‚Æ‚ª‚ ‚è‚Ü‚·B - - - - - - - ƒeƒXƒgŽx‰‡‹@”\ iŠÖ”j - ƒeƒXƒg‘ΏۂƂȂéƒXƒNƒŠƒvƒg‚ªŽg‚¤‚à‚Ì - - - - - - - - - Sub T_Test1( Opt, AppKey ) Dim x - - Dim cases : Set cases = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" ) - For Each x In cases.Items - T_Test1_main Opt, AppKey, x '// Test.vbs ‚Ì’†‚ł́Aƒpƒ‰ƒ[ƒ^[‚Í ( tests, x ) - Next - Pass - End Sub - - '// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚­‚čςނ悤‚ɁAƒeƒXƒg‚ÌŽÀŽ{‚Í *_main ŠÖ”‚É‚·‚é - Sub T_Test1_main( Opt, AppKey, x ) - Dim w_:Set w_=AppKey.NewWritable( "out" ).Enable() - EchoTestStart "T_Test1" - echo x '// ‘S‚Ẵf[ƒ^‚ð•\Ž¦‚·‚é - - FuncA CInt( x("InputData") ) - FuncB Replace( x("Answer"), "%Num%", CStr( 12 ) ) - End Sub - - ReadTestCase - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases name="common" ExeName="Sample"> - <!-- base_data="...\TestCommon_Data.xml#root" --> - - <TestCase id="TestCase_for_T_Test1" base_data="#common"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" _comment2= "FilePath with variable" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - /> - </TestCase> - - <TestCase id="TestCase_for_T_Test1_sub"> <!-- This is cross parameter --> - <SubCase name="CurrentFolder" - CurrentFolder = "." - StepPath = "Data\" - /> - <SubCase name="SubFolder" - CurrentFolder = "Data" - StepPath = "" - /> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - - - Function ReadTestCase( XmlPath as string, TestCaseID as string ) as ArrayClass of Dictionary - - ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̃f[ƒ^‚ɃAƒNƒZƒX‚·‚éƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - XmlPath - TestCaseID - ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̃pƒX - XML ƒtƒ@ƒCƒ‹‚Ì’†‚Ì <TestCase> ƒ^ƒO‚Ì id ‘®«‚Ì’lA‚Ü‚½‚Í Empty - - - TestScript.vbs - - •Ô‚è’l - ƒeƒXƒgƒP[ƒX‚̃f[ƒ^‚ÌŽ«‘A‚Ü‚½‚́A‚»‚Ì”z—ñ - ƒtƒ@ƒCƒ‹F - ƒeƒXƒg - - (src) - - - ¨ T_TestCaseData.vbs # T_TestCaseData - - ƒeƒXƒgƒP[ƒX‚̃f[ƒ^‚Ì‘½‚­‚͍\‘¢‘Ì‚Ì”z—ñ‚Å‚ ‚邽‚߁AXML ƒtƒ@ƒCƒ‹‚̏‘Ž®‚́A‚»‚ê‚ð‘z’肵‚āA‚ ‚é’ö“xŒˆ‚ß‚Ä‚¢‚Ü‚·B ‚±‚Ì•W€‰»‚É‚æ‚èAXML ƒtƒ@ƒCƒ‹‚ðŒ©‚½‚Æ‚«‚ɃeƒXƒgƒP[ƒX‚ª - ”cˆ¬‚µ‚â‚·‚­‚È‚è‚Ü‚·‚µAƒeƒXƒgEƒXƒNƒŠƒvƒg‚̃R[ƒh‚à DOM ‚æ‚èŠÈ’P‚É‚È‚è‚Ü‚·B ‘Ž®‚̏ڍׂ́A - ‰º‹L‚Ì DTD ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - ‚à‚µA•¡ŽG‚ȃf[ƒ^‚ð‹Lq‚µ‚½‚¢‚Æ‚«‚́Aˆê”Ê“I‚È XML ƒtƒ@ƒCƒ‹‚ðƒAƒNƒZƒX‚·‚é DOM ‚ðŽg‚Á‚Ä - ‚­‚¾‚³‚¢B ŽQl - ƒTƒ“ƒvƒ‹EƒR[ƒhF - T_Test1_Data.xml - TestCase_for_T_Test1 - Answer - InputData - TestCasesATestCaseASubCase ‚̃^ƒO–¼‚ð•Ï‚¦‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - XML ƒ^ƒO‚Ì’†i—áFSubCase ƒ^ƒO‚Ì’†j ‚É <!-- --> Œ`Ž®‚̃Rƒƒ“ƒg‚Í“ü‚ꂽ‚¢‚Æ‚«‚́A - XML‚ÌŽd—lã‚Å‚«‚È‚¢‚̂ŁAƒ_ƒ~[‚Æ‚È‚é _comment1 ‚È‚Ç‚Ì‘®«‚ðŽg‚Á‚āAƒRƒƒ“ƒg‚ð - ‹Lq‚µ‚Ü‚·B - •Ô‚è’l‚́AŽ«‘Œ^‚ð—v‘f‚ÉŽ‚”z—ñiArrayClassj‚Å‚·B Ž«‘‚̃L[‚́AXML ‘®«‚Ì–¼‘O‚Å‚·Bƒf[ƒ^‚Ì‹ï‘Ì“I‚È’l‚́A‰º‹L‚̃Tƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - E“¾‚ç‚ê‚éƒf[ƒ^‚Í‚·‚ׂĕ¶Žš—ñŒ^‚Å‚·B - E”’l‚ðŽg‚¤‚Æ‚«‚́ACInt ŠÖ”‚È‚Ç‚ðŽg‚¢‚Ü‚·B - EŽ«‘‚̃L[‚ÉŽw’肵‚½–¼‘O‚ɑΉž‚·‚é XML ‘®«‚ª‘¶Ý‚µ‚È‚¢‚Æ‚«‚́AEmpty ‚ð•Ô‚µ‚Ü‚·B - E•¡”‚̃f[ƒ^‚ðƒRƒ“ƒ}‚Å‹æØ‚Á‚Ä‹Lq‚µ‚½‚Æ‚«‚́A - E“®“I‚ɕω»‚·‚éƒf[ƒ^‚ð XML ƒtƒ@ƒCƒ‹‚É‹Lq‚·‚é‚Æ‚«‚́A%Num% ‚̂悤‚ɕϐ”‚ð‹Lq‚µ‚Ü‚·B - @‚½‚¾‚µAƒeƒXƒgEƒXƒNƒŠƒvƒg‚Å Replace ŠÖ”‚â - E#name iHTML ‚Ì href ‘®«j‚̃Šƒ“ƒNæ‚𓾂é‚ɂ́A - - ArrayFromCSV - - ‚È‚Ç‚ðŽg‚¢‚Ü‚·B - ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̏‘Ž® - InputData - Answer - TestCase_for_T_Test1 - TestCase_for_T_Test1_sub - - ¨ GetMainSetting ŠÖ” (vbsool) - - ŠÖ˜A - - - Function ReadTestCase( XmlPath as string, Empty ) as Dictionary - - - ¨ LoadXML - - - ArrayClass - - - Dictionary - - - Dictionary - - - ¨ TestNums (clib) - - - TestCases - TestCase - SubCase - SubCase - SubCase - TestCase - TestCase - SubCase - TestCase - TestCases - - ¨ •¡”ƒP[ƒX‚Å‹¤’ʂ̃f[ƒ^ - - - ¨ SetReadTestCase - - ƒfƒoƒbƒO—p‚ɁAƒeƒXƒgƒP[ƒX‚ðŽw’肵‚Ü‚· - ƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹“à‚̃f[ƒ^ - CŒ¾Œê‚̃eƒXƒg”ԍ† - T_Test1 - T_Test1 - T_Test1 - - ¨ •¡”‚̃P[ƒX‚Å‹¤’ʂ̃f[ƒ^ - - - ¨ ƒNƒƒXEƒP[ƒX - - - ¨ ƒeƒXƒgEƒP[ƒX‚Ì‘I‘ð - - - ¨ ƒXƒNƒŠƒvƒg‚©‚çƒeƒXƒgƒP[ƒX‚ðŽw’è‚·‚é - - - ¨ “ÁŽê‚È XML ‘®« (ReadTestCase) - - - #common - - - ‚È‚Ç‚ðŽg‚Á‚Ä’l‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - - DicItemOfItem - - - GetHRefBase - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - ‘®«’l‚̈µ‚¢•û - - ¨ DicTable - - Ž«‘‚ðŽg‚Á‚½ƒeƒXƒgƒf[ƒ^ - ReadTestCase - - - - - - - •¡”‚̃P[ƒX‚Å‹¤’ʂ̃f[ƒ^ - - [ e: ReadTestCase ] - - •¡”‚̃eƒXƒgƒP[ƒX‚Å‹¤’ʂ̃f[ƒ^‚́A - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases ExeName="Sample" name="common"> - <!-- base_data="...\TestCommon_Data.xml#root" --> - - <TestCase id="TestCase_for_T_Test1" CommonData1="1" base_data="#common"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" _comment2= "FilePath with variable" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - /> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - #common - common - ‚ðŽw’è‚·‚é‚©A - TestCase ƒ^ƒO‚Ì‘®«‚É‹Lq‚Å‚«‚Ü‚·B - - - <?xml version="1.0" encoding="Shift_JIS"?> - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" _comment2= "FilePath with variable" - CommonData1 = "1" ExeName = "Sample.exe" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - CommonData1 = "1" ExeName = "Sample.exe" - /> - </TestCase> - - </TestCases> - - ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒeƒXƒgEƒf[ƒ^‚É‚È‚è‚Ü‚·B - CommonData1 - - “ÁŽê‚È XML ‘®« - - CommonData1 - CommonData1 - ExeName - ExeName - ExeName - - - - - - Dim test_common_data : Set test_common_data = ReadTestCase( SearchParent(_ "TestCommon_Data.xml" ), Empty ) '// test_common_data as <TestCases> - - start test_common_data( "ExeName" ) - - <TestCases> ƒ^ƒO‚Ì“à—e‚ðƒŠ[ƒh‚·‚é‚Æ‚«‚́A‰º‹L‚̂悤‚É‚µ‚Ü‚·B - - - - - - - i‹Œ”Łj •¡”‚̃P[ƒX‚Å‹¤’ʂ̃f[ƒ^ - - - Sub T_Test1( Opt, AppKey ) Dim x - - Dim xx : Set xx = ReadTestCase( "T_Test1_Data.xml", Empty ) '// xx as <TestCases> - - Dim cases : Set cases = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" ) - For Each x In cases.Items - Dic_add x, xx - T_Test1_main Opt, AppKey, x - Next - Pass - End Sub - - '// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚¢‚½‚߁AƒeƒXƒg‚ÌŽÀŽ{‚Í *_main ŠÖ”‚É‚·‚é - Sub T_Test1_main( Opt, AppKey, x ) - echo x - FuncA CInt( x("InputData") ) - FuncB x("CommonData1") - End Sub - - T_Test1_Data.xml - - - <?xml version="1.0" encoding="UTF-8"?><TestCases - CommonData1 = "Sample.exe" - > - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" _comment2= "FilePath with variable" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - /> - </TestCase> - - </TestCases> - - CommonData1 - TestCases - CommonData1 - •¡”‚̃eƒXƒgƒP[ƒX‚Å‹¤’ʂ̃f[ƒ^‚ðAXML ƒtƒ@ƒCƒ‹‚Ì TestCases ƒ^ƒO‚Ì‘®«‚©‚烊[ƒh‚·‚é‚Æ‚«‚́AReadTestCase ‚Ì‘æ2ˆø”‚ð Empty ‚ÉŽw’肵‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - - [ e: ReadTestCase ] - - Empty - T_Test1 - T_Test1 - T_Test1 - - •¡”‚̃eƒXƒgEƒvƒƒOƒ‰ƒ€‚Å‹¤’ʂ̃f[ƒ^‚́AeƒtƒHƒ‹ƒ_[‚É‚ ‚鋤’Ê‚Ì XML ƒtƒ@ƒCƒ‹‚©‚烊[ƒh‚µ‚Ä‚­‚¾‚³‚¢B - - - Set xx = ReadTestCase( SearchParent("TestCommon_Data.xml"), Empty ) '// xx as <TestCases> - - - SearchParent - - - - - - - - “ÁŽê‚È XML ‘®« (ReadTestCase) - ReadTestCase ‚ªƒŠ[ƒh‚·‚é XML ƒtƒ@ƒCƒ‹‚́Aƒf[ƒ^‚Ì‹Lq‚ªç’·‚É‚È‚ç‚È‚¢‚悤‚ɁAƒf[ƒ^‚ÌŒp³‚âW–ñ‚ª‚Å‚«‚é“ÁŽê‚È XML ‚ªŽg‚¦‚Ü‚·B - - ¨ base_data ‘®« - - - ¨ plus_attr ‘®« - - - ¨ aggregate ‘®« - - XML ‘®«‚ðŒp³‚µ‚Ü‚· - Œp³‚µ‚½ XML ‘®«‚Í CSV Œ`Ž®‚ŒljÁ‚µ‚Ü‚· - Žq‚Ì XML —v‘f‚ðW–ñ‚µ‚Ü‚· - - - <!ELEMENT TestCases (TestCase*)><!ELEMENT TestCase (SubCase*)> - - <!ATTLIST TestCases - * CDATA #IMPLIED - name ID #IMPLIED - base_data IDREFS #IMPLIED - plus_attr NMTOKENS #IMPLIED - > - <!ATTLIST TestCase - * CDATA #IMPLIED - id ID #REQUIRED - base_data IDREFS #IMPLIED - plus_attr NMTOKENS #IMPLIED - aggregate IDREFS #IMPLIED - > - <!ATTLIST SubCase - * CDATA #IMPLIED - name ID #IMPLIED - base_data IDREFS #IMPLIED - plus_attr NMTOKENS #IMPLIED - > - - ƒeƒXƒgƒf[ƒ^‚ð‹Lq‚·‚é XML ƒtƒ@ƒCƒ‹‚Ì DTD - - [ e: ReadTestCase ] - - - - - - - - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="Number" InputData = "123" base_data="#T_Test1_Common"/> - <SubCase name="Alphabet" InputData = "ABC" base_data="#T_Test1_Common"/> - <SubCase name="AlphaNum" InputData = "1AB" Answer="ans2.txt"/> - </TestCase> - - <TestCase id="TestCase_for_T_Test1_Common"> - <SubCase name="T_Test1_Common" Answer="ans1.txt"/> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - ƒf[ƒ^‚Ì‘½‚­‚Í‹¤’ʂŁAˆê•”‚̃f[ƒ^‚¾‚¯•Ï‚¦‚é‚Æ‚«‚́Abase_data ‘®«‚ðŽg‚Á‚Ä‘®«‚ðŒp³‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B base_data ‘®«‚́AA ƒ^ƒO‚Ì href ‘®«‚Æ“¯‚¶‹LqŒ`Ž®‚Å‚·B •Ê‚̃tƒ@ƒCƒ‹‚©‚çŒp³‚·‚é - ‚±‚Æ‚à‚Å‚«‚Ü‚·B - base_data ‘®« - T_Test1_Common - T_Test1_Common - T_Test1_Common - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="Number" InputData = "123" Answer="ans1.txt"/> - <SubCase name="Alphabet" InputData = "ABC" Answer="ans1.txt"/> - <SubCase name="AlphaNum" InputData = "1AB" Answer="ans2.txt"/> - </TestCase> - - </TestCases> - - ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒf[ƒ^‚É‚È‚è‚Ü‚·B - Answer="ans1.txt" - Answer="ans1.txt" - ƒtƒ@ƒCƒ‹ƒpƒX‚ɁAƒsƒŠƒIƒh‚ð‚R‚•À‚ׂé‚ƁAeƒtƒHƒ‹ƒ_[Ae‚̐eƒtƒHƒ‹ƒ_[ c ‚Æ’T‚µ‚Ä‚¢‚«‚Ü‚·BŽQl - - ¨ ƒpƒX‚ɃsƒŠƒIƒh‚ð‚R‚•À‚ׂ½ê‡ - - - [ e: ReadTestCase ] - - ƒeƒXƒg - - ¨ T_TestCaseData.vbs # [T_BaseTestCaseData] - - - ¨ T_TestCaseData.xml # T_BaseTestCaseData_1 ‚È‚Ç - - - - - - - - - - plus_attr ‘®« - CSV Œ`Ž®‚̃f[ƒ^‚ðA•Ê‚̃^ƒO‚©‚ç’ljÁ‚·‚é‚Æ‚«‚́Aplus_attr ‘®«‚ðŽg‚¢‚Ü‚·Bplus_attr ‘®«‚Ì’l‚́A‘®«‚Ì’l‚ð CSV Œ`Ž®‚Å•À‚ׂ܂·B - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="a" InputDataA="123" InputDataB="123" - base_data="#T_Test1_Common" plus_attr="InputDataA"/> - </TestCase> - - <TestCase id="TestCase_for_T_Test1_Common"> - <SubCase name="T_Test1_Common" InputDataB="ABC" InputDataB="ABC"/> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - InputDataA - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="a" InputDataA="123, ABC" InputDataB="123"/> - </TestCase> - - </TestCases> - - ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒf[ƒ^‚É‚È‚è‚Ü‚·B - - [ e: ReadTestCase ] - - InputDataA - ƒeƒXƒg - - ¨ T_TestCaseData.vbs # [T_BaseTestCaseData] - - - ¨ T_TestCaseData2.xml # T_BaseTestCaseData_22 ‚È‚Ç - - InputDataA - - - - - - - aggregate ‘®« - TestCase ƒ^ƒO‚ÌŽq‚Ì SubCase ƒ^ƒO‚ɁA•Ê‚Ì TestCase ƒ^ƒO‚ÌŽq‚ð’ljÁ‚·‚é‚Æ‚«‚́Aaggregate ‘®«‚ðŽg‚¢‚Ü‚·B - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1" aggregate="#TestCase_Common"> - <SubCase name="a" InputDataA="123" InputDataB="123"/> - </TestCase> - - <TestCase id="TestCase_for_T_Test2" aggregate="#TestCase_Common"> - <SubCase name="b" InputDataA="123" InputDataB="ABC"/> - </TestCase> - - <TestCase id="TestCase_Common"> - <SubCase name="c" InputDataA="ABC" InputDataB="ABC"/> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="a" InputDataA="123" InputDataB="123"/> - <SubCase name="c" InputDataA="ABC" InputDataB="ABC"/> - </TestCase> - - <TestCase id="TestCase_for_T_Test2"> - <SubCase name="b" InputDataA="123" InputDataB="ABC"/> - <SubCase name="c" InputDataA="ABC" InputDataB="ABC"/> - </TestCase> - - </TestCases> - - ã‚̃tƒ@ƒCƒ‹‚Ɖº‚̃tƒ@ƒCƒ‹‚́A“¯‚¶ƒf[ƒ^‚É‚È‚è‚Ü‚·B - TestCase_Common - TestCase_Common - TestCase_Common - - [ e: ReadTestCase ] - - ƒeƒXƒg - - ¨ T_TestCaseData.vbs # [T_BaseTestCaseData] - - - ¨ T_TestCaseData.xml # T_AggregateTestCaseData_1 ‚È‚Ç - - SubCase - SubCase - SubCase - - - - - - - ƒNƒƒXEƒP[ƒX - - - Sub T_Test1( Opt, AppKey ) Dim x, y, mix - - Dim cases_x : Set cases_x = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1_x" ) - Dim cases_y : Set cases_y = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1_y" ) - Set mix = CreateObject( "Scripting.Dictionary" ) - For Each y In cases_y.Items - For Each x In cases_x.Items - mix.RemoveAll : Dic_add mix, x : Dic_add mix, y - T_Test1_main Opt, AppKey, mix - Next - Next - Pass - End Sub - - '// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚¢‚½‚߁AƒeƒXƒg‚ÌŽÀŽ{‚Í *_main ŠÖ”‚É‚·‚é - Sub T_Test1_main( Opt, AppKey, x ) - echo x - FuncA x("InputData"), ReadFile( x("CurrentFolder") +"\file.txt" ) - End Sub - - - - <?xml version="1.0" encoding="UTF-8"?><TestCases> - - <TestCase id="TestCase_for_T_Test1_x"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" _comment2= "FilePath with variable" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - /> - </TestCase> - - <TestCase id="TestCase_for_T_Test1_y"> <!-- This is cross case --> - <SubCase name="CurrentFolder" - CurrentFolder = "." - StepPath = "Data\" - /> - <SubCase name="SubFolder" - CurrentFolder = "Data" - StepPath = "" - /> - </TestCase> - - </TestCases> - - InputData - CurrentFolder - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - ƒeƒXƒgƒP[ƒX‚Ì’l‚ªA•\‚̏cŽ²‚Ɖ¡Ž²‚É‚ ‚èA•\‚Ì‘S‚Ä‚ðƒeƒXƒg‚·‚éê‡‚́A‰º‹L‚̂悤‚É“ñdƒ‹[ƒv‚É‚µ‚āADic_add ‚ðŽg‚Á‚ăeƒXƒgƒf[ƒ^‚ðŒ‹‡‚µ‚Ü‚·B - - - - [ e: ReadTestCase ] - - T_Test1 - T_Test1 - T_Test1 - XML ƒtƒ@ƒCƒ‹‚ðŽg‚í‚È‚¢AƒNƒƒXEƒP[ƒX‚̃Tƒ“ƒvƒ‹ - - - Sub T_Test1( Opt, AppKey ) Set t = CreateObject( "Scripting.Dictionary" ) - - For Each endian In Array( "LittleEndian", "BigEndian" ) - For Each language In Array( "VBScript", "C" ) - t("Endian") = endian - t("Language") = language - T_Test1_Main t - Next - Next - - Pass - End Sub - - - '// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚¢‚½‚߁AƒeƒXƒg‚ÌŽÀŽ{‚Í *_Main ŠÖ”‚É‚·‚é - Sub T_Test1_Main( Opt, AppKey, x ) - echo x - FuncA x("Endian"), x("Language") - End Sub - - - - - - - - ƒeƒXƒgEƒP[ƒX‚Ì‘I‘ð - - - Sub T_Test1( Opt, AppKey ) Dim x - - Dim cases : Set cases = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" ) - Set x = cases.LookUpDic( "name", "Alphabet" ) - T_Test1_main Opt, AppKey, x - Pass - End Sub - - SubCase ƒ^ƒO‚Ì’†‚©‚çA“Á’è‚̃^ƒO‚¾‚¯‘I‘ð‚·‚é‚Æ‚«‚́AArrayClass ‚Ì LookUpDic ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - <?xml version="1.0" encoding="Shift_JIS"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - /> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - "name", "Alphabet" - - - [ e: ReadTestCase ] - - - - - - - - - ƒXƒNƒŠƒvƒg‚©‚çƒeƒXƒgƒP[ƒX‚ðŽw’è‚·‚é - - [ e: ReadTestCase ] - - - - Sub T_Test1( Opt, AppKey ) Dim x, y - - Dim cases : Set cases_x = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" ) - For Each x In cases_x.Items - For Each y In Array( 2, 3 ) - x("y") = y - T_Test1_main Opt, AppKey, x - x.Remove "y" - Next - Next - Pass - End Sub - - '// ƒ‹[ƒv‚ª‘‚¦‚Ä‚àƒCƒ“ƒfƒ“ƒg‚ð[‚­‚³‚¹‚È‚¢‚½‚߁AƒeƒXƒg‚ÌŽÀŽ{‚Í *_main ŠÖ”‚É‚·‚é - Sub T_Test1_main( Opt, AppKey, x ) - echo x - FuncA x("InputData"), ReadFile( x("y") +"\file.txt" ) - End Sub - - ƒeƒXƒgƒP[ƒX‚Ì’l‚ð XML ƒtƒ@ƒCƒ‹‚Å‚Í‚È‚­AƒXƒNƒŠƒvƒg‚É–„‚ߍž‚ޏꍇ‚́A‰º‹L‚̂悤‚É‘ã“ü‚µ‚Ü‚·B - x("y") = y - ( 2, 3 ) - T_Test1 - T_Test1 - T_Test1 - x("y") - - x.Remove "y" - - - - - - - - - - - TempParams.txt - CŒ¾Œê‚̃vƒƒOƒ‰ƒ€‚Ƀf[ƒ^‚ð“n‚· - CŒ¾Œê‚Ì•W€ƒ‰ƒCƒuƒ‰ƒŠ‚¾‚¯‚ðŽg‚¤‚Æ‚«‚́Afgets ‚ðŽg‚Á‚½‚Ps‚¸‚“ǂݍž‚ނ悤‚È’Pƒ‚ȃtƒ@ƒCƒ‹EƒŠ[ƒh‚µ‚©‚Å‚«‚Ü‚¹‚ñ‚ªAVBScript ‚Å XML ‚Ȃǂ̃f[ƒ^‚𐮗‚·‚邱‚ƂŁACŒ¾Œê‚̃vƒƒOƒ‰ƒ€‚É•¡ŽG‚È - “®‚«‚ð‚³‚¹‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - Test.vbs - CŒ¾Œê‚̃vƒƒOƒ‰ƒ€ - - - - - - - - - - - - - T_Test1.xml - TempParams.txt - - - Sub T_Test1_main( tests, x ) // x is from ReadTestCase Dim f : Set f = OpenForWrite( "TempParams.txt", Empty ) - f.WriteLine x("Param1") & " // Param1" - f = Empty - - r= RunProg( "CLangProg.exe /TempParams:TempParams.txt", "" ) - - del "TempParams.txt" - - vbs ƒXƒNƒŠƒvƒg‚̃Tƒ“ƒvƒ‹ (Test.vbs) - - ReadTestCase - - - - int Params_read( Params* m, FILE* f ); - int T_Sample() - { - int e; - errno_t et; - FILE* f = NULL; - TCHAR s[256]; - TCHAR path[256]; - - //=== ReadTestCase - e= GetCommandLineNamed( _T("TempParams"), false, s, sizeof(s) ); IF(e)goto fin; - e= StrT_getFullPath( path, sizeof(path), s, NULL ); - et= _tfopen_s( &f, path, _T("rt") ); IF(et)goto err_no; - e= Params_read( &params, f ); IF(e)goto fin; - - //=== Test Main - // Write here ... - - e=0; - fin: - if(f!=NULL){ee= fclose( f ); IF(ee&&!e)e=E_Errno;} - } - - - int Params_read( Params* m, FILE* f ) - { - int e; - int i; - TCHAR line[256]; - - line[0] = '\0'; - _fgetts( line, _countof(line), f ); - - e= StrT_cutLineComment( line, sizeof(line), line, _T("//") ); IF(e)goto fin; - m->BufferSize = _ttoi( line ); - - _fgetts( line, _countof(line), f ); // skip space line - e=0; - fin: - return e; - } - - CŒ¾Œê‚̃eƒXƒgEƒvƒƒOƒ‰ƒ€‚̃Tƒ“ƒvƒ‹ (CLangProg.exe) - - - - - StrT_cutLineComment - - TempParams.txt ƒtƒ@ƒCƒ‹‚Ì ƒf[ƒ^Œ^‚Ì–¼‘O - ƒeƒXƒgEƒf[ƒ^‚ª•¡”‚̃f[ƒ^\‘¢‚ðŽ‚Â‚Æ‚«‚́Aƒf[ƒ^\‘¢‚ðŽ¯•Ê‚·‚éƒVƒ“ƒ{ƒ‹‚ðTempParams.txt ƒtƒ@ƒCƒ‹‚É‹Lq‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - - - DataTypeA // ƒf[ƒ^Œ^‚Ì–¼‘O100 // DataTypeA ‚Ì‚P‚–ڂ̃f[ƒ^ - 200 // DataTypeA ‚Ì‚Q‚–ڂ̃f[ƒ^ - - DataTypeB // ƒf[ƒ^Œ^‚Ì–¼‘O - 100 // DataTypeB ‚Ì‚P‚–ڂ̃f[ƒ^ - 200 // DataTypeB ‚Ì‚Q‚–ڂ̃f[ƒ^ - 300 // DataTypeB ‚Ì‚R‚–ڂ̃f[ƒ^ - - TempParams.txt ƒtƒ@ƒCƒ‹‚Ì ƒtƒ‰ƒOƒh\‘¢‘̃pƒ‰ƒ[ƒ^[ - - ¨ ƒtƒ‰ƒOƒh\‘¢‘̃pƒ‰ƒ[ƒ^[ - - ŽQl - TempParams.txt ƒtƒ@ƒCƒ‹‚ÌŠî–{Œ` - - - 100 // ‚P‚–ڂ̃eƒXƒgEƒP[ƒX‚Ì‚P‚–ڂ̃f[ƒ^200 // ‚P‚–ڂ̃eƒXƒgEƒP[ƒX‚Ì‚Q‚–ڂ̃f[ƒ^ - - 110 // ‚Q‚–ڂ̃eƒXƒgEƒP[ƒX‚Ì‚P‚–ڂ̃f[ƒ^ - 210 // ‚Q‚–ڂ̃eƒXƒgEƒP[ƒX‚Ì‚Q‚–ڂ̃f[ƒ^ - - ‘½‚­‚̏ꍇAƒeƒXƒgEƒf[ƒ^‚ð’Pƒ‚É•À‚ׂĂ¢‚­‚¾‚¯‚ŁAƒeƒXƒg‚ðŽÀŽ{‚·‚邱‚Æ‚Í‚Å‚«‚é‚Å‚µ‚傤BƒeƒXƒgEƒP[ƒX‚ª•¡”‚ ‚é‚Æ‚«‚́A‹ós‚Å‹æØ‚é‚Æ‚æ‚¢‚Å‚µ‚傤B - clib ‚Ì StrT_cutLineComment ŠÖ”‚ðŽg‚¦‚΁AƒRƒƒ“ƒg‚ð“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ‰º‹L‚́Astruct { int a; int b; } TestData[2]; ‚Æ‚¢‚¤\‘¢‚É‚È‚è‚Ü‚·B - ‚P‚‚̃eƒXƒgEƒP[ƒX‚É‚¨‚¢‚āA‚»‚ꂼ‚ê‚̃f[ƒ^‚ðŽg‚¤‚©‚Ç‚¤‚©‚ð•\‚·‚ɂ́A‚P‚–ڂ̃f[ƒ^‚ðƒrƒbƒgƒtƒB[ƒ‹ƒh‚̐”’l‚Æ‚µ‚ÄŽg‚¢Aƒrƒbƒg‚ª1‚Å‚ ‚ê‚ΑΉž‚·‚éƒf[ƒ^‚ª‹Lq‚³‚ê‚Ä‚¢‚é‚悤‚É - ‚µ‚Ü‚·B - - - 0x07 // ƒrƒbƒgƒtƒB[ƒ‹ƒhB ƒrƒbƒg‚OA‚PA‚Q‚ª‚P100 // ‚P‚–ڂ̃f[ƒ^ - 200 // ‚Q‚–ڂ̃f[ƒ^ - 300 // ‚R‚–ڂ̃f[ƒ^ - - 0x02 // ƒrƒbƒgƒtƒB[ƒ‹ƒhB ƒrƒbƒg‚P‚Ì‚Ý‚ª‚P - 200 // ‚Q‚–ڂ̃f[ƒ^ - - TempParams.txt - TempParams.txt - TempParams.txt - - - - - - - ReadTestCase “à•”‚̃fƒoƒbƒO - - - If IsEmpty( g_ReadTestCase ) Then Set g_ReadTestCase = new XmlObjReaderg_ReadTestCase.IsVerbose = True - Skipped - - ‰º‹L‚̂悤‚É IsVerbose ‚ð True ‚É‚·‚é‚ƁAXML ‚ðƒŠ[ƒh‚·‚鏈—‚̃Xƒeƒbƒv‚ð•\Ž¦‚µ‚Ü‚·B - - - - - - - SetReadTestCase - - - Sub SetReadTestCase( XmlPath as string, TestCaseID as string, Condition as string ) - - ƒfƒoƒbƒO—p‚ɁAƒeƒXƒgƒP[ƒX‚ðŽw’肵‚Ü‚·B - yˆø”z - XmlPath - TestCaseID - ƒeƒXƒgƒP[ƒX‚ª‘‚©‚ꂽ XML ƒtƒ@ƒCƒ‹‚̃pƒX - XML ƒtƒ@ƒCƒ‹‚Ì’†‚Ì <TestCase> ƒ^ƒO‚Ì id ‘®«‚Ì’l - Condition - ƒeƒXƒgƒP[ƒX‚ðŽw’è‚·‚éðŒ•¶ - - - TestScript.vbs - - ƒtƒ@ƒCƒ‹F - - - Sub T_Test1( Opt, AppKey ) Dim testcases, x - - SetReadTestCase "T_Test1_Data.xml", "TestCase_for_T_Test1", "name='Alphabet'" : Skipped - Set x = ReadTestCase( "T_Test1_Data.xml", "TestCase_for_T_Test1" ) - For Each x In testcases.Items '// x ‚́AInputData="ABC" ‚Ì‚P‰ñƒ‹[ƒv‚Ì‚Ý‚É‚È‚é - T_Test1_main Opt, AppKey, x - Next - Pass - End Sub - - ƒTƒ“ƒvƒ‹EƒR[ƒhF - - - <?xml version="1.0" encoding="UTF-8"?><TestCases> - - <TestCase id="TestCase_for_T_Test1"> - <SubCase name="Number" - InputData = "123" - Answer = "ans%Num%.txt" _comment2= "FilePath with variable" - /> - <SubCase name="Alphabet" - InputData = "ABC" - Answer = "ans2.txt" - /> - </TestCase> - - </TestCases> - - ƒTƒ“ƒvƒ‹ XML ƒtƒ@ƒCƒ‹F T_Test1_Data.xml - - SetReadTestCase - - ReadTestCase - - ‚ðŒÄ‚яo‚·‘O‚ɁASetReadTestCase ‚ðŒÄ‚яo‚·ƒR[ƒh‚ð’ljÁ‚·‚é‚ƁA - ReadTestCase ‚Ì•Ô‚è’l‚ªASetReadTestCase ‚ÅŽw’肵‚½‚P‚‚̃P[ƒX‚¾‚¯‚É‚È‚è‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_TestCaseData.vbs # [T_SetReadTestCase] - - - Skipped - - - - - - - - SetStartSectionTree - - - Sub SetStartSectionTree( SectionNames as string ) - - ŽÀs‚·‚éƒZƒNƒVƒ‡ƒ“‚ðÝ’肵‚Ü‚·B - yˆø”z - SectionNames - ƒZƒNƒVƒ‡ƒ“–¼B CSVŒ`Ž® - ƒtƒ@ƒCƒ‹F - - - vbslib.vbs - - - - SetStartSectionTree "Sec1" - - ƒTƒ“ƒvƒ‹ - - - SetStartSectionTree "Sec1, SubSec2" - - ƒTƒ“ƒvƒ‹ - Sec1 ƒZƒNƒVƒ‡ƒ“‚Ì’†‚Ì SubSec2 ƒZƒNƒVƒ‡ƒ“‚©‚çŽÀs‚µ‚Ü‚·B - Sec1 ƒZƒNƒVƒ‡ƒ“‚©‚çŽÀs‚µ‚Ü‚·B - - [ e: SectionTree ƒNƒ‰ƒX ] - - ƒeƒXƒg - - ¨ T_SectionTree.vbs # [T_SectionTree_SetStart] - - - (src) - - ŠÖ˜A - - ¨ SectionTree ƒNƒ‰ƒX - - - ¨ T_SectionTree.vbs # [T_SectionTree_SetStart2] - - - ¨ T_SectionTree.vbs # [T_SectionTree_SetStart3] - - - ¨ T_SectionTree.vbs # [T_SectionTree_SetStartMiss] - - - - - - - - Pass - - - Sub Pass - - ƒeƒXƒg‚ªƒpƒX‚µ‚½‚±‚Æ‚ðAƒeƒXƒgƒXƒNƒŠƒvƒg‚É’m‚点‚āAƒvƒƒOƒ‰ƒ€‚ðI—¹‚µ‚Ü‚·B - - (src) - - “à•”“I‚ɂ́AƒGƒ‰[ 21 ‚ª”­¶‚µ‚Ü‚·B - - ¨ ³íI—¹Žž‚Ì“®ì - - ƒeƒXƒg - ŽQl - - ¨ T_SomeTests.vbs # T_TestReport - - ‚Ì T_SampA - - - - - - - Fail - - - Sub Fail - - ƒeƒXƒg‚ªŽ¸”s‚µ‚½‚±‚Æ‚ðAƒ†[ƒU[‚âƒeƒXƒgƒXƒNƒŠƒvƒg‚É’m‚点‚āAƒvƒƒOƒ‰ƒ€‚ðI—¹‚µ‚Ü‚·BƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚Æ“¯‚¶“®‚«‚ð‚µ‚Ü‚·B‚‚܂èAFail ‚ÌŒã‚ÍŽÀs‚µ‚Ü‚¹‚ñB - - (src) - - ƒeƒXƒg - - ¨ T_SomeTests.vbs # T_TestReport - - ‚Ì T_SampB - - - - - - - Skip - - - Sub Skip - - ƒeƒXƒg‚ªŽÀs‚Å‚«‚éó‹µ‚Å‚Í‚È‚¢‚±‚Æ‚ðAƒeƒXƒgƒXƒNƒŠƒvƒg‚É’m‚点‚āAƒvƒƒOƒ‰ƒ€‚ðI—¹‚µ‚Ü‚·BƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚Æ“¯‚¶“®‚«‚ð‚µ‚Ü‚·B‚‚܂èASkip ‚ÌŒã‚ÍŽÀs‚µ‚È‚¢‚ŁAŽŸ‚̃eƒXƒg‚ðŽÀs‚µ‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_SomeTests.vbs # T_TestReport - - ‚Ì T_SampC - - - - - - - Skipped - - - Sub Skipped - - ƒfƒoƒbƒO‚È‚Ç‚Ì——R‚ŁAƒeƒXƒg‚̈ꕔ‚ðˆêŽž“I‚ɃXƒLƒbƒv‚µ‚½‚±‚Æ‚ðAƒeƒXƒgƒXƒNƒŠƒvƒg‚É’m‚点‚Ü‚·B Skipped ‚ðŒÄ‚ñ‚¾ƒeƒXƒg€–ڂ́APass ‚ðŒÄ‚яo‚µ‚Ä‚à Fail ‚µ‚Ü‚·B - ‚±‚Ì‚Æ‚«‚̃Gƒ‰[ƒƒbƒZ[ƒW‚́AŽŸ‚̂悤‚É‚È‚è‚Ü‚·B - - (src) - - - - Pass But Skipped. Cut calling "Skipped" function. - - ƒeƒXƒg - - ¨ [T_Skip] ƒeƒXƒg‚ðƒXƒLƒbƒv‚·‚é - - - - - - - - ManualTest - - - Sub ManualTest( TestSymbol as string ) - - ƒeƒXƒg‚ªŽè“®ƒeƒXƒg‚Å‚ ‚邱‚Æ‚ðAƒeƒXƒgƒXƒNƒŠƒvƒg‚É’m‚点‚Ü‚·B - - - ManualTest tests.Symbol - - ƒTƒ“ƒvƒ‹ - - ¨ Tests ƒNƒ‰ƒX - - ŽQl - - (src) - - Žè“®ƒeƒXƒg‚͍ŒáŒÀ‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - ManualTest "T_Sample1" - - - ¨ ƒeƒXƒgƒvƒƒOƒ‰ƒ€ì¬‚̃qƒ“ƒg - - ŽQl - - - - - - - Assert - - - Sub Assert( Condition as boolean ) - - ðŒ‚ª–ž‚½‚³‚ê‚Ä‚¢‚é‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - –ž‚½‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΁AFail ‚ðŒÄ‚яo‚µ‚Ü‚·BIf not Condition Then Fail ‚Æ‚Ù‚Ú“¯‚¶‚Å‚·‚ªiˆá‚¢‚͉º‹LjA³‚µ‚¢ðŒ•¶‚ð‹Lq‚·‚é - ‚±‚Æ‚É‚È‚é‚̂ŁAƒ\[ƒX‚̉“ǐ«‚ª‚ ‚ª‚è‚Ü‚·B - ‚Ü‚½AIf •¶‚ðŽg‚í‚È‚¢‚̂ŁAƒ}ƒ‹ƒ`ƒXƒe[ƒgƒƒ“ƒgi‚Ps‚É•¡”‚Ì•¶j‚ª‹Lq‚Å‚«‚Ü‚·B - g_debug ‚̐ݒè‚É‚©‚©‚í‚炸í‚Ƀ`ƒFƒbƒN‚µ‚Ü‚·B - - - Public Property Let VarA(x) : Assert x >= 0 : VarA = x : End Property - - - (src) - - If Condition ‚Æ If not Condition ‚́AŠ®‘S‚É”½‘΂̊֌W‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚½‚Æ‚¦‚΁AIf 4 ‚Æ If not 4 ‚́A‚Ç‚¿‚ç‚à^‚Å‚·B - Š®‘S‚É”½‘΂̊֌W‚ÍŽŸ‚̂悤‚É•¡”s‚É‚È‚è‚Ü‚·B - If Condition Then - Else - *** - End If - ‚æ‚Á‚āA³‚µ‚¢ðŒ•¶‚ð‹Lq‚·‚邱‚Æ‚Í If Then Fail ‚æ‚è Assert ‚Ì•û‚ªŠÈ’P‚É‚È‚è‚Ü‚·B - x >= 0 - ŠÖ˜A - - ¨ Fail - - - ¨ Raise - - ƒeƒXƒg‚ªŽ¸”s‚µ‚½‚±‚Æ‚ðAƒ†[ƒU[‚âƒeƒXƒgƒXƒNƒŠƒvƒg‚É’m‚点‚Ü‚·B - V‹K‚ɃGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ƒgƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒO - ¶•Ó‘S‘Ì‚ðŠ‡ŒÊ‚ÅˆÍ‚Þ‚ÆAƒGƒ‰[‚É‚È‚è‚Ü‚·B - - - Assert ( a + 2 ) = 0 '// ƒGƒ‰[: Œ^‚ªˆê’v‚µ‚Ü‚¹‚ñB: 'Assert' - - ã‹L‚́A( a + 2 ) = 0 ‚Ì•]‰¿‚ðs‚Á‚Ä‚©‚ç Assert ‚ðŒÄ‚яo‚·‚Ì‚Å‚Í‚È‚­Aa + 2 ‚ð”z—ñ”ԍ†‚Æ‚µ‚½ Assert ”z—ñ‚É 0 ‚ð‘ã“ü‚·‚é‚悤‚ɉðŽß‚³‚ê‚Ü‚·B - - - Assert a + 2 = 0Assert ( ( a + 2 ) = 0 ) - - ˆÈ‰º‚̂悤‚ÉŠ‡ŒÊ‚ðíœ‚·‚é‚©AŠ‡ŒÊ‚ð’ljÁ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - AssertExist - - - Sub AssertExist( Path as string ) - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - - AssertExist "settings.txt" - - ƒTƒ“ƒvƒ‹F - - ¨ vbslib.vbs - - ‘¶Ý‚µ‚È‚¯‚ê‚΁AƒGƒ‰[ƒƒbƒZ[ƒW‚Ì’†‚Ƀtƒ@ƒCƒ‹‚̃pƒX‚ªŠÜ‚Ü‚ê‚Ü‚·B‚±‚Ì‚½‚߁AƒfƒoƒbƒK‚ð‹N“®‚µ‚È‚­‚Ä‚àƒ†[ƒU[‚ª‘Ήž‚Å‚«‚é‰Â”\«‚ª‚‚Ü‚è‚Ü‚·B - ƒGƒ‰[ƒR[ƒh‚́AE_PathNotFound ‚É‚È‚è‚Ü‚·B - ‹t‚ɁAAssertExist ‚ł́A‘¶Ý‚·‚é‚Æ‚«‚ɃGƒ‰[‚É‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - "settings.txt" - ƒGƒ‰[ƒƒbƒZ[ƒW‚̃Tƒ“ƒvƒ‹F - - - <ERROR msg="ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ" path="C:\Folder\setting.txt"/> - - - ¨ T_File.vbs - - ƒeƒXƒg - ŠÖ˜A - - ¨ exist - - - ¨ TestCommon_setVariables - - ŽQl - Test.vbs ‚Å‹¤’ʂ̃tƒ@ƒCƒ‹‚Ì‘¶Ýƒ`ƒFƒbƒN - ƒ\[ƒX - T_AssertExist_UNC - T_AssertExist - - ¨ T_FileMutex_Manually.vbs - - ‘啶Žš¬•¶Žš‚ªˆÙ‚È‚é‚ƁAecho_v ŠÖ”‚ÅŒx‚ð•\Ž¦‚µ‚Ü‚·‚ªAŒp‘±‚µ‚Ü‚·B - - - <WARNING msg="‘啶Žš¬•¶Žš‚ªˆÙ‚È‚è‚Ü‚·" call="C:\file.txt" name="C:\File.txt"/> - - - ¨ ‘啶Žš¬•¶Žš‚É“ˆê‚·‚邱‚Æ‚Ì•›ì—p - - - - - - - - AssertFC - - - Sub AssertFC( Path1 as string, Path2 as string ) - - 2‚‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚ð”äŠr‚µ‚āAˆÙ‚È‚ê‚Î diff ƒc[ƒ‹‚ðŠJ‚«‚Ü‚·B - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚ªŽ©“®”»’è‚Å‚«‚é‚È‚çA•¶ŽšƒR[ƒh‚ªˆÙ‚È‚Á‚Ä‚àƒeƒLƒXƒg‚ª“¯‚¶‚Å‚ ‚ê‚΁A“¯‚¶‚Æ”»’肵‚Ü‚·B - •¶ŽšƒR[ƒh‚ªˆÙ‚È‚ê‚ΕK‚¸ˆÙ‚È‚é‚Æ”»’è‚·‚é‚Æ‚«‚́A - - ¨ % ‚ðŽg‚Á‚½•¶Žš—ñ•ÏŠ·ŠÖ” - - ŽQl - Path2 ‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ɁA% ‚ðŽg‚Á‚½•¶Žš—ñ•ÏŠ·ŠÖ”‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - IsSameBinaryFile - - ƒeƒXƒg - - ¨ IsSameTextFile ‚̃eƒXƒg - - c.RightHasPercentFunction or c.ErrorIfNotSame ‚̃P[ƒX - ‘啶Žš‚Ə¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB - ƒ\[ƒX - - ¨ TestScript.vbs - - - - Sub T_Sample( Opt, AppKey ) Set w_= AppKey.NewWritable( Array( "_out.txt" ) ).Enable() - - RunProg "cscript //nologo "+ WScript.ScriptName +" T_Sample_Sub", "_out.txt" - - AssertFC "_out.txt", "T_Sample_ans.txt" - del "_out.txt" - - Pass - End Sub - - Sub T_Sample_Sub( Opt, AppKey ) - '// •W€o—͂֏o—Í‚·‚鏈— - End Sub - - ƒTƒ“ƒvƒ‹ - •W€o—͂ւ̏o—Í“à—e‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - AssertFC - - ¨ T_fc_Manually.vbs - - T_AssertFC - - - g_Vers("AssertFC_Diff") = False - - ‰º‹L‚̃R[ƒh‚ð‘‚¢‚½Œã‚́Adiff ƒc[ƒ‹‚ªŠJ‚©‚È‚­‚È‚è‚Ü‚·B‰º‹L‚̃R[ƒh‚ª‚ ‚Á‚Ä‚à‚È‚­‚Ä‚àA—áŠO‚Í”­¶‚µ‚Ü‚·B - ˆÙ‚È‚Á‚Ä‚¢‚½‚çAE_TestFail ƒGƒ‰[‚É‚È‚è‚Ü‚·B - - ¨ vbslib.vbs - - AssertFC - - IsSameTextFile - - ŠÖ˜A - - ¨ ƒƒO - - - ¨ AssertFC ƒtƒHƒ‹ƒ_[ - - ”äŠr‚̏ڍׂ𒲂ׂ½‚¢‚Æ‚«‚́AIsSameTextFile ŠÖ” - - (vbslib.vbs) - - ‚Ì’†‚Å is_debugging - ‚ðŒŸõ‚µ‚ÄŒ©‚‚©‚éƒ\[ƒX ƒR[ƒh‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - AssertValue - - ¨ T_Value.vbs # [T_AssertValue] - - - - Sub AssertValue( Name as string, TestValue as variant, PassValue as variant, CompareOption as interger ) - - ’l‚ª”͈͓à‚Å‚ ‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µA”͈͊O‚È‚çÚ×‚ȃƒbƒZ[ƒW‚ð•t‚¯‚ăGƒ‰[‚É‚µ‚Ü‚·B - yˆø”z - Name - TestValue - ’l‚Ì–¼‘OAƒGƒ‰[ƒƒbƒZ[ƒW—p - ƒ`ƒFƒbƒN‘Ώۂ̒l - PassValue - ”ÍˆÍ - CompareOption - ”äŠrƒIƒvƒVƒ‡ƒ“ - - - AssertValue "EqualNumber", a, 1, Empty - - ƒTƒ“ƒvƒ‹ - a = 1 ‚Å‚ ‚é‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - ƒeƒXƒg - - - AssertValue "Str", a, Array( "A", "ABC" ), c.CaseSensitive - - a = "A" ‚Ü‚½‚Í a = "ABC" ‚Å‚ ‚é‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - - - AssertValue "RangeNumber", a, Array( 1, 3 ), c.Range - - 1 … a … 3 ‚Å‚ ‚é‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - AssertString - ŠÖ˜A - - ¨ GetDiffStringCmdLine, GetDiffStringCmdLine3 - - - - AssertString "ABC", "AxC" - - - - Sub AssertString( TestString as string, AnswerString as string, Option_ as integer ) - - •¶Žš—ñ‚ª“™‚µ‚¢‚±‚Æ‚ðƒ`ƒFƒbƒN‚µAˆÙ‚È‚Á‚Ä‚¢‚½‚當Žš—ñ‚ð”äŠr‚·‚é Diff ƒc[ƒ‹‚ðŠJ‚«‚Ü‚·B - yˆø”z - TestString - AnswerString - ƒeƒXƒg‚·‚镶Žš—ñ - “š‚Ì•¶Žš—ñ - Option_ - ƒTƒ“ƒvƒ‹ - - c.CaseSensitive - - Empty ‚Ü‚½‚Í - ƒ\[ƒX - - ¨ TestScript.vbs - - •¶Žš—ñ‚ÉŠÜ‚Ü‚ê‚é‚·‚ׂĂ̕¶Žš‚Ì•¶ŽšƒR[ƒh‚à Diff ƒc[ƒ‹‚Å”äŠr‚µ‚Ü‚·B - - ¨ new_BinaryArrayAsText - - - - - - - - AssertD_TypeName - - - Sub AssertD_TypeName( in_Value as variant, in_TypeName as string ) - - ’l‚ÌŒ^‚Ì–¼‘O‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B iƒfƒoƒbƒOŽž‚̂݁j - yˆø”z - in_Value - in_TypeName - ƒ`ƒFƒbƒN‚·‚é’l - Œ^‚âƒNƒ‰ƒX‚Ì–¼‘O - - ¨ vbslib.vbs - - ƒ\[ƒX - - g_is_debug - - ‚ª 0 ‚Ì‚Æ‚«‚́A‰½‚à‚µ‚Ü‚¹‚ñB ‚‘¬‰»‚Ì‚½‚߁B - - - AssertD_TypeName self, "SampleClass" - - ƒTƒ“ƒvƒ‹ - Œ^–¼‚ðƒ\[ƒX‚̃Rƒƒ“ƒg‚ɏ‘‚­‚Æ‚«‚æ‚è‚͐M—Š‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B - - - - - - - ErrorValue - - - ErrorValue "Sample", 1 - - - - Sub ErrorValue( Name as string, Value as Variant ) - - –â‘肪‚ ‚é’l‚ðƒƒbƒZ[ƒW‚ÉŠÜ‚ß‚½ƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - yˆø”z - Name - Value - ’l‚Ì–¼‘O - –â‘肪‚ ‚é’l - ƒTƒ“ƒvƒ‹ - - - <ERROR msg="’l‚ª‘z’èŠO‚Å‚·" name="Sample" now_value="1"/> - - ƒXƒNƒŠƒvƒg‚Ì—á - ã‹LƒXƒNƒŠƒvƒg‚ðŽÀs‚µ‚½Žž‚̃Gƒ‰[ƒƒbƒZ[ƒW - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - ‚»‚Ì‘¼ - - ¨ ConvertToFullPath - - ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Ì’†‚Ì‘Š‘΃pƒX‚ðƒtƒ‹EƒpƒX‚É•ÏŠ·‚µ‚Ü‚·B - - - - - - - «”\Œv‘ª - - ¨ BenchStart - - ŽQl - - - - - - - ŠJ”­ŠÂ‹«‘€ì - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚ðƒrƒ‹ƒh‚µ‚Ü‚· - - ¨ devenv_clean - - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚ðƒNƒŠ[ƒ“‚µ‚Ü‚· - - ¨ devenv_rebuild - - - ¨ devenv_build - - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚ðƒŠƒrƒ‹ƒh‚µ‚Ü‚· - - ¨ devenv_ver_name ŠÂ‹«•Ï” - - ŠÖ˜A - - ¨ Module Mixer 3 - - - - VisualStudio.vbs - - ƒtƒ@ƒCƒ‹F - - ¨ T_devenv ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - Visual Studio 2005`2010 ‚𑀍삵‚Ü‚·B - - ¨ MSBuild - - - - - - - - devenv_rebuild - - - Sub devenv_rebuild( SlnPath as string, ConfigName as string ) - - - - Dim ds_:Set ds_= new CurDirStack pushd "src" - devenv_rebuild "sample.sln", "Release" - popd - - yˆø”z - - ¨ Devenv ƒRƒ}ƒ“ƒh ƒ‰ƒCƒ“ ƒXƒCƒbƒ` (Web) - - - ¨ ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒRƒ“ƒpƒCƒ‹ - - - (src) - - - ¨ devenv_ver_name ŠÂ‹«•Ï” - - - - devenv_rebuild "src\sample_%devenv_ver_name%.sln", "Debug" - - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚ðƒŠƒrƒ‹ƒh‚µ‚Ü‚·B - SlnPath - ConfigName - ƒ\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚̃pƒX(.sln) - Ý’è–¼i"Release"‚Ȃǁj - ƒ\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽƒo[ƒWƒ‡ƒ“î•ñ‚ðŒ³‚ÉAƒRƒ“ƒpƒCƒ‰‚̃o[ƒWƒ‡ƒ“‚ðŽ©“®“I‚É‘I‘ð‚µ‚Ü‚·B - ƒrƒ‹ƒh‚ÉŽ¸”s‚µ‚½‚çAE_BuildFail ƒGƒ‰[‚É‚È‚è‚Ü‚·B - ŽQl - - - devenv_rebuild "sample.sln", "Release|x64" - - Release|x64 ‚ªŽg‚¦‚é‚©‚Ç‚¤‚©‚́A.sln ƒtƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ÅŠJ‚¢‚āA‚»‚̃Rƒ“ƒtƒBƒO‚ª‚ ‚é‚©‚Ç‚¤‚©‚Å”»’f‚µ‚Ä‚­‚¾‚³‚¢B - ƒeƒXƒg - - ¨ T_devenv.vbs # [T_devenv_build] - - - ¨ T_devenv.vbs # [T_devenv_build_MultiFolder] - - ƒ\[ƒX - - ¨ VisualStudio.vbs - - ƒTƒ“ƒvƒ‹ - - - - - - - devenv_build - - - Sub devenv_build( SlnPath as string, ConfigName as string ) - - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚ðƒrƒ‹ƒh‚µ‚Ü‚·B - - (src) - - ŽQl - - ¨ devenv_rebuild - - - - - - - - devenv_clean - - - Dim ds_:Set ds_= new CurDirStack pushd "src" - devenv_clean "sample.sln" - popd - - - - Sub devenv_clean( SlnPath as string ) - - ƒTƒ“ƒvƒ‹F - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“‚ðƒNƒŠ[ƒ“‚µ‚Ü‚·B - yˆø”z - SlnPath - ƒ\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚̃pƒX(.sln) - - (src) - - - ¨ devenv_ver_name ŠÂ‹«•Ï” - - ŽQl - ƒeƒXƒg - - ¨ T_devenv.vbs # [T_devenv_build_MultiFolder] - - - - - - - - devenv_upgrade - - - Sub devenv_upgrade( SlnPath as string, Opt as Empty ) - - - - Dim ds_:Set ds_= new CurDirStack pushd "src" - devenv_upgrade "sample.sln", Empty - popd - - ƒTƒ“ƒvƒ‹F - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚ðV‚µ‚¢ Visual Studio —p‚É•ÏŠ·‚µ‚Ü‚·B - yˆø”z - SlnPath - ŒÃ‚¢ Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚̃pƒX(.sln) - - ¨ devenv_ver_name ŠÂ‹«•Ï” - - V‚µ‚¢ƒo[ƒWƒ‡ƒ“‚Ƃ́AŒ»Ý‚Ì PC ‚ɃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é Visual Studio ‚Ì‚¤‚¿AÅ‚àV‚µ‚¢ƒo[ƒWƒ‡ƒ“‚Ì‚±‚Æ‚Å‚·B - - ¨ /Upgrade (devenv.exe) (Web) - - ŽQl - Opt - Empty ‚Ü‚½‚́Ac.MakeBackup - Opt ‚ɁAc.MakeBackup ‚ðŽw’è‚·‚é‚ƁA•ÏŠ·‘O‚̃tƒ@ƒCƒ‹‚̃oƒbƒNƒAƒbƒv‚ðì¬‚µ‚Ü‚·B‚½‚¾‚µAc ‚́Aget_VisualStudioConsts ‚Ì•Ô‚è’l‚Å‚·B - - (src) - - - ¨ To the command line enthusiasts Some quick know-hows for Upgrading to VS 2010 (Web) - - - - - - - - get_VisualStudioConsts - - - Function get_VisualStudioConsts() as Object - - VisualStudio.vbs ‚ÅŽg‚¤’萔‚̏W‡B - ƒTƒ“ƒvƒ‹F - - - Dim c : Set c = get_VisualStudioConsts()'// c.MakeBackup - - - (src) - - - - - - - - devenv_ver_name ŠÂ‹«•Ï” - - - devenv_rebuild "src\sample_%devenv_ver_name%.sln", "Release" - - - devenv_rebuild, devenv_clean ‚È‚Ç‚ÉŽw’è‚·‚é .sln ƒtƒ@ƒCƒ‹‚̃pƒX‚ɂ́A%devenv_ver_name% ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é Visual Studio ‚ɉž‚¶‚āAŽŸ‚Ì•¶Žš—ñ‚É•ÏŠ·‚³‚ê‚Ü‚·B - Visual Studio 2015 c "vs2015"Visual Studio 2013 c "vs2013" - Visual Studio 2012 c "vs2012" - Visual Studio 2010 c "vs2010" - Visual Studio 2008 c "vs2008" - Visual Studio 2005 c "vs2005" - •¡”‚Ì Visual Studio ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚Æ‚«‚́AƒfƒtƒHƒ‹ƒg‚ł͍ŐV‚Ì‚à‚Ì‚ªÝ’肳‚ê‚Ü‚·‚ªAPC ‚̊‹«•Ï”‚âASetVar ‚Å devenv_ver_name ‚ðÝ’è‚·‚邱‚ƂŁAƒo[ƒWƒ‡ƒ“‚ð‘I‘ð‚Å‚«‚Ü‚·B - - - get_DevEnvObjecho "Default: " + GetVar( "%devenv_ver_name%" ) - - GetVar ‚â env ‚ŁAdevenv_ver_name ŠÂ‹«•Ï”‚Ì’l‚ðŽæ“¾‚·‚é‚Æ‚«‚́A‚»‚Ì‘O‚Éget_DevEnvObj ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - (src) - - ƒeƒXƒg - - ¨ [T_devenv] - - - ¨ devenv_ver_name ŠÂ‹«•Ï” - - ŠÖ˜A - get_DevEnvObj - devenv_ver_name - - - - - - - devenv_platform ŠÂ‹«•Ï” - devenv_platform ŠÂ‹«•Ï”‚Ì’l‚́A"" (Win32 or x86) ‚Ü‚½‚Í "x64\" ‚Å‚·B‰Šú’l‚́A"" ‚Å‚·B "" ˆÈŠO‚Ì‚Æ‚«‚́A––”ö‚É \ ‚ð•t‚¯‚Ä‚­‚¾‚³‚¢B - 64bit ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒrƒ‹ƒh‚·‚é‚Æ‚«‚́A"x64\" ‚ðÝ’肵‚Ä‚©‚çƒrƒ‹ƒh‚µ‚Ä‚­‚¾‚³‚¢B - - - set_ "devenv_platform", "x64\" - devenv_build "Example.sln", "Release" - Assert exist(env("sample sln\%devenv_platform%Release\Example.exe")) - - ƒTƒ“ƒvƒ‹ - %devenv_platform% - - - - - - - IsVisualStudioInstalled - - - Function IsVisualStudioInstalled( VersionNum as integer, IsExpress as boolean ) as boolean - - yˆø”z - Žw’肵‚½ƒo[ƒWƒ‡ƒ“‚Ì Visual Studio ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - VersionNum - ƒo[ƒWƒ‡ƒ“”ԍ† - IsExpress - Express ”Å‚©‚Ç‚¤‚© - - (src) - - ƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚© - •Ô‚è’l - - - - - - - GetVisualStudioVersionNum - - - Function GetVisualStudioVersionNum( VersionString as string ) as integer - - Visual Studio ‚̃o[ƒWƒ‡ƒ“•¶Žš—ñi—áF"vs2008"j‚𐔒li—áF2008j‚É•ÏŠ·‚µ‚Ü‚·B - - (src) - - - - - - - - GetSlnFileVersion - - - Sub GetSlnFileVersion( SlnPath as string, out_VersionNum as integer, out_IsExpress as boolean ) - - Žw’è‚̃\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚ªŽg‚¦‚é Visual Studio ‚̃o[ƒWƒ‡ƒ“‚ð•Ô‚µ‚Ü‚·B - yˆø”z - SlnPath - Visual Studio ‚̃\ƒŠƒ…[ƒVƒ‡ƒ“Eƒtƒ@ƒCƒ‹‚̃pƒX(.sln) - out_VersionNum - io—́j ƒo[ƒWƒ‡ƒ“”ԍ†B 2012, 2010, 2008, 2005 - - (src) - - out_IsExpress - io—́j Express ”Å‚©‚Ç‚¤‚© - - - - - - - VisualStudioSlnClass - Visual Studio ‚Ì *.sln ƒtƒ@ƒCƒ‹‚ð“ǂݍž‚Ý‚Ü‚·B - - (src) - - ƒeƒXƒg - - ¨ T_devenv.vbs # [T_devenv_SlnLoad] - - - Load - - ‚µ‚Ä‚©‚ç - ‚â - - Projects - - - ConfigurationPlatforms - - ‚ɃAƒNƒZƒX‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - Load (VisualStudioSlnClass) - - - Sub VisualStudioSlnClass::Load( SlnFilePath as string ) - - Visual Studio ‚Ì *.sln ƒtƒ@ƒCƒ‹‚ð“ǂݍž‚Ý‚Ü‚·B - yˆø”z - SlnFilePath - *.sln ƒtƒ@ƒCƒ‹‚̃pƒX - - (src) - - - - - - - - Projects (VisualStudioSlnClass) - - - Dim VisualStudioSlnClass::Projects as ArrayClass of VisualStudioSlnProjectClass - - ƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Ì’†‚É‚ ‚éƒvƒƒWƒFƒNƒg‚̈ꗗB - - VisualStudioSlnProjectClass - - - Load - - ‚µ‚Ä‚©‚çƒAƒNƒZƒX‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - VisualStudioSlnProjectClass - - - Class VisualStudioSlnProjectClass Public ProjectName '// as string - Public RelativePath '// as string - Public ProjectGuid '// as string - End Class - - - (src) - - - ¨ VisualStudioSlnClass - - ŽQl - - - - - - - ConfigurationPlatforms (VisualStudioSlnClass) - - - Dim VisualStudioSlnClass::ConfigurationPlatforms as ArrayClass of VisualStudioSlnConfigurationPlatformClass - - ƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Ì’†‚É‚ ‚éƒRƒ“ƒtƒBƒMƒ…ƒŒ[ƒVƒ‡ƒ“‚ƃvƒ‰ƒbƒgƒtƒH[ƒ€‚̈ꗗB - - Load - - ‚µ‚Ä‚©‚çƒAƒNƒZƒX‚µ‚Ä‚­‚¾‚³‚¢B - - VisualStudioSlnConfigurationPlatformClass - - - - - - - - VisualStudioSlnConfigurationPlatformClass - - - Class VisualStudioSlnConfigurationPlatformClass Public Configuration '// as string. "Debug", "Release" - Public Platform '// as string. "Win32", "x86", "x64" - End Class - - - ¨ VisualStudioSlnClass - - ŽQl - - - - - - - DeleteProjectInVisualStudioSln - - - Sub DeleteProjectInVisualStudioSln( SlnFilePath as string, ProjectNameh as string ) - - Visual Studio ‚Ì *.sln ƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚é‚P‚‚̃vƒƒWƒFƒNƒg‚ðíœ‚µ‚Ü‚·B - yˆø”z - SlnFilePath - ProjectNameh - *.sln ƒtƒ@ƒCƒ‹‚̃pƒX - íœ‚·‚éƒvƒƒWƒFƒNƒg‚Ì–¼‘O - - VisualStudioSlnProjectClass::ProjectName - - - (src) - - ƒeƒXƒg - - ¨ T_devenv.vbs # [T_devenv_DeleteProjectsInSln] - - ƒvƒƒWƒFƒNƒg‚Ì–¼‘O‚́A - ‚©‚çŽQÆ‚Å‚«‚Ü‚·B - - - - - - - ‚»‚Ì‘¼ - - ¨ CŒ¾Œê - - - - - - - - ƒCƒ“ƒXƒg[ƒ‹AƒŒƒWƒXƒgƒŠAOS - - ¨ ƒŒƒWƒXƒgƒŠ (VBS) - - ƒŒƒWƒXƒgƒŠ‚̃TƒuƒL[‚ð—ñ‹“‚µ‚Ü‚·B - - ¨ RegEnumValues - - Žw’è‚̃ŒƒWƒXƒgƒŠEƒL[‚É“ü‚Á‚Ä‚¢‚é’l‚ð—ñ‹“‚µ‚Ü‚·B - - ¨ RegExport - - ƒŒƒWƒXƒgƒŠEƒL[‚Ì’l‚ð .reg ƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B - - ¨ RegWrite - - ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­ƒvƒƒOƒ‰ƒ€‚ðÝ’肵‚Ü‚·B - ƒtƒ@ƒCƒ‹‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚Ì‚P‚‚̍€–Ú‚ð’ljÁ‚µ‚Ü‚·B - ƒŒƒWƒXƒgƒŠ‚Ƀ‰ƒCƒg‚µ‚Ü‚·B - - ¨ RegExists - - Žw’è‚̃ŒƒWƒXƒgƒŠEƒL[‚©’l‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - ¨ ƒo[ƒWƒ‡ƒ“”»’èAŠÂ‹«•Ï” - - - ¨ Shutdown - - PC ‚Ì“dŒ¹‚ðØ‚è‚Ü‚·B - - ¨ RegEnumKeys - - - ¨ RegRead - - ƒŒƒWƒXƒgƒŠ‚©‚烊[ƒh‚µ‚Ü‚·B - - ¨ InstallRegistryFileOpen - - - ¨ InstallRegistryFileVerb - - ŠÖ˜A - ‘¼‚É‚à‚ ‚è‚Ü‚·B¶‚̃cƒŠ[‚©‚ç‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - - Shutdown - - - Sub Shutdown( Operation as string, CountDownTimeSec as integer ) - - PC ‚Ì“dŒ¹‚ðØ‚è‚Ü‚·B - yˆø”z - Operation - CountDownTimeSec - “dŒ¹‚̐؂è•ûi‰º‹Lj - “dŒ¹‚ðØ‚é‚Ü‚Å‚ÌŽžŠÔi•bj - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - - RunProg "cscript main_child.vbs", ""Shutdown Empty, Empty - - - - Function Setting_getShutdownOperation() Setting_getShutdownOperation = "PowerOff" - End Function - - Function Setting_getShutdownCountDownTimeSec() - Setting_getShutdownCountDownTimeSec = 60 - End Function - - main_child ‚ªI—¹‚µ‚½‚çƒfƒtƒHƒ‹ƒgÝ’è‚Å“dŒ¹‚ðØ‚éB - 30•bŒã‚ɃXƒŠ[ƒv‚·‚é - - - Shutdown "Sleep", 30 - - ƒfƒtƒHƒ‹ƒgÝ’è‚́A - - setting ƒtƒHƒ‹ƒ_ - - ‚ɉº‹L‚̊֐”‚Ì’è‹`‚É‚æ‚Á‚Đݒ肵‚Ü‚·B - ŠÖ”’è‹`‚ª‚È‚¢‚Æ‚«‚́A"PowerOff", 60 ‚É‚È‚è‚Ü‚·B - Shutdown ŠÖ”‚ðŒÄ‚яo‚·‚ƁAƒJƒEƒ“ƒgƒ_ƒEƒ“‚ðŽn‚߁A‰º‹L‚̃EƒBƒ“ƒhƒE‚ªŠJ‚«‚Ü‚·B‚½‚¾‚µACountDownTimeSec = 0 ‚Ì‚Æ‚«‚ÍŠJ‚«‚Ü‚¹‚ñB - ƒeƒXƒg - Operation ˆø” - ŽŸ‚Ì‚¢‚¸‚ê‚©‚Ì•¶Žš—ñ‚ðŽw’è‚Å‚«‚Ü‚·B - "PowerOff", "Reboot", "Hibernate", "Sleep", "Standby" - [OK] ‚ð‰Ÿ‚¹‚΁A‚·‚®‚É“dŒ¹‚ðØ‚è‚Ü‚·B [ƒLƒƒƒ“ƒZƒ‹]‚ð‰Ÿ‚·‚©AVBScript ‚Ì - ƒRƒ“ƒ\[ƒ‹‚ð•Â‚¶‚é‚ƁA“dŒ¹‚ðØ‚ç‚È‚­ - ‚È‚è‚Ü‚·B - - ¨ T_Shutdown_Manually.vbs - - ƒXƒŠ[ƒv‚·‚é‚Æ‚«‚́Ascriptlib\vbslib_XXX\SetSuspendState ƒtƒHƒ‹ƒ_‚ª•K—v‚Å‚·BSleep ‚Æ Standby ‚Í“¯‚¶‚Å‚·B - Windows 8 ƒ^ƒuƒŒƒbƒg‚̃RƒlƒNƒeƒbƒhEƒXƒ^ƒ“ƒoƒC ‚ɂ͑Ήž‚µ‚Ä‚¢‚Ü‚¹‚ñB - ‚»‚ꂼ‚ê‚Ì OS ‚̃o[ƒWƒ‡ƒ“‚ōs‚¤‚±‚Æ - ƒGƒ‰[‚ª”­¶‚µ‚Ä‚àA“dŒ¹‚ðØ‚é‚ɂ́A - RunProg ‚ȂǂŁAƒƒCƒ“ˆ—‚ðs‚¤ŽqƒvƒƒZƒX - ‚ð‹N“®‚µ‚āAŽqƒvƒƒZƒX‚ªI—¹‚·‚éiRunProg ‚©‚ç–ß‚éj‚Ü‚Å‘Ò‚Á‚Ä‚©‚çAShutdown‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B ‚±‚¤‚·‚ê‚΁ACtrl-C ‚â•Â‚¶‚éƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ê‚Ä‚à“dŒ¹‚ªØ‚ê‚Ü‚·B - ’ʏí 60•bŒã‚ɃVƒƒƒbƒgƒ_ƒEƒ“‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ - ‰¹Šy‚ð–‚炵‚È‚ª‚çA60•b‘Ò‚¿AƒXƒŠ[ƒv‚·‚é - - - g_CommandPrompt = 1 '// ‚±‚̍s‚¾‚¯ SetupVbslibParameters ‚É‹Lq - Sub main() - Play "******.mp3" - - Dim e ' as Err2 - If TryStart(e) Then On Error Resume Next - Shutdown "Sleep", 60 - If TryEnd Then On Error GoTo 0 - e.Clear '// ƒ†[ƒUEƒLƒƒƒ“ƒZƒ‹‚µ‚Ä‚àƒEƒBƒ“ƒhƒE‚ð•Â‚¶‚邽‚ß - End Sub - - ‚±‚̃XƒNƒŠƒvƒg‚ðAWindows ‚̃^ƒXƒN‚É“o˜^‚µ‚Ä‚¨‚­‚ƁA‚PŽžŠÔ‚²‚ƂɃXƒŠ[ƒv‚É“ü‚邱‚Æ‚ðŽŽ‚Ý‚é‚悤‚È‚±‚Æ‚ª‚Å‚«‚Ü‚·B - ŽQl - - ¨ ƒ^ƒXƒN iWindows ‚ł̃XƒPƒWƒ…[ƒ‹ŽÀsj - - Windows 7 ‚ł́A’nƒfƒW‚Ì—\–ñ˜^‰æ‚È‚Ç‚É‚æ‚éA - - u”¼ƒXƒŠ[ƒvó‘ԁv - - ‚©‚çA - Shutdown "Sleep" ‚µ‚Ä‚àƒXƒŠ[ƒvó‘Ô‚É‚È‚è‚Ü‚¹‚ñB - wakeonlan : –³’â“d Linux ƒT[ƒo[‚©‚ç•Ê‚Ì PC ‚Ì“dŒ¹‚ð“ü‚ê‚é - - - wakeonlan <“dŒ¹‚ð“ü‚ê‚éPC‚ÌMACƒAƒhƒŒƒX> - - ‚Ü‚¸A“dŒ¹‚ð“ü‚ê‚é PC ‚̏€”õ‚ð‚µ‚Ü‚·B - - - /usr/bin/net rpc -S <ƒ}ƒVƒ“–¼> -U <ƒAƒJƒEƒ“ƒg–¼>%<ƒpƒXƒ[ƒh> shutdown -t 10 - - <ƒAƒJƒEƒ“ƒg–¼> ‚́A<ƒ†[ƒU–¼> ‚Ü‚½‚Í <ƒhƒƒCƒ“–¼>\\<ƒ†[ƒU–¼> - - vbslib Prompt.vbs ‚Ì Shutdown - - “dŒ¹‚ð—Ž‚Æ‚·‚ɂ́AƒŠƒ‚[ƒgEƒfƒXƒNƒgƒbƒvŒo—R‚ŁAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç - ‚ðŽÀs‚·‚é‚©A–³’â“d Linux ƒT[ƒo[ - ‚©‚牺‹L‚̃Rƒ}ƒ“ƒh‚ð“ü—Í‚µ‚Ä‚­‚¾‚³‚¢B - Windows XP ‚̏ꍇA[ ƒXƒ^[ƒg > ƒ}ƒCƒRƒ“ƒsƒ…[ƒ^[ ] ‚ð‰EƒNƒŠƒbƒN [ ƒvƒƒpƒeƒB > ƒn[ƒhƒEƒFƒA > ƒfƒoƒCƒX - ƒ}ƒl[ƒWƒƒ ] ‚©‚çAƒlƒbƒgƒ[ƒN ƒAƒ_ƒvƒ^‚ÌŽqƒm[ƒh‚Ì’†‚©‚çŠY“–‚·‚éƒAƒ_ƒvƒ^‚ð - ‰EƒNƒŠƒbƒN [ ƒvƒƒpƒeƒB ]A[ Ú×Ý’è > Wake Up Capabilities ] ‚ð [ Magic Packet ]A - [ “dŒ¹‚ÌŠÇ— > ‚±‚̃fƒoƒCƒX‚ŁAƒRƒ“ƒsƒ…[ƒ^‚̃Xƒ^ƒ“ƒoƒCó‘Ô‚ð‰ðœ‚Å‚«‚é‚悤‚É - ‚·‚é ] ‚Ƀ`ƒFƒbƒN‚µ‚Ü‚·B - PC ‚Ì“dŒ¹‚ðØ‚Á‚Ä‚©‚çAÄ“x“dŒ¹‚ð“ü‚ê‚Ä‚·‚®‚É BIOS ‚̐ݒè‰æ–Ê‚ðŠJ‚«i‹@Ží - ˆË‘¶‚Å‚·B—áFF2‚ð‰Ÿ‚·jAWake On LAN ‚ð—LŒø‚É‚µ‚Ü‚·i—áFPower > Automatic - Power On > Wake on LAN = Primaryj - w–³’â“d‚Ì Linux ƒT[ƒo[x ‚ɃƒOƒCƒ“‚µ‚āAwakeonlan ƒRƒ}ƒ“ƒh‚ðŽÀs‚µ‚Ü‚·B‚È‚¨AMAC ƒAƒhƒŒƒX‚́AƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç ipconfig /all ‚ðŽÀs‚·‚é‚Æ•ª‚©‚è‚Ü‚·B - - - ./wakeonlan 11:22:33:44:55:66 - - —áF - - - shutdown /s /f - - ‚ðŽÀs‚·‚é‚©A - ƒ\[ƒX - - ¨ vbslib.vbs - - - ¨ SetSuspendState ƒtƒHƒ‹ƒ_[ - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - •â‘« - - - - - - - IsScreenSaverRunning - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - - Function IsScreenSaverRunning() as boolean - - ƒXƒNƒŠ[ƒ“ƒZ[ƒo[‚ª“®‚¢‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - ¨ T_ScreenSaver_Manually.vbs # [T_IsScreenSaverRunning] - - ƒeƒXƒg - - - - - - - RegEnumKeys - - - Sub RegEnumKeys( Path as string, out_Keys as array of string, Opt as integer ) - - ƒŒƒWƒXƒgƒŠ‚̃TƒuƒL[‚ð—ñ‹“‚µ‚Ü‚·B - yˆø”z - Path - out_Keys - ƒŒƒWƒXƒgƒŠ‚̃L[‚̃pƒX - io—́j ƒTƒuƒL[‚̃tƒ‹ƒpƒX‚Ì”z—ñB ––”ö‚É \ ‚Í–³‚¢ - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - - Dim keys - RegEnumKeys "HKEY_CURRENT_USER\Software\_Test", keys, Empty - - '// keys(0) = "HKEY_CURRENT_USER\Software\_Test\Sub" - '// keys(1) = "HKEY_CURRENT_USER\Software\_Test\Sub2" - - ƒTƒ“ƒvƒ‹F - Opt - ƒIƒvƒVƒ‡ƒ“B Empty ‚© F_SubFolder - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - (src) - - ƒTƒuƒL[‚ª–³‚¢‚Æ‚«‚́AUBound( out_Keys ) = -1 ‚É‚È‚è‚Ü‚·B - ƒeƒXƒg - - ¨ T_Reg.vbs # T_Reg1 - - Path ‚Ì––”ö‚É \ ‚ª‚ ‚Á‚Ä‚à‚È‚­‚Ä‚àAƒL[iƒtƒHƒ‹ƒ_[‚̂悤‚È‚à‚́j‚ðŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B - - - - - - - RegEnumValues - - - Sub RegEnumValues( Path as string, out_Values as array of RegValueName ) - - Žw’è‚̃ŒƒWƒXƒgƒŠEƒL[‚É“ü‚Á‚Ä‚¢‚é’l‚ð—ñ‹“‚µ‚Ü‚·B - yˆø”z - Path - out_Values - ƒŒƒWƒXƒgƒŠ‚̃L[‚̃pƒX - io—́j ’l‚ÆŒ^–¼‚Ì”z—ñ - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - - Class RegValueName Public Name as string - Public Type_ as string - End Class - - RegValueName ƒNƒ‰ƒX - - RegValueName - - - - Dim values - RegEnumValues "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\" + _ - "CurrentVersion\Setup", values - - ƒTƒ“ƒvƒ‹F - - ¨ RegValueName ƒNƒ‰ƒX - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - (src) - - ƒeƒXƒg - - ¨ T_Reg.vbs # T_Reg1 - - Path ‚Ì––”ö‚É \ ‚ª‚ ‚Á‚Ä‚à‚È‚­‚Ä‚àAƒL[iƒtƒHƒ‹ƒ_[‚̂悤‚È‚à‚́j‚ðŽw’肵‚½‚±‚Æ‚É‚È‚è‚Ü‚·B - - - - - - - RegExists - - - Sub RegExists( RegPath as string ) - - Žw’è‚̃ŒƒWƒXƒgƒŠEƒL[‚©’l‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - yˆø”z - RegPath - ƒŒƒWƒXƒgƒŠ‚̃L[‚̃pƒX - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - - If RegExists( "HKEY_CURRENT_USER\Software\_Test\" ) Then Fail - - ƒTƒ“ƒvƒ‹F - Path ‚Ì––”ö‚ª \ ‚Ì‚Æ‚«‚́AƒL[‚ª‚ ‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·BPath ‚Ì––”ö‚ª \ ‚Å‚Í‚È‚¢‚Æ‚«‚́A’l‚ª‚ ‚é‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - - - - - - RegRead - - - Function RegRead( Path as string ) as variant - - - RegRead (Shell) - - ‚Ƃ̈Ⴂ‚́AƒL[‚ªŒ©‚‚©‚ç‚È‚¢‚Æ‚«‚ɃGƒ‰[‚É‚È‚é‚Ì‚Å‚Í‚È‚­A - Empty ‚ð•Ô‚·‚Æ‚±‚ë‚Å‚·B - ƒŒƒWƒXƒgƒŠ‚©‚烊[ƒh‚µ‚Ü‚·B - yˆø”z - •Ô‚è’l - ’lA‚Ü‚½‚Í Empty - ƒŠ[ƒh‚·‚éêŠB ƒL[‚ւ̃pƒX{’l‚Ì–¼‘O - Path - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - Path ‚̍Ōã‚É \ ‚ª‚ ‚é‚ƁAƒL[‚Ì (‹K’è) ‚ðƒŠ[ƒh‚µ‚Ü‚·B - - ¨ RegReadEx - - ŠÖ˜A - - - - - - - RegReadEx - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - - Function RegReadEx( Path as string, RegistryType as integer ) as variant - - ƒŒƒWƒXƒgƒŠ‚©‚烊[ƒh‚µ‚Ü‚·B 32/64 ƒrƒbƒg—pƒŒƒWƒXƒgƒŠ‘ΉžB - yˆø”z - RegistryType - 64=64ƒrƒbƒg—pƒŒƒWƒXƒgƒŠA32=32ƒrƒbƒg—pƒŒƒWƒXƒgƒŠ - ƒŠ[ƒh‚·‚éêŠB ƒL[‚ւ̃pƒX{’l‚Ì–¼‘O - Path - ’lA‚Ü‚½‚Í Empty - •Ô‚è’l - - - echo RegReadEx( "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"+_ "doxygen_is1\InstallLocation", 64 ) - - ƒTƒ“ƒvƒ‹ - - - - - - - RegExport - - - Sub RegExport( RegPath as string, OutFilePath as string, Opt as variant ) - - Žw’è‚̃ŒƒWƒXƒgƒŠEƒL[‚É“ü‚Á‚Ä‚¢‚é’l‚ð .reg ƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·B - yˆø”z - RegPath - OutFilePath - ƒŒƒWƒXƒgƒŠ‚̃L[‚̃pƒX - o—̓tƒ@ƒCƒ‹ƒpƒX - ƒtƒ@ƒCƒ‹F - - - System.vbs - - Opt - ƒIƒvƒVƒ‡ƒ“B Empty ‚© F_SubFolder - - - RegExport "HKEY_CURRENT_USER\Control Panel\Keyboard", _ "keyboard.reg", F_SubFolder - - ƒTƒ“ƒvƒ‹F - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - (src) - - ƒeƒXƒg - - ¨ T_Reg.vbs # T_RegExport - - ‘Ήž‚µ‚Ä‚¢‚éƒL[‚ÌŒ^‚́AREG_SZ ‚Ì‚Ý‚Å‚·B - - - - - - - RegWrite - - - Sub RegWrite( Path as string, Value as string or integer, Type as string or Empty ) - - ƒŒƒWƒXƒgƒŠ‚Ƀ‰ƒCƒg‚µ‚Ü‚·B - yˆø”z - Value - Type - ’lA‚Ü‚½‚Í Emptyi=’l‚ðÁ‚·j - ’l‚̃^ƒCƒv, "REG_SZ", "REG_DWORD" ‚ȂǁA‚Ü‚½‚Í Empty(*1) - ƒ‰ƒCƒg‚·‚éêŠB ƒL[‚ւ̃pƒX{’l‚Ì–¼‘O - Path - Path ‚É‚æ‚Á‚Ä‚ÍŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚· - ƒTƒ“ƒvƒ‹F - - - RegWrite "HKEY_CLASSES_ROOT\.ext\", "ExtSample", Empty - - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - RegWrite (Shell) - - ‚Ƃ̈Ⴂ‚́AƒGƒ‰[ƒƒbƒZ[ƒW‚Ì“à—e‚Å‚·B - Path ‚̍Ōã‚É \ ‚ª‚ ‚é‚ƁAƒL[‚Ì (‹K’è) ‚ɐݒ肵‚Ü‚·B - (*1) Type = Empty ‚Ì‚Æ‚«‚́A Value ‚ÌŒ^‚É‚æ‚Á‚ÄŽ©“®“I‚ÉŒ^‚𔻒肵‚Ü‚·B - - - - - - - RegDelete - - - Sub RegDelete( Path as string ) - - ƒŒƒWƒXƒgƒŠ‚Ì’lA‚Ü‚½‚̓L[‚ðíœ‚µ‚Ü‚·B - Path ‚Ì––”ö‚ª "\" ‚Ì‚Æ‚«‚́AƒL[iƒtƒHƒ‹ƒ_[‚̂悤‚È‚à‚́j‚ðíœ‚µ‚Ü‚·BƒTƒuEƒL[‚â’l‚ª‚ ‚é‚Æ‚«‚Å‚àAíœ‚Å‚«‚Ü‚·B - - ’l‚Ì–¼‘O‚É "\" ‚ðŠÜ‚Þ‚Æ‚«‚́A - ‚½‚¾‚µARegDelete ‚ŃL[‚ðíœ‚·‚é‚Æ‚«‚́A‚»‚̃L[i‚Ü‚½‚̓TƒuEƒL[j‚ª - Ž‚Â’l‚Ì–¼‘O‚É "\" ‚ðŠÜ‚ñ‚Å‚¢‚Ä‚à³‚µ‚­ˆ—‚µ‚Ü‚·B - - - RegDelete "HKEY_CLASSES_ROOT\.svg\" - - ƒTƒ“ƒvƒ‹F - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - StdRegProv::DeleteValue - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - ¨ T_Reg_Manually.vbs # T_FileAssocOpen - - ÅŒã‚Ì T_FileAssocProg2.exe ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚ŁA’l‚Ì–¼‘O‚É "\" ‚ðŠÜ‚Þ’l‚ðŽ‚ÂƒL[‚ðíœ‚µ‚Ä‚¢‚Ü‚·B - ƒeƒXƒg - - ¨ T_Reg_Manually.vbs # T_RegWriteRead - - - - - - - - OpenForRegFile - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹i*.regj‚ð•ÒW‚µ‚Ü‚·B - - - Dim f : Set f = OpenForRegFile( "Sample.reg" )If IsEmpty( f.RegRead( "HKEY_CLASSES_ROOT\.ext\" ) ) Then _ - f.RegWrite "HKEY_CLASSES_ROOT\.ext\", "ExtSample", "REG_SZ" - f = Empty '// Write - - - - Function OpenForRegFile( RegFilePath as string ) as EditRegFile - - yˆø”z - RegFilePath - •Ô‚è’l - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹‚̃pƒX - EditRegFile ƒIƒuƒWƒFƒNƒg - ƒTƒ“ƒvƒ‹F - ƒ‰ƒ“ƒ_ƒ€ƒAƒNƒZƒX‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B OpenForRead ‚â OpenForWrite ‚̂悤‚ɃV[ƒPƒ“ƒVƒƒƒ‹iƒtƒ@ƒCƒ‹‚̐擪‚©‚珇”ԁj‚ɃAƒNƒZƒX‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñ‚µA - •ÏX‚µ‚È‚¢ƒL[‚Ü‚Å Write ‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - ‘¶Ý‚µ‚È‚¢ƒL[‚ðV‹K‚É Write ‚µ‚½‚Æ‚«‚́AƒV[ƒPƒ“ƒVƒƒƒ‹iRegWrite‚µ‚½‡”ԁj - ‚Ƀtƒ@ƒCƒ‹‚É‹Lq‚³‚ê‚Ü‚·B Empty ‚Ì’l‚ð Write ‚·‚é‚ƁA‚»‚̃L[‚͍폜‚³‚ê‚Ü‚·B - - Œ³X‘‚©‚ê‚Ä‚¢‚½ƒRƒƒ“ƒg‚Í•ÛŽ‚³‚ê‚Ü‚·B - ƒeƒXƒg - - ¨ T_Reg.vbs # T_RegFile - - - (src) - - - ¨ OpenForEnvVarsFile - - ŠÖ˜A - Sample.reg - HKEY_CLASSES_ROOT\.ext\ - ExtSample - - ¨ .ini ƒtƒ@ƒCƒ‹ - - - - - - - - EditRegFile ƒNƒ‰ƒX - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹i*.regj‚ð•ÒW‚µ‚Ü‚·B OpenForRegFile ‚©‚çŽæ“¾‚Å‚«‚Ü‚·B - ƒƒ\ƒbƒh - - .RegRead - - - .RegWrite - - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹‚©‚烊[ƒh‚µ‚Ü‚·B - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹‚Ƀ‰ƒCƒg‚µ‚Ü‚·B - - .Close - - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹‚ð•Â‚¶‚Ü‚·B ƒAƒNƒZƒX‚ðI—¹‚µ‚Ü‚·B - - (src) - - - - - - - - Close (EditRegFile) - ƒŒƒWƒXƒgƒŠƒtƒ@ƒCƒ‹‚ð•Â‚¶‚Ü‚·B ƒAƒNƒZƒX‚ðI—¹‚µ‚Ü‚·B - - - Sub EditRegFile::Close() - - ƒfƒXƒgƒ‰ƒNƒ^‚É‚æ‚Á‚Ä‚àŽ©“®“I‚Ƀtƒ@ƒCƒ‹‚ð•Â‚¶‚Ü‚·B•Â‚¶‚é‘O‚ɃGƒ‰[‚ª”­¶‚µ‚ăfƒXƒgƒ‰ƒNƒ^‚ªŒÄ‚΂ꂽ‚çAWrite ‚µ‚½“à—e‚Í”½‰f‚³‚ê‚Ü‚¹‚ñB - - (src) - - - - - - - - - InstallRegistryFileOpen - - - Sub InstallRegistryFileOpen( Extension as string, ExePath as string, IsDefault as boolean ) - - ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­ƒvƒƒOƒ‰ƒ€‚ðÝ’肵‚Ü‚·BiŒ»Ý‚̃†[ƒU[‚̂݁j - yˆø”z - Extension - ExePath - Šg’£Žq - ƒvƒƒOƒ‰ƒ€‚Ì exe ƒtƒ@ƒCƒ‹‚̃pƒXB‘Š‘΃pƒX‰ÂB - IsDefault - True = ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­A False = ƒvƒƒOƒ‰ƒ€‚Ì‘I‘ð‚É“o˜^‚·‚é - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - ƒTƒ“ƒvƒ‹F - - - InstallRegistryFileOpen ".svg", "Snap Note.exe", True - - ŠÖ˜A - - ¨ UninstallRegistryFileOpen - - - ¨ InstallRegistryFileVerb - - ƒtƒ@ƒCƒ‹‚̉EƒNƒŠƒbƒNEƒƒjƒ…[ - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̐ݒè‰ðœ - ƒeƒXƒg - - ¨ T_Reg_Manually.vbs # [T_FileAssocOpen] - - ŽQl - - ¨ ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̃Rƒ}ƒ“ƒh - - - ¨ InstallRegistryFileOpenCommand - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ðŽw’肵‚ÄŠJ‚­ƒvƒƒOƒ‰ƒ€‚ðÝ’è‚·‚é - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ FileExts\.<Šg’£Žq>\UserChoice\Hash - ‰º‹L Hash ƒL[‚ª‚ ‚é‚Æ‚«‚́AƒŒƒWƒXƒgƒŠ[‚̐ݒè‚𒼐ڐݒ肵‚½‚¾‚¯‚ł́Au‚±‚ÌŽí—ނ̃tƒ@ƒCƒ‹ (.<Šg’£Žq>)‚ðŠJ‚­‚ɂ́A‚ǂ̃AƒvƒŠ‚ðŽg‚¢‚Ü‚·‚©Hv‚ªí‚É•\Ž¦‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚·B - ƒZƒLƒ…ƒŠƒeƒB[‚Ì‹@”\‚̉”\«‚ª‚ ‚è‚Ü‚·B ­‚È‚­‚Æ‚àAƒ}ƒNƒƒ\ƒtƒg»•i‚ªŽg‚¤Šg’£Žq‚́A - Hash ƒL[‚ª‚Å‚«‚Ü‚·B - Windows8 ‚ł́AŠÖ˜A‚·‚éÝ’è‚É–µ‚‚ª‚ ‚é‚ƁAu‚±‚ÌŽí—ނ̃tƒ@ƒCƒ‹ (.<Šg’£Žq>)‚ðŠJ‚­‚ɂ́A‚ǂ̃AƒvƒŠ‚ðŽg‚¢‚Ü‚·‚©Hv‚ªí‚É•\Ž¦‚³‚ê‚Ü‚·B - - ¨ Šù’è‚̃vƒƒOƒ‰ƒ€‚Ì‘I‘ðAƒvƒƒOƒ‰ƒ€‚©‚çŠJ‚­ - - ƒ}ƒNƒƒ\ƒtƒg»•ii‚Ü‚½‚́AWindows ƒCƒ“ƒXƒg[ƒ‰[‚ŃCƒ“ƒXƒg[ƒ‹‚µ‚½ƒvƒƒOƒ‰ƒ€Hj‚ªŽg‚í‚È‚¢Šg’£Žq‚É‚Í Hash ƒL[‚ª‚Å‚«‚¸AƒŒƒWƒXƒgƒŠ[‚̐ݒ肾‚¯‚ÅŠÖ˜A•t‚¯‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - UninstallRegistryFileOpen - - ‚ȂǂŁAƒŒƒWƒXƒgƒŠ[‚̐ݒè‚ðŒ³‚É–ß‚µ‚Ä‚©‚çAƒtƒ@ƒCƒ‹‚ð‰EƒNƒŠƒbƒN [ ƒvƒƒOƒ‰ƒ€‚©‚çŠJ‚­ >Šù’è‚̃vƒƒOƒ‰ƒ€‚Ì‘I‘ð ] ‚ð‘I‚ñ‚Å‚­‚¾‚³‚¢B - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­ƒvƒƒOƒ‰ƒ€‚ð•ÏX‚Å‚«‚é‚悤‚É–ß‚·‚ɂ́A - - - - - - - UninstallRegistryFileOpen - - - Sub UninstallRegistryFileOpen( Extension as string, ExePath as string ) - - ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­ƒvƒƒOƒ‰ƒ€‚ðÝ’è‰ðœ‚µ‚Ü‚·BiŒ»Ý‚̃†[ƒU[‚̂݁j - yˆø”z - Extension - ExePath - Šg’£Žq - ƒvƒƒOƒ‰ƒ€‚Ì exe ƒtƒ@ƒCƒ‹‚̃pƒXB‘Š‘΃pƒX‰ÂB - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - ƒTƒ“ƒvƒ‹F - - - UninstallRegistryFileOpen ".svg", "Snap Note.exe" - - ŠÖ˜A - - ¨ InstallRegistryFileOpen - - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̐ݒè - ƒeƒXƒg - - ¨ T_Reg_Manually.vbs # [T_FileAssocOpen] - - - - - - - - InstallRegistryFileOpenCommand - - - Sub InstallRegistryFileOpenCommand( Extension as string, ProgID as string, CommandLine as string, IsDefault as boolean ) - - ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­ƒvƒƒOƒ‰ƒ€‚ðÝ’肵‚Ü‚·BiŒ»Ý‚̃†[ƒU[‚̂݁j - yˆø”z - Extension - ProgID - Šg’£Žq - ƒvƒƒOƒ‰ƒ€‚ÌŽ¯•ÊŽq - IsDefault - True = ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­A False = ƒvƒƒOƒ‰ƒ€‚Ì‘I‘ð‚É“o˜^‚·‚é - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - - InstallRegistryFileOpenCommand ".svg", "Snap Note.exe", """Snap Note.exe"" ""%1""", True - - ŠÖ˜A - ƒeƒXƒg - ŽQl - - ¨ ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̃Rƒ}ƒ“ƒh - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - CommandLine - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - ¨ UninstallRegistryFileOpenCommand - - - ¨ T_Reg_Manually.vbs # T_FileAssocOpen_OS_Exe - - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - prompt_vbs = SearchParent( "vbslib Prompt.vbs" )command_line = """%windir%\System32\cmd.exe"" /K (""%windir%\System32\cscript.exe"" //nologo """+_ - prompt_vbs +""" TranslateTest ""%1"" """")" - InstallRegistryFileOpenCommand "trans", "TranslateTest", command_line, True - - - ¨ GetCScriptGUI_CommandLine - - - - - - - - UninstallRegistryFileOpenCommand - - - Sub UninstallRegistryFileOpenCommand( Extension as string, ProgID as string ) - - ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚ÉŠJ‚­ƒvƒƒOƒ‰ƒ€‚ðÝ’è‰ðœ‚µ‚Ü‚·BiŒ»Ý‚̃†[ƒU[‚̂݁j - yˆø”z - Extension - ProgID - Šg’£Žq - ƒvƒƒOƒ‰ƒ€‚ÌŽ¯•ÊŽq - ƒtƒ@ƒCƒ‹F - - - System.vbs - - ƒTƒ“ƒvƒ‹F - - - UninstallRegistryFileOpenCommand ".svg", "Snap Note.exe" - - ŠÖ˜A - - ¨ InstallRegistryFileOpenCommand - - ƒeƒXƒg - - ¨ T_Reg_Manually.vbs # T_FileAssocOpen_OS_Exe - - - - - - - - RegWriteOpenExt - - - Sub RegWriteOpenExt( Ext, KeyName, Explain, Command, Opt ) - - Žw’è‚ÌŠg’£Žq‚Ì [ŠJ‚­(&O)] ƒƒjƒ…[‚̃Rƒ}ƒ“ƒh‚ð“o˜^‚µ‚Ü‚·B - ŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚· - yˆø”z - KeyName - Explain - ƒŒƒWƒXƒgƒŠ‚̃L[‚Ì–¼‘Oi‰pŒêj - ƒ^ƒCƒv‚Ìà–¾‚É•\Ž¦‚³‚ê‚é“à—e - Command - ŽÀs‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - Opt - ’ʏí Empty - Šg’£ŽqBæ“ª‚̓sƒŠƒIƒhB—áF.ext - Ext - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - ƒtƒ@ƒCƒ‹F - - - System.vbs - - ¡‚Ü‚ÅŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚½î•ñ‚ÍŽ¸‚í‚ê‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - RegWriteOpenExt ".c", "cfile", "C Language source", _ "C:\Windows\Notepad.exe ""%1""", Empty - - .c ƒtƒ@ƒCƒ‹‚ðƒƒ‚’ ‚ÅŠJ‚­‚悤‚É‚µ‚Ü‚·B - ”pŽ~‚³‚ê‚Ü‚µ‚½B ‘ã‚í‚è‚́cc - - ¨ InstallRegistryOfFileOpen - - - - - - - - InstallRegistryFileVerb - - - Sub InstallRegistryFileVerb( ProgID as string, Verb as string, Caption as string, CommandLine as string ) - - ƒtƒ@ƒCƒ‹‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚Ì‚P‚‚̍€–Ú‚ð’ljÁ‚µ‚Ü‚·BiŒ»Ý‚̃†[ƒU[‚̂݁j - yˆø”z - ProgID - Verb - "*"A‚Ü‚½‚Í RegReadExtProgID ‚Ì•Ô‚è’l (*1) - ƒƒjƒ…[€–Ú‚ÌŽ¯•ÊŽqi‰pŒêj - Caption - ‰EƒNƒŠƒbƒNEƒƒjƒ…[‚É•\Ž¦‚·‚镶Žš—ñB(*2) - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - (*2) - & ‚ÌŽŸ‚Ì•¶Žš‚́A‰EƒNƒŠƒbƒNEƒƒjƒ…[‚ð•\Ž¦‚µ‚Ä‚¢‚éó‘ԂʼnŸ‚·‚Æ‘I‘ð‚Å‚«‚éƒL[ƒ{[ƒh‚̃L[‚É‚È‚è‚Ü‚·B - CommandLine - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“B %1 ‚́Aƒtƒ@ƒCƒ‹‚̃pƒX‚É’u‚«Š·‚í‚è‚Ü‚·B - - RegReadExtProgID - - (*1) - ‚ŁAŠg’£Žq‚ÆŒ»ÝŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚é ProgID ‚ðŽæ“¾‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - InstallRegistryFileVerb RegReadExtProgID( "svg" ), "edit", "Snap Note (&Z)", _ """"+ GetFullPath( "Snap Note.exe", Empty ) +""" ""%1""" - - ŠÖ˜A - - ¨ UninstallRegistryFileVerb - - - ¨ InstallRegistryFileOpen - - - ¨ RegReadExtProgID - - ‰EƒNƒŠƒbƒNEƒƒjƒ…[‚̍폜 - ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½‚Æ‚«‚̐ݒè - Šg’£Žq‚ÆŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚é ProgID ‚̎擾 - ƒeƒXƒg - - ¨ T_Reg_Manually.vbs # [T_FileAssocVerb] - - ŽQl - - ¨ ‰EƒNƒŠƒbƒN‚µ‚Ä•\Ž¦‚³‚ê‚郁ƒjƒ…[ i“Á’è‚ÌŠg’£Žq‚̃tƒ@ƒCƒ‹j - - ƒtƒHƒ‹ƒ_[‚ɑ΂·‚éÝ’è‚ð‚·‚é‚Æ‚«‚́AProgID="Folder" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B‚·‚ׂẴtƒ@ƒCƒ‹‚âƒtƒHƒ‹ƒ_[‚ɑ΂·‚éÝ’è‚ð‚·‚é‚Æ‚«‚́AProgID="*" ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - - - - - - - UninstallRegistryFileVerb - - - Sub UninstallRegistryFileVerb( ProgID as string, Verb as string ) - - ƒtƒ@ƒCƒ‹‚̉EƒNƒŠƒbƒNEƒƒjƒ…[‚Ì‚P‚‚̍€–Ú‚ðíœ‚µ‚Ü‚·BiŒ»Ý‚̃†[ƒU[‚̂݁j - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - yˆø”z - ProgID - Verb - "*"A‚Ü‚½‚Í RegReadExtProgID ‚Ì•Ô‚è’l (*1) - ƒƒjƒ…[€–Ú‚ÌŽ¯•ÊŽqi‰pŒêj - ƒtƒ@ƒCƒ‹F - - - System.vbs - - - RegReadExtProgID - - (*1) - ‚ŁAŠg’£Žq‚ÆŒ»ÝŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚é ProgID ‚ðŽæ“¾‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - InstallRegistryFileVerb RegReadExtProgID( "svg" ), "edit" - - ŠÖ˜A - - ¨ InstallRegistryFileVerb - - ‰EƒNƒŠƒbƒNEƒƒjƒ…[‚̒ljÁ - - - - - - - RegWriteAsterExt - - - Sub RegWriteAsterExt( KeyName, Caption, Command, Opt ) - - ‚·‚ׂẴtƒ@ƒCƒ‹‚ɑ΂·‚éƒRƒ“ƒeƒLƒXƒgƒƒjƒ…[‚ð’ljÁ“o˜^‚µ‚Ü‚·B - ŠÇ—ŽÒŒ ŒÀ‚ª•K—v‚Å‚· - yˆø”z - KeyName - Caption - ƒŒƒWƒXƒgƒŠ‚̃L[‚Ì–¼‘Oi‰pŒêj - ƒRƒ“ƒeƒLƒXƒgƒƒjƒ…[‚É•\Ž¦‚³‚ê‚é“à—e - Command - ŽÀs‚·‚éƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ - Opt - ’ʏí Empty - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - ƒtƒ@ƒCƒ‹F - - - System.vbs - - ƒTƒ“ƒvƒ‹F - - - '--- start of parameters for vbslib include ------------------------------- g_admin = 1 - : - '--- end of parameters for vbslib include --------------------------------- - - Sub main() - Dim prog : prog = GetFullPath( "bz", Empty ) - RegWriteAsterExt "bz", "bz (binary editor)", prog + "\bz.exe ""%1""", Empty - End Sub - - ”pŽ~‚³‚ê‚Ü‚µ‚½B ‘ã‚í‚è‚́cc - - ¨ InstallRegistryFileVerb - - - - - - - - RegReadExtProgID - - - Function RegReadExtProgID( Extension as string ) as string - - Šg’£Žq‚ÆŒ»ÝŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚é ProgID ‚ðŽæ“¾‚µ‚Ü‚·BiŒ»Ý‚̃†[ƒU[j - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - ŠÖ˜A - - ¨ InstallRegistryFileVerb - - ‰EƒNƒŠƒbƒNEƒƒjƒ…[‚̒ljÁ - ƒtƒHƒ‹ƒ_[‚ɑΉž‚·‚é ProgID ‚́A"Folder" ‚Å‚·B - - - - - - - MsiModify - - (src) - - - - Sub MsiModify( MsiPath as string, TableName as string, KeyColumnName as string, ValueColumnNum as integer, - Key as string, NewValue as string ) - - Windows —p‚̃Cƒ“ƒXƒg[ƒ‹EƒpƒbƒP[ƒWi.msij‚̃f[ƒ^ƒx[ƒX‚ðC³‚µ‚Ü‚·B - yˆø”z - MsiPath - TableName - ƒCƒ“ƒXƒg[ƒ‹EƒpƒbƒP[ƒWi.msij‚̃tƒ@ƒCƒ‹‚̃pƒX - ƒf[ƒ^ƒx[ƒX‚̃e[ƒuƒ‹–¼ - KeyColumnName - ƒL[‚ª‚ ‚é—ñ‚Ì–¼‘O - NewValue - Key - ValueColumnNum - ’l‚ª‚ ‚é—ñ‚̔ԍ†iÅ‰‚Pj - ƒL[‚Ì–¼‘O - V‚µ‚¢’l - - ¨ Orca ƒc[ƒ‹Amsi ƒtƒ@ƒCƒ‹‚̃f[ƒ^ƒx[ƒX‚̏C³ - - ŽQl - ƒTƒ“ƒvƒ‹ - - - Sub Main( Opt, AppKey ) Dim msi_path : msi_path = "sample.msi" - Dim new_values : Set new_values = Dict(Array( "Utilities", "INSTALLDIR" )) - Dim key - - For Each key In new_values.Keys - MsiModify msi_path, "Directory", "Directory", 2, key, new_values.Item( key ) - Next - End Sub - - - - - - - - get_WMI - - - Function get_WMI( ComputerName as string, ClassName as string ) as Object - - WMI ƒIƒuƒWƒFƒNƒg‚ð•Ô‚µ‚Ü‚·B - yˆø”z - ComputerName - ClassName - ƒRƒ“ƒsƒ…[ƒ^[–¼B Empty = ƒƒOƒIƒ“‚µ‚Ä‚¢‚éƒRƒ“ƒsƒ…[ƒ^[ - WMI ‚̃Nƒ‰ƒX–¼ - •Ô‚è’l - ƒGƒ‰[ƒR[ƒhA³í=0 - - ¨ WMI (Windows Management Instrumentation) - - ŽQl - - (src) - - - [ e: ƒVƒXƒeƒ€AOSAƒŒƒWƒXƒgƒŠ ] - - - - - - - - GetPythonInstallPath - - - Function GetPythonInstallPath() as string - - Python ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚̃pƒX‚ð•Ô‚µ‚Ü‚·B - ƒŒƒWƒXƒgƒŠ[‚̏î•ñ‚ƁA - - SetTargetPythonVersion - - ‚̐ݒè‚ðŒ³‚É‚µ‚Ä‚¢‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - ƒTƒ“ƒvƒ‹ - - - python_exe = GetPythonInstallPath() +"\python.exe" script_path = "C:\sample.py" - RunProg """"+ python_exe +""" """+ script_path +"""", "" - - - - - - - - SetTargetPythonVersion - - - Sub SetTargetPythonVersion( MinVer as integer, MaxVer as integer ) - - Python ‚ÉŠÖ‚·‚é‹@”\‚̑ΏۂƂȂéƒo[ƒWƒ‡ƒ“‚͈̔͂ðÝ’肵‚Ü‚·B - yˆø”z - MinVer - MaxVer - Å¬ƒo[ƒWƒ‡ƒ“A‚Ü‚½‚́AEmpty - Å‘åƒo[ƒWƒ‡ƒ“A‚Ü‚½‚́AEmpty - - GetPythonInstallPath - - - IsInstallPython - - ‚â - ‚Ì“®‚«‚ª - –{ŠÖ”‚ðŒÄ‚яo‚·‚ƁA - •Ï‚í‚è‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - IsInstallPython - - - Function IsInstallPython() as boolean - - Python ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - GetPerlVersion - - - Function GetPerlVersion( Options as Empty ) as string - - Perl ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚é‚©Šm”F‚µAActivePerl ‚̃o[ƒWƒ‡ƒ“‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Options - •Ô‚è’l - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ƒXƒNƒŠƒvƒgEƒGƒ“ƒWƒ“–¼‚ƁAƒo[ƒWƒ‡ƒ“”ԍ†B —áF"5.16.3" - - - <ERROR err_number='0x80070002' err_description='Perl ‚ªŒ©‚‚©‚ç‚È‚¢‚© Perl ‚É Path ‚ª’Ê‚Á‚Ä‚¢‚Ü‚¹‚ñBStrawberry Perl ‚â ActivePerl ‚È‚Ç‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B'/> - - Perl ‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¢‚ƁA‰º‹L‚̂悤‚ȃGƒ‰[‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹ - Perl ‚ªŽg‚¦‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚·‚é - - - GetPerlVersion Empty - - ƒ\[ƒX - - ¨ vbslib.vbs - - ŽQl - “à•”‚Å - ‚É‚æ‚Á‚Ä Perl ƒXƒNƒŠƒvƒg‚̃zƒXƒg(.exe) ‚̃pƒX‚ðŒŸõ‚µ‚Ü‚·B - - Setting_getPerlPath - - ‚Ü‚½A–{ŠÖ”‚Ì“à•”‚ŁAŒ»ÝŽÀs’†‚̃vƒƒZƒX‚̊‹«•Ï” PATH ‚ɁAPerl ‚Ì exe ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ð’ljÁ‚µ‚Ü‚·B - - ¨ ActivePerl - - - ¨ Strawberry Perl - - - - - - - - ‚»‚Ì‘¼ - - ¨ GetOSVersion - - - ¨ SetTaskStartTime - - - ¨ ‘—‚éA‚É“o˜^‚·‚é - - ƒ^ƒXƒN‚É“o˜^‚·‚é - - - - - - - ƒlƒbƒgƒ[ƒN - - ¨ DownloadByHttp - - ƒCƒ“ƒ^[ƒlƒbƒg‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·B - - ¨ CheckWSHNetwork - - ƒtƒ@ƒCƒAƒEƒH[ƒ‹‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - ¨ SetVirtualFileServer - - ‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ðÝ’肵‚Ü‚·B - - ¨ GetPercentURL - - % •¶Žš‚ðŽg‚Á‚½³‹K‚Ì URL ‚É•ÏŠ·‚µ‚Ü‚·B - ƒz[ƒ€ƒy[ƒW‚ðŠJ‚«‚Ü‚·B - - ¨ start - - ‘¼‚É‚à‚ ‚è‚Ü‚·B¶‚̃cƒŠ[‚©‚ç‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - DownloadByHttp - - - Sub DownloadByHttp( DownloadURL as string, OutLocalPath as string ) - - ƒCƒ“ƒ^[ƒlƒbƒg‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·B - yˆø”z - DownloadURL - OutLocalPath - ƒ_ƒEƒ“ƒ[ƒh‚·‚é URLA‚Ü‚½‚́A‚»‚Ì”z—ñ - ƒ_ƒEƒ“ƒ[ƒh‚µ‚½ƒtƒ@ƒCƒ‹‚Ì•Û‘¶æƒpƒX - ƒfƒtƒHƒ‹ƒg‚ł́ASage Plaisir 21 ‚̃z[ƒ€ƒy[ƒW‚©‚çƒ_ƒEƒ“ƒ[ƒh‚·‚é‚Æ‚«‚̂݁Aƒ†[ƒU[‚Ì‹–‰Â‚ðŠm”F‚·‚邱‚Æ‚È‚­ƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B ‘¼‚̃z[ƒ€ƒy[ƒW - ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚·‚é‚Æ‚«‚́Aƒ†[ƒU[‚Ì‹–‰Â‚ð‹‚ß‚ç‚ê‚Ü‚·B - - ‘¼‚̃z[ƒ€ƒy[ƒW‚©‚çƒ_ƒEƒ“ƒ[ƒh‚·‚鏈—‚ðŠÜ‚ÞƒXƒNƒŠƒvƒg‚ðŽg‚Á‚ÄŽ©“®‰»‚·‚é - ‚Æ‚«‚́Aƒ†[ƒU[‚Ì‹–‰Â‚ð‹‚ß‚È‚¢ exe ‚ðì¬‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ƒfƒtƒHƒ‹ƒg - ‚ł́Aƒ_ƒEƒ“ƒ[ƒh‚ðŽÀÛ‚ɍs‚¤‚̂́Ascriptlib\vbslibXXX\sage_p_downloader ‚É - “ü‚Á‚Ä‚¢‚é sage_p_downloader.exe ‚Å‚·‚ªA_src\Test\vbslib_test\scriptlib\ - vbslib\sage_p_downloader\src ‚Ƀ\[ƒX‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚̂ŁA - C³‚ÍŠÈ’P‚Å‚·B ƒ\[ƒX‚É‹Lq‚³‚ꂽƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚éƒhƒƒCƒ“‚ð - •ÏX‚µAÄƒRƒ“ƒpƒCƒ‹‚µAexe –¼‚ð•ÏX‚µ‚āANetword.vbs ‚É‚ ‚é DownloadByHttp - ‚Ì’è‹`‚ð•ÒW‚µ‚Ä‚­‚¾‚³‚¢B exe –¼‚ð•ÏX‚·‚邱‚ƂŁAƒEƒBƒ‹ƒX‘΍ôƒ\ƒtƒg‚ª - ƒlƒbƒgƒ[ƒNƒAƒNƒZƒX‚Ì‹–‰Â‚ðÄ“xs‚¢‚Ü‚·B - - ¨ T_Download.vbs - - ƒeƒXƒg - - - DownloadByHttp "http://www.sage-p.com/index.html", "index.html" - - ŠÖ˜A - - ¨ SetVirtualFileServer - - - ¨ GetPercentURL - - DownloadURL ‚ɂ́AURL ‚ÉŠÜ‚Þ‚±‚Æ‚ª‚Å‚«‚È‚¢•¶Žš‚àŠÜ‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚·B“à•”‚ŁAGetPercentURL ‚ðŒÄ‚яo‚µ‚Ä‚¢‚Ü‚·B - ƒ_ƒEƒ“ƒ[ƒh‚ðŠÜ‚ޏˆ—‚ð‚·‚é‚Æ‚«‚́ASetVirtualFileServer ‚ðŽg‚¦‚΁AŽÀÛ‚Ƀlƒbƒgƒ[ƒN‚ɃAƒNƒZƒX‚·‚é‘O‚ɁAƒ[ƒJƒ‹ PC ‚¾‚¯‚Å“®ìŠm”F‚ª‚Å‚«‚Ü‚·B - sage_p_downloader.exe - ƒL[ƒ[ƒhF - - ¨ SetVirtualFileServer - - ƒ\[ƒX - ƒTƒ“ƒvƒ‹ - - ¨ Network.vbs - - DownloadURL ˆø”‚ª”z—ñ‚Ì‚Æ‚«‚́AOutLocalPath ‚̓tƒHƒ‹ƒ_[‚̃pƒX‚É‚È‚è‚Ü‚·BDownloadURL ˆø”‚ª”z—ñ‚Ì‚Æ‚«‚́AŽÀsŒã‚́ADownloadURL ”z—ñ‚Ì“à—e‚ªA - •Û‘¶æ‚̃tƒ@ƒCƒ‹‚̃pƒX‚É’u‚«Š·‚í‚è‚Ü‚·B - T_SetVirtualFileServer - T_SetVirtualFileServer_Files - T_SetVirtualFileServer_Files_Manually - ŽQl - - ¨ src ƒtƒHƒ‹ƒ_[ - - sage_p_downloader.exe ‚̃\[ƒX - - - - - - - SetVirtualFileServer_byXML - - - Sub SetVirtualFileServer_byXML( SettingXML_Path as string ) - - - SetVirtualFileServer - - ‚É‚æ‚鉼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚̐ݒè‚ð XML ƒtƒ@ƒCƒ‹‚ōs‚¢‚Ü‚·B - yˆø”z - SettingXML_Path - ‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚̐ݒ肪‚ ‚é XML ƒtƒ@ƒCƒ‹A‚Ü‚½‚́AEmpty - - - SetVirtualFileServer_byXML GetVar("%VirtualServer%") - - ƒTƒ“ƒvƒ‹ - - GetVar - - ŠÂ‹«•Ï” VirtualServer ‚ª’è‹`‚³‚ê‚Ä‚¢‚ê‚΁A‚»‚Ì’l‚ð XML ƒtƒ@ƒCƒ‹‚̃pƒX‚Æ‚µ‚Đݒ肵‚Ü‚·B’è‹`‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΁A‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ðŽg‚¢‚Ü‚¹‚ñB - SettingXML_Path = Empty ‚Ì‚Æ‚«‚́A‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ðŽg‚í‚È‚¢‚悤‚É‚È‚è‚Ü‚·BŠù‚ɉ¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ª“o˜^‚³‚ê‚Ä‚¢‚½‚Æ‚«‚àA‚»‚Ì“o˜^‚Í‰ðœ‚³‚ê‚Ü‚·B - ƒ\[ƒX - ƒeƒXƒg - XML ƒtƒ@ƒCƒ‹‚Ì—á - - - <VirtualFileServer><Replace from="http://www.sage-p.com/" to="http://www.sage-p.com/test/" /> - <Replace from="http://www.sage-p.com/files/" to="C:\www_sage-p_com\files\" /> - <Replace from="http://www.sage-p.com/download"/> - </VirtualFileServer> - - ƒL[ƒ[ƒhF - VirtualServer, TestServer - Replace/@from - - SetVirtualFileServer - - ‚Ì VirtualURL ˆø”‚É“n‚·’l - Replace/@to - ‚Ì LocalOrOtherPath ˆø”‚É“n‚·’lB - - SetVirtualFileServer - - È—ªŽž‚́AEmpty ‚ð“n‚µ‚Ü‚·B - ‚±‚ê‚Ü‚Å“o˜^‚³‚ê‚Ä‚¢‚½‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚̐ݒè‚Í“o˜^‰ðœ‚³‚ê‚Ü‚·B - - ¨ T_Download.vbs - - T_SetVirtualFileServer_byXML - - ¨ Network.vbs - - - ¨ SetVirtualFileServer - - ŽQl - - - - - - - SetVirtualFileServer - - - Sub SetVirtualFileServer( VirtualURL as string, LocalOrOtherPath as string ) - - ƒlƒbƒgƒ[ƒNEƒT[ƒo[‚Ì‘ã‚í‚èi‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[j‚ðÝ’肵‚Ü‚·B - yˆø”z - VirtualURL - LocalOrOtherPath - ‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ª‰ž“š‚·‚éƒx[ƒX URL - VirtualURL ‚ɑΉž‚·‚郍[ƒJƒ‹‚̃pƒXA‚Ü‚½‚Í URL - SetVirtualFileServer ‚ðŽg‚¤‚ƁA - - DownloadByHttp - - ‚ðŒÄ‚яo‚µ‚Ä‚àAƒCƒ“ƒ^[ƒlƒbƒg‚©‚çƒ_ƒEƒ“ - ƒ[ƒh‚¹‚¸AÝ’肵‚½ƒ[ƒJƒ‹EƒtƒHƒ‹ƒ_‚©‚çƒRƒs[‚·‚é‚©A•Ê‚Ì URL ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·B‚±‚Ì‹@”\‚É‚æ‚èAˆê”ÊŒöŠJ‚³‚ê‚Ä‚¢‚éƒT[ƒo[‚ð•ÏX‚µ‚È‚¢‚ŃeƒXƒg‚ª‚Å‚«‚Ü‚·B - - - SetVirtualFileServer "http://www.sage-p.com/", "C:\www_sage-p_com\" DownloadByHttp "http://www.sage-p.com/index_test.html", "index.html" - - ƒ\[ƒX - ƒTƒ“ƒvƒ‹ - - ¨ Network.vbs - - ’ʏíAVirtualURL ‚̍ŌオA/ ‚È‚çALocalPath ‚̍Ōã‚Í \ ‚Ü‚½‚Í / ‚É‚µ‚Ä‚­‚¾‚³‚¢B - Šù‚ɉ¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ª“o˜^‚³‚ê‚Ä‚¢‚é‚Æ‚«‚ɌĂяo‚·‚ƁA’ljÁ“o˜^‚³‚ê‚Ü‚·BLocalOrOtherPath = Empty ‚ðŽw’è‚·‚é‚ƁAVirtualURL ‚Ì URL ‚ɑ΂µ‚āA‰¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ð - Žg‚í‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - VirtualURL = Empty ‚ðŽw’è‚·‚é‚ƁA‚·‚ׂẲ¼‘zƒtƒ@ƒCƒ‹EƒT[ƒo[‚ðŽg‚í‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - - ¨ DownloadByHttp ‚̃eƒXƒg - - ƒeƒXƒg - LocalOrOtherPath ‚́Aƒ[ƒJƒ‹ PC ‚É‚ ‚éƒtƒHƒ‹ƒ_[‚̃pƒXA‚Ü‚½‚́A•Ê‚Ì URL ‚ðŽw’肵‚Ü‚·BLocalOrOtherPath ‚É "://" ‚ª‚ ‚é‚ƁA•Ê‚Ì URL ‚ªŽw’肳‚ꂽ‚Æ‚µ‚āAƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·B - ŠÖ˜A - - ¨ SetVirtualFileServer_byXML - - - - - - - - - - - - - - - - - - - - ŽŸ‚Ì•¶Žši“ÁŽê‚È—\–ñ•¶Žšj‚́A‹æØ‚蕶Žš‚â—\–ñ•¶Žš‚Å‚Í‚È‚­‚·‚½‚߂ɁA% ‚ɃGƒXƒP[ƒv‚µ‚Ü‚·B@@E[ ] @ // RFC3986 ‚Ì gen-delims - @@@@E‚½‚¾‚µAquery ‚Æ fragment ‚Ì @ ‚́AƒGƒXƒP[ƒv‚µ‚Ü‚¹‚ñB - @@E! $ & ' ( ) * + , ; = // RFC3986 ‚Ì sub-delimsB - @@@@E‚½‚¾‚µAquery ‚Æ fragment ‚Ì sub-delims ‚́AƒGƒXƒP[ƒv‚µ‚Ü‚¹‚ñB - @@E% < > // RFC3986 ‚É‚Í‚ ‚邪Areserved ‚É‚È‚Á‚Ä‚¢‚È‚¢—\–ñ•¶Žš - - - - - - GetPercentURL - - - Function GetPercentURL( UnicodeURL as string ) as string - - Šî–{“I‚È URL ‚Ì‹æØ‚蕶Žši:/?#jˆÈŠO‚Ì—\–ñ•¶Žš‚ðA% •¶Žš‚ðŽg‚Á‚½ URL ‚ɃGƒ“ƒR[ƒh‚µ‚Ü‚·B - yˆø”z - UnicodeURL - Šî–{“I‚È URL ‚Ì‹æØ‚蕶Žš‚¾‚¯‚ðl—¶‚µ‚½ URL - •Ô‚è’l - ŽÀÛ‚É URL ‚ÉŽg‚¦‚镶Žš‚¾‚¯‚ðŽg‚Á‚½ URL - - - url = GetPercentURL( "http://www.sage-p.com/download file.zip" ) - - url ‚́A "http://www.sage-p.com/download%20file.zip" ‚É‚È‚è‚Ü‚·B - 2 - - ! - - - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - A - B - C - D - E - F - 1 - 0 - 3 - 4 - 5 - 6 - 7 - " - # - $ - % - & - ' - ( - ) - * - + - , - - - . - / - 0 - 1 - 9 - 8 - 7 - 6 - 5 - 4 - 3 - 2 - : - ; - < - = - > - ? - @ - A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z - [ - \ - ] - ^ - _ - ` - a - b - c - d - e - f - g - h - i - j - k - l - m - n - o - p - q - r - s - t - u - v - w - x - y - z - { - | - } - ~ - CR - LF - - 6 - 5 - 4 - 3 - 0 - 1 - 2 - 7 - spc - URL‚ÉŽg‚¦‚镶Žš RFC 3986 - - ¨ Uniform Resource Identifier (URI): Generic Syntax (Web) - - ŽQl - RFC1738-ja, RFC 2396 - Windows ‚̃tƒHƒ‹ƒ_[‹æØ‚蕶Žš \iƒoƒbƒNƒXƒ‰ƒbƒVƒ…j ‚́A’ʏíAURL ‚É‚·‚é‚Æ‚«‚É / ‚É’u‚«Š·‚¦‚Ü‚·‚ªAURL ‚Å‚Í’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB - - - fooooooo://example.com:8042/over/there?name=ferret#nose(scheme) ( authority )( path ) ( query ) ( fragment ) - - - ¨ RFC 3986 - 3. Syntax Components (Web) - - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - - ¨ Network.vbs - - - ¨ ConvertCharCodeInHref - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Download.vbs - - T_GetPercentURL - - ¨ URI‚ÉŽg‚Á‚Ä‚æ‚¢•¶Žš‚̘b - –{“–‚Í•|‚¢î•ñ‰ÈŠw (Web) - - ¨ ECMAScript - encodeURIComponent - URL ‚ÌŽd—l‚ɏo‚Ä‚±‚È‚¢•¶ŽšiŽg‚¦‚È‚¢•¶Žš "^\{|}j - URL ‚ªŽg‚¤ˆê”Ê“I‚È—\–ñ•¶Žš (gen-delims :/?#[]@) - URL ‚ª•¶Žš‚Æ‚µ‚ÄŽg‚¤•¶Žš (unreserved A0-._~) - - ¨ RFC 3986 - Appendix A. Collected ABNF for URI (Web) - - - - URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] - hier-part = "//" authority path-abempty - / path-absolute - / path-rootless - / path-empty - authority = [ userinfo "@" ] host [ ":" port ] - host = IP-literal / IPv4address / reg-name - - reg-name = *( unreserved / pct-encoded / sub-delims ) - - path-abempty = *( "/" segment ) - path-absolute = "/" [ segment-nz *( "/" segment ) ] - path-rootless = segment-nz *( "/" segment ) - segment = *pchar - segment-nz = 1*pchar - - query = *( pchar / "/" / "?" ) - fragment = *( pchar / "/" / "?" ) - - - - pchar = unreserved / pct-encoded / sub-delims / ":" / "@" unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" - pct-encoded = "%" HEXDIG HEXDIG - reserved = gen-delims / sub-delims - gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@" - sub-delims = "!" / "$" / "&" / "'" / "(" / ")" - / "*" / "+" / "," / ";" / "=" - - ALPHA = ƒAƒ‹ƒtƒ@ƒxƒbƒg - DIGIT = ”Žš - HEXDIG = 16i”‚̐”ŽšB (Hex Digit) - - ŽQl - pct = percent, gen = general, delims = delimiters - - ¨ ABNF ‹L–@ - - ˆÈ‰º‚É RFC 3986 ‚̈ꕔ‚ðŽ¦‚·B - RFC 3986 ‚ÉŠî‚¢‚Ä URL (URI) ‚ÉŽg‚¦‚é/Žg‚¦‚È‚¢•¶Žš‚́AˆÈ‰º‚Ì’Ê‚è‚Å‚·B - “ÁŽê‚È URL ‚Ì—\–ñ•¶Žš (sub-delims !$&'()*+,;=) - RFC 3986 ‚ł́Aunreserved ‚Æ sub-delims ‚ªí‚É‘I‘ð‚Å‚«‚éB - URL ‚Å’è‹`‚ª‚È‚¢—\–ñ•¶ŽšiŽg‚¦‚È‚¢•¶Žš %<>j - Using <> angle brackets around each URI is especially recommended as a delimiting style for a reference that contains embedded whitespace. - % ‚́Apct-encoded ‚Ì’è‹`“à‚ÅŽg‚í‚ê‚Ä‚¢‚Ü‚·B - < ‚Æ > ‚́AURL ‚ðˆÍ‚Þ•¶Žš‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª„§‚³‚ê‚Ä‚¢‚Ü‚·B ‚‚܂èAURL ‚Å‚ÍŽg‚¦‚Ü‚¹‚ñB - - ¨ î•ñƒZƒLƒ…ƒŠƒeƒB‹Zp“®Œü’²¸i2009 ”N‰ºŠújFIPA (Web) - - 9 URI ‚̃GƒXƒP[ƒv - RFC 3986 ‚́Aunreserved ‚ªŒ¸‚Á‚Ä‚¢‚Ä“Ç‚Ý‚É‚­‚­‚È‚é - i—\–ñ•¶Žš‚𓥂܂¦‚¸‚É‘½‚­‚Ì•W€‚ª‚Å‚«‚Ä‚¢‚égŸŽè‚È•W€‰»ˆÏˆõ‚Ö‚Ì‹ð’sHj - –{ŠÖ”‚́AŠî–{“I‚È URL ‚Ì—\–ñ•¶Žš : / ? # ‚Í‚»‚Ì‚Ü‚ÜŽc‚µA‚»‚êˆÈŠO‚́i“ÁŽê‚ȁj—\–ñ•¶Žš‚Í % •¶Žš‚ðŽg‚Á‚½•¶Žš—ñ‚ɃGƒXƒP[ƒv‚µ‚Ü‚·B URL ‚Ì ?query ‚Ì•”•ª‚Ì = ‚Æ & ‚́AƒNƒGƒŠ[•¶Žš—ñ - ‚Ì‚½‚߁AƒGƒXƒP[ƒv‚µ‚Ü‚¹‚ñB ‚»‚êˆÈŠO‚Ì•”•ª‚Ì = ‚Æ & ‚́AƒGƒXƒP[ƒv‚µ‚Ü‚·B - ŽŸ‚Ì•¶ŽšiŠî–{“I‚È—\–ñ•¶Žšj‚́A‹æØ‚蕶Žš‚Æ‚µ‚āAƒGƒXƒP[ƒv‚µ‚Ü‚¹‚ñB@@E: / ? # // RFC3986 ‚Ì ABNF ‚̃gƒbƒv‚Ì’è‹`‚É‚ ‚é gen-delims - @@‚½‚¾‚µAÅ‰‚Ì # ‚æ‚èŒã‚Ì # ‚̓GƒXƒP[ƒv‚µ‚Ü‚·B - Ú× - Šî–{“I‚È—\–ñ•¶Žš‚Å‹æØ‚ç‚ꂽA‚»‚ꂼ‚ê‚Ì•”•ª•¶Žš—ñiƒtƒ@ƒCƒ‹–¼AƒtƒHƒ‹ƒ_[–¼AURL ‚ÌŒã‚Ì‚Ù‚¤‚É‚ ‚é ?query ‚ÌŠe•Ï”‚Ì’l‚â #fragment ‚Ì•”•ªj ‚́AŠî–{“I‚È—\–ñ•¶Žš‚àŠÜ‚ß‚Ä‚·‚×‚Ä - ƒGƒXƒP[ƒv‚·‚é•K—v‚ª‚ ‚é‚̂ŁA–{ŠÖ”‚Ƃ͕ʂ̊֐”‚ðŽg‚¤‚Æ‚æ‚¢‚Å‚µ‚傤B - IDNA‘Û‰»ƒhƒƒCƒ“–¼A“ú–{ŒêƒhƒƒCƒ“–¼ - - ¨ ‘Û‰»ƒhƒƒCƒ“–¼ - Wikipedia (Web) - - - ¨ Punycode - - - ¨ Punycode - Wikipedia (Web) - - ƒhƒƒCƒ“–¼‚Ì‹æØ‚èiƒsƒŠƒIƒhj‚²‚ƂɁAPunycode •ÏŠ·‚ðs‚¤B - - ¨ URLƒGƒ“ƒR[ƒh i% •\‹Lj - - - ${ } •Ï” - - ‹ó”’‚Í + ‚Å‚Í‚È‚­ %20 ‚É’u‚«Š·‚¦‚Ü‚·B Google ‚Å‚à³í‚É“®‚«‚Ü‚·B + ‚́AGoogle ‚ÌŒŸõƒL[ƒ[ƒh‚É“ü‚ê‚邽‚ß %2B ‚É’u‚«Š·‚¦‚Ü‚·B - - ¨ ŒŸõƒL[ƒ[ƒh‚Ì‹ó”’‚Í + - - ŽŸ‚Ì•¶Žš‚́ARFC 3986 ‚Å‚Í–¾Šm‚É‚³‚ê‚Ä‚¢‚È‚¢‚½‚߁A% ‚ɃGƒXƒP[ƒv‚µ‚Ü‚·B@@EAscii ˆÈŠO‚Ì•¶Žš iŠ¿ŽšAUnicode •¶Žšj - @@E" ^ { | } // \ ˆÈŠO‚Ì RFC3986 ‚Å’è‹`‚³‚ê‚Ä‚¢‚È‚¢•¶ŽšA‹ó”’‚Ɛ§Œä•¶Žš - ‚Í“WŠJ‚µ‚Ü‚¹‚ñB •¶Žš $, {, } ‚ªƒGƒXƒP[ƒv‚³‚ê‚Ü‚·B ${> } •Ï”‚Ì’è‹`‚Í•s—v‚Å‚·B - ŽŸ‚Ì•¶Žši‰pŒê‚̈ê”Ê‚Ì•¶Žšj‚́AURL ‚Å‚àŽg‚¦‚é‚̂ŁAƒGƒXƒP[ƒv‚µ‚Ü‚¹‚ñB@@EƒAƒ‹ƒtƒ@ƒxƒbƒgA”Žš - \ •¶Žš‚́AURL ‚̃tƒHƒ‹ƒ_[‹æØ‚è‹L† / ‚É•ÏŠ·‚µ‚Ü‚·B RFC 3986 ‚Å‚Í–¾Šm‚É‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB @@E\ - ƒGƒ“ƒR[ƒh‚ÌÚ× - \ •¶Žš‚́AURL ‚̃tƒHƒ‹ƒ_[‹æØ‚è‹L† / ‚É•ÏŠ·‚µ‚Ü‚·B –ß‚·‚Æ‚«‚É \ ‚© / ‚Ì‚Ç‚¿‚ç‚Å‚ ‚é‚© - - ¨ CGI‚̃pƒ‰[ƒ[ƒ^‚‚«URL (?), query - - ŽQl - “ÁŽê‚È—\–ñ•¶Žš‚ð•Ô‚è’l‚ÉŠÜ‚ß‚éi—\–ñ•¶Žš‚Æ‚µ‚ÄŽg‚¤j‚Æ‚«‚́A"${>" ‚Æ "}" ‚ÌŠÔ‚É–„‚ߍž‚ñ‚Å‚­‚¾‚³‚¢B "${>" ‚ƁA‚»‚ê‚É‘±‚­ "}" ‚Í–³‚­‚È‚è‚Ü‚·B - scheme, hier-part ‚ŃGƒXƒP[ƒv - ã‹L‚Ì•â‘«‚𓥂܂¦‚āA•¶Žš‚²‚Æ‚É‚Ü‚Æ‚ß‚é‚ƁAˆÈ‰º‚̂悤‚É‚È‚è‚Ü‚·B - query ‚Ì’†‚É‚ ‚é sub-delims ‚Ì•¶Žš‚́AƒNƒGƒŠ[•¶Žš—ñ‚Æ‚µ‚Ä—LŒø‚É‚·‚邽‚߁AƒGƒXƒP[ƒv‚µ‚Ü‚¹‚ñB query ‚Ì’†‚Ì : / ? @ ‚́Agen-delims ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - fragment ‚Ì’†‚É‚ ‚é sub-delims ‚Ì•¶Žš‚́ARFC 3986 ‚Å‚Í‹æØ‚蕶Žš‚Å‚Í‚È‚¢‚½‚߁AƒGƒXƒP[ƒv - ‚µ‚Ü‚¹‚ñB ‚Ü‚½Afragment ‚Ì’†‚Ì : / ? @ ‚́Agen-delims ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - GetPercentURL ŠÖ” (vbsliib) - - scheme, hier-part, query, fragment ‚ŃGƒXƒP[ƒv - - ¨ Ú× - - "${>" ‚Æ "}" ‚ÌŠÔ‚Ì•¶Žš‚́A‚Ç‚ñ‚È•¶Žš‚Å‚àƒGƒXƒP[ƒv‚¹‚¸A"${>" ‚Æ‚»‚ê‚É‘±‚­ "}" ‚ª–³‚­‚È‚è‚Ü‚·B ‚»‚ÌŒãA$\ ‚Í $ ‚É•ÏŠ·‚³‚ê‚Ü‚·B iÅ—Dæj - - - –¢‘Ήž - - - - –¢‘Ήž - - % •¶Žš‚ðŽg‚¤‚悤‚ɃGƒ“ƒR[ƒh‚µ‚½•¶Žš—ñ‚́A% ‚Æ‚»‚ê‚É‘±‚­ 2 •¶ŽšiUTF-8 ‚Ì16i”j‚ðA‘Ήž‚·‚é 1 •¶Žš‚É•ÏŠ·‚·‚邾‚¯‚ŃfƒR[ƒh‚Å‚«‚Ü‚·i–ß‚è‚Ü‚·jB ‚½‚¾‚µAƒGƒ“ƒR[ƒhŽž‚ɁA - % ‚à %25 ‚É•ÏŠ·‚µ‚Ä‚¨‚©‚È‚¯‚ê‚΁AƒfƒR[ƒh‚µ‚Ä‚à–ß‚ç‚È‚­‚È‚è‚Ü‚·B - - % ‚Í‚PƒoƒCƒg‚µ‚©•ÏŠ·‚Å‚«‚È‚¢‚̂ŁA•¶ŽšƒR[ƒh ƒZƒbƒg‚̏î•ñ‚ª•Ê‚É–³‚¯‚ê‚΁AAscii ˆÈŠO‚Ì•¶Žš‚ð - ƒfƒR[ƒh‚µ‚Ä‚à–ß‚ç‚È‚­‚È‚è‚Ü‚·B ˆê”Ê‚ÉUTF-8 ‚ªŽg‚í‚ê‚Ü‚·‚ªAAscii ˆÈŠO‚Ì•¶Žš‚ɑ΂µ‚Ä - UTF-16 ‚æ‚èŒø—¦‚ªˆ«‚¢ UTF-8 ‚ðŽg‚¤‚̂́A‚æ‚­l‚¦‚Ä‚¢‚È‚¢‚Ì‚Å‚µ‚傤B 2ƒoƒCƒg•¶Žš‚́A - 9ƒoƒCƒg(UTF-8)A6ƒoƒCƒg(UTF-16AShift-JIS)‚É‚È‚è‚Ü‚·B ‚‚܂èA4.5”{‚Æ3”{‚Å‚·B - - (UNC) - - ‚Í•ª‚©‚ç‚È‚­‚È‚è‚Ü‚·B Windows ‚̃pƒX - ‚ÉŽg‚¤‚Ȃǂ̏󋵂Ŕ»’f‚µ‚Ä‚­‚¾‚³‚¢B - - - –¢‘Ήž - - - ¨ DecodePercentURL - - - ¨ Punycode - - ‚́A% ‚Æ•¶ŽšƒR[ƒh‚Å‚Í‚È‚­APunycode ‚É•ÏŠ·‚µ‚Ü‚·B - - ‘Û‰»ƒhƒƒCƒ“–¼ - - - ‘Û‰»ƒhƒƒCƒ“–¼iPunycodej - - ‚́A2`3”{‚ÉŽû‚Ü‚è‚Ü‚·Bi–{ŠÖ”‚Å‚Í‚±‚Ì•ÏŠ·‚Í‚µ‚Ü‚¹‚ñj - - - - - - - DecodePercentURL - - - Function DecodePercentURL( in_URL as string ) as string - - % •¶Žš‚ðŽg‚Á‚½ URL ‚©‚çAUnicode •¶Žš‚ðŽg‚Á‚½ URL ‚ɃfƒR[ƒh‚µ‚Ü‚·B - yˆø”z - in_URL - % •¶Žš‚ðŽg‚Á‚½ URL - •Ô‚è’l - Unicode •¶Žš‚ðŽg‚Á‚½ URL - - ¨ GetPercentURL - - ŠÖ˜A - ƒ\[ƒX - - ¨ Network.vbs - - ƒeƒXƒg - - ¨ T_Download.vbs - - T_GetPercentURL - - - - - - - LockByFileMutex - - - Function LockByFileMutex( UNC_FilePath as string, TimeOut_msec as integer ) as FileMutexClass - - ƒtƒ@ƒCƒ‹EƒT[ƒo[‚ɑ΂·‚é”r‘¼§Œä‚ðŠJŽn‚µ‚Ü‚·B - yˆø”z - UNC_FilePath - ”r‘¼§Œä‚ðŠÇ—‚·‚éƒtƒ@ƒCƒ‹‚̃pƒX - TimeOut_msec - ƒ^ƒCƒ€ƒAƒEƒgiƒ~ƒŠ•bjA‚Ü‚½‚́Ac.Forever - - - Set c = g_VBS_LibSet mutex = LockByFileMutex( "\\PC01\Folder\_Mutex.txt", c.Forever ) '// ƒƒbƒNŠJŽn - ... - mutex = Empty '// ƒƒbƒNI—¹ - - ƒ\[ƒX - ƒTƒ“ƒvƒ‹ - FileMutexClass - LockByFileMutex ŠÖ”‚Ì•Ô‚è’l‚Å‚·BFileMutexClass ‚̃IƒuƒWƒFƒNƒg‚ªíœ‚³‚ê‚é‚ƁAƒƒbƒNó‘Ô‚ð‰ðœ‚µ‚Ü‚·B - Close ƒƒ\ƒbƒhiˆø”‚È‚µj‚ðŒÄ‚яo‚µ‚Ä‚à‰ðœ‚Å‚«‚Ü‚·B - UNC_FilePath ‚ɁAƒtƒ@ƒCƒ‹EƒT[ƒo[A‚Ü‚½‚́Aƒ[ƒJƒ‹‚̃tƒ@ƒCƒ‹‚̃pƒX‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B - Žw’肵‚½ƒtƒ@ƒCƒ‹‚ɂ́AƒƒbƒN‚µ‚Ä‚¢‚郆[ƒU[–¼ %USERDOMAIN%\%USERNAME% i—áFPC01\User1j‚ªã‘‚«‚³‚êA‘‚«ž‚Ý‹ÖŽ~A“ǂݍž‚Ý‹–‰Âó‘Ô‚É‚È‚è‚Ü‚·B - ƒƒbƒNó‘Ô‚ð‰ðœ‚µ‚½‚çAƒtƒ@ƒCƒ‹‚ðíœ‚µ‚Ü‚·B - - ¨ T_FileMutex_Manually.vbs - - ƒeƒXƒg - - ¨ Network.vbs - - - ¨ FileMutexClass - - ƒƒbƒNó‘Ô‚ð•ÛŽ‚µ‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg - •Ô‚è’l - - - - - - - CheckWSHNetwork - - ¨ CheckWSHNetwork ƒtƒHƒ‹ƒ_ - - WSH (wscript.exe, cscript.exe) ‚ɁAƒtƒ@ƒCƒAƒEƒH[ƒ‹‚ªƒlƒbƒgƒ[ƒNƒAƒNƒZƒX‚ð‹–‰Â‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚·‚éƒXƒNƒŠƒvƒg‚Å‚·B - cscript.exe ‚Ü‚½‚Í wscript.exe ‚ɁAƒlƒbƒgƒ[ƒNƒAƒNƒZƒX‚ð‹–‰Â‚·‚é‚Ɗ댯‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªAWindows7 ‚̃tƒ@ƒCƒAƒEƒH[ƒ‹‚́AWSH ‚É‚æ‚éƒlƒbƒgƒ[ƒNƒAƒNƒZƒX‚ðƒuƒƒbƒN‚µ‚È‚¢‚Å - ŽÀs‚Å‚«‚Ü‚·B iƒ_ƒEƒ“ƒ[ƒhƒT[ƒo[‚̃hƒƒCƒ“‚ÅŽ¯•Ê‚·‚é‚Ì‚©‚à‚µ‚ê‚Ü‚¹‚ñHj - CheckWSHNetwork.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚Æ‹N“®‚µ‚Ü‚·B - - - - - - - - - - - - - - - vbs_inc, vbslib include ivbslib ‚̃RƒAEƒVƒXƒeƒ€j - vbs_inc.vbs - - vbs_inc_setting.vbs - - scriptlib - main - sample_lib - sample - - - - - - - - - - - - - - - - - - vbs_inc ƒ‰ƒCƒuƒ‰ƒŠ–{‘Ì - Ý’èƒtƒHƒ‹ƒ_ - ƒCƒ“ƒNƒ‹[ƒh‚·‚郉ƒCƒuƒ‰ƒŠ‚̃Tƒ“ƒvƒ‹ - ƒƒCƒ“EƒXƒNƒŠƒvƒg ivbslib include‚ðŠÜ‚ށj - - - - - - - ‚́AƒCƒ“ƒNƒ‹[ƒh‚Ì•ûŒü - scriptlib ƒtƒHƒ‹ƒ_‚Ì’†‚Ì vbs_inc.vbs ƒtƒ@ƒCƒ‹‚Ì’†‚É‚ ‚èA“à•”“I‚ÉŽg‚í‚ê‚Ü‚·B - - ¨ g_vbslib_path - - - ¨ g_fs - - - ¨ g_sh - - g_sh = WScript.CreateObject("WScript.Shell") - g_fs = CreateObject( "Scripting.FileSystemObject" ) - vbs_inc.vbs ‚̃tƒ‹EƒpƒX - - ¨ ƒOƒ[ƒoƒ‹•Ï”‚̏‰Šú‰»Ag_InitializeModule - - - ¨ g_debug - - ƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©i‚·‚é‚©‚Ç‚¤‚©j - - ¨ g_IncludePathes - - ƒCƒ“ƒNƒ‹[ƒh‚·‚é VBS ƒtƒ@ƒCƒ‹‚̃pƒX‚Ì”z—ñ - - ¨ g_CommandPrompt - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ÅŽÀs‚·‚é‚©‚Ç‚¤‚© - - ¨ g_vbslib_folder - - scriptlib ƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒXB––”ö‚É \ ‚ª•t‚­ - - setting - - vbs_inc ‚̐ݒè - - ¨ Setting_getIncludePathes - - - Setting_getIncludePathes ŠÖ” - - ‚ɏ‘‚©‚ꂽ .vbs ƒtƒ@ - vbs_inc ‚́AŽŸ‚̃Oƒ[ƒoƒ‹•Ï”‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B - - ¨ ƒ‰ƒCƒuƒ‰ƒŠ.vbs ‚̃‹[ƒ‹ - - - [ ƒeƒXƒg ] - - - ¨ g_admin - - ‹N“®Žž‚ÉŠÇ—ŽÒ‚ÖƒƒOƒCƒ“‚·‚é‚Ì‚©‚µ‚È‚¢‚Ì‚© - •¡”‚Ì VBScript ƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚郉ƒCƒuƒ‰ƒŠ‚Å‚·B - - ¨ g_is_cscript_exe - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“(cscript.exe)‚ÅŽÀs‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚© - - ¨ g_cut_old - - ŒÃ‚¢ŠÖ”‚ŃuƒŒ[ƒN‚·‚é‚悤‚É‚µ‚Ü‚·B - - ¨ g_Vers - - ƒo[ƒWƒ‡ƒ“”ԍ†‚̏W‡‚Å‚·B - - ¨ g_vbslib_ver_folder - - vbs_inc.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒXB––”ö‚É \ ‚ª•t‚­ - - ¨ g_debug_params - - ƒfƒoƒbƒK‚ɐڑ±‚·‚é‚Æ‚«‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“Eƒpƒ‰ƒ[ƒ^ - - ¨ vbs_inc/setting ‚̏ˆ—ƒtƒ[AI—¹Žž‚Ì“®ì - - ŽQl - - Main ŠÖ” - - ‚ª‚ ‚éƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ɁAvbs_inc ‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éƒR[ƒhivbslib include - - Short Hand Prompt - - ‚ðŽg‚Á‚ĐV‹Kì¬‚Å‚«‚éƒXƒNƒŠƒvƒg‚È‚Ç - vbslib - - ¨ Main ŠÖ” - - j‚ª•K—v‚Å‚·B ‚»‚̃R[ƒh‚́A - ‚É“ü‚Á‚Ä‚¢‚é‚Ì‚ÅŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢B - vbslib include ‚́Ascriptlib\setting ƒtƒHƒ‹ƒ_[‚Ì’†‚É‚ ‚é .vbs ƒtƒ@ƒCƒ‹i’ʏíA - vbs_inc_setting.vbsj ‚ɏ‘‚©‚ꂽ - ƒCƒ‹‚ðƒ[ƒh‚µ‚Ü‚·B - - ¨ vbs_inc.vbs - - ŠÖ˜A - - ¨ WriteVBSLibFooter - - - - - - - - vbs_inc.vbs - vbs_inc.vbs ‚ɂ́AƒCƒ“ƒNƒ‹[ƒh‚·‚é vbslib ‚̃o[ƒWƒ‡ƒ“‚âAvbslib ‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚ð‘I‘ð‚µ‚ÄAvbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚éƒXƒNƒŠƒvƒg‚ª‘‚©‚ê‚Ä‚¢‚Ü‚·B - - - g_vbslib_folder = g_fs.GetParentFolderName( g_vbslib_folder )g_vbslib_folder = g_vbslib_folder + "\src\samples\scriptlib\" - g_vbslib_path = g_vbslib_folder +"vbs_inc.vbs" - - vbslib ‚ª“ü‚Á‚Ä‚¢‚éƒtƒHƒ‹ƒ_[‚ð•ÏX‚·‚é‚Æ‚«‚́Aã‹L‚̕ϐ”‚̐ݒèiÄÝ’èj‚¾‚¯‚Å‚È‚­A - - g_vbslib_path •Ï” - - ‚àÄÝ’肵‚Ä‚­‚¾‚³‚¢B - ƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɁAŽŸ‚̕ϐ”‚É’l‚ð‘ã“ü‚µ‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B - - ƒƒCƒ“.vbs - - ‚©‚çƒCƒ“ƒNƒ‹[ƒh‚³‚ê‚Ü‚·B - vbs_inc.vbs ‚́A - - g_vbslib_path •Ï” - - - g_Vers.Item("vbslib") - - vbs_inc.vbs ‚Ì’†‚ÅŽŸ‚̕ϐ”‚ðÝ’èiÄÝ’èj‚µ‚Ä‚­‚¾‚³‚¢B - - g_Vers.Item("vbslib") - - - g_vbslib_folder •Ï” - - ƒTƒ“ƒvƒ‹ - - - - - - - ƒƒCƒ“.vbs ‚̃Oƒ[ƒoƒ‹•Ï” - ƒƒCƒ“EƒXƒNƒŠƒvƒg‚̃Oƒ[ƒoƒ‹•Ï”‚́Astart of lib include ` end of lib include‚ÌŠÔ‚É‚ ‚éAÝ’è’l‚ðŠi”[‚·‚éêŠ‚Å Dim/New ‚µ‚Ä‚­‚¾‚³‚¢B - - - Dim g_Test - Function InitializeModule - Set g_Test = New TestScript - End Function - Dim g_InitializeModule - Set g_InitializeModule = GetRef( "InitializeModule" ) - - - - '--- start of vbslib include -----------------------------F - '--- start of parameters for vbslib include ------- - F - g_CommandPrompt = 1 - Dim g_ObjectA : Set g_ObjectA = New ObjectA - '--- end of parameters for vbslib include -------------- - F - '--- end of vbslib include ------------------------------- - - ƒ‰ƒCƒuƒ‰ƒŠEƒXƒNƒŠƒvƒg‚̃Oƒ[ƒoƒ‹•Ï”‚́AƒOƒ[ƒoƒ‹—̈æ‚Å Dim ‚µ‚āAInitializeModule ŠÖ”‚Ì’†‚ŏ‰Šú‰»‚µ‚Ü‚·B - g_InitializeModule ‚É InitializeModule ŠÖ”‚̃Šƒtƒ@ƒŒƒ“ƒX‚ðÝ’肵‚Ü‚·B - '--- start of vbslib include -----------------------------F - '--- start of parameters for vbslib include ------- - '--- end of parameters for vbslib include --------------F - '--- end of vbslib include ------------------------------- - - ¨ ƒOƒ[ƒoƒ‹•Ï”‚̏‰Šú‰»AŒãŽn––Ag_InitializeModuleAg_FinalizeModule - - - - - - - - - - AppKey.SetWritableMode F_IgnoreIfWarn - - - SetWritableMode - - [WARNING] Out of Writable ‚ÌŒx‚ª‘å—ʂɏo‚é‚Æ‚«‚́Amain2 ‚̍ŏ‰‚ÉŽŸ‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - main ŠÖ”‚ð - - main2 - - ‚É’u‚«Š·‚¦‚éB Œ³‚Ì main ŠÖ”‚́AƒRƒƒ“ƒgƒAƒEƒg‚·‚éB - vbslib_updater - vbslib ‚ðƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚·‚é - - vbslib ƒwƒbƒ_ - - ‚É‚ ‚éƒtƒ@ƒCƒ‹‚ðƒx[ƒX‚É vbslib ƒtƒHƒ‹ƒ_‚ð vbslib ƒwƒbƒ_‚ɍ쐬‚·‚éB - g_IncludeType ‚ðAƒRƒƒ“ƒgƒAƒEƒg‚·‚éB - - vbslib_updater - - ‰º‹L‚̍ì‹Æ‚ðŽ©“®“I‚ɍs‚¢‚Ü‚·B ‚½‚¾‚µAŽè“®‚ŏC³‚ª•K—v‚ȏꍇ‚à‚ ‚è‚Ü‚·B - ˆê•”‚̊֐”‚́A”pŽ~‚³‚ê‚Ä‚àˆÚA«‚Ì‚½‚ß‚ÉŽc‚µ‚Ä‚ ‚é‚à‚Ì‚ª‚ ‚è‚Ü‚·B True ‚ɐݒ肵‚āA”pŽ~‚³‚ê‚éŠÖ”‚ðŒÄ‚яo‚·‚ƃuƒŒ[ƒN‚·‚é‚̂ŁAŒ©‚‚¯‚â‚·‚­‚È‚è‚Ü‚·B - ƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚ð•â•‚·‚é - ‚Æ‚¢‚¤ƒc[ƒ‹‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B - - g_Vers - - ‚ð’ljÁ‚µ vbslib ‚̃o[ƒWƒ‡ƒ“‚ð 3.0 ‚ɐݒ肷‚éB - vbslib ƒwƒbƒ_‚ª‚ ‚é *.vbs ƒtƒ@ƒCƒ‹‚É - - g_cut_old - - ‚ð - vbslib_updater ƒc[ƒ‹ - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“EƒXƒNƒŠƒvƒg‚̏C³ - scriptlib ƒtƒHƒ‹ƒ_‚Ì ver2 ‚Æ ver3 ‚Ì‹¤‘¶ - ver2 ‚Ì scriptlib ƒtƒHƒ‹ƒ_‚Ì vbs_inc.vbs ‚ð vbs_inc_200.vbs ‚ɉü–¼‚µAver3 ‚Ì scriptlib ƒtƒHƒ‹ƒ_‚ð ver2 ‚Ì scriptlib ƒtƒHƒ‹ƒ_‚ɃRƒs[‚·‚é‚ƁA - ã‘‚«‚·‚邱‚Æ‚È‚­Aver2 ‚Æ ver3 ‚ð‹¤‘¶‚Å‚«‚Ü‚·B - - - - - - - Main iƒƒCƒ“.vbsj - - - Sub Main( Opt as dictionary, AppKey as AppKeyClass ) - - vbslib ‚ðŽg‚¤ƒXƒNƒŠƒvƒg‚́AMain ‚©‚ç“à—e‚ð‹Lq‚µ‚Ü‚·B - - - Sub Main() echo "Hello, world!" - End Sub - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - F iŠù‘¶‚̃ƒCƒ“EƒXƒNƒŠƒvƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢j - - ƒ†[ƒU’è‹`ŠÖ”‚Å‚·Bˆø”‚Í‚ ‚Á‚Ä‚à‚È‚­‚Ä‚à‚©‚Ü‚¢‚Ü‚¹‚ñ‚ªAƒtƒ@ƒCƒ‹‚ɏo—Í‚·‚éƒXƒNƒŠƒvƒg‚́A - Main ŠÖ”‚ªŒÄ‚΂ê‚é‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚́AƒXƒNƒŠƒvƒg‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B WSH ‚ð‹N“®‚µ‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[iì‹ÆƒtƒHƒ‹ƒ_[j‚́A - ‚É“ü‚Á‚Ä‚¢‚Ü‚·B - - g_start_in_path - - - - Sub Main() - - ƒeƒXƒg - - ¨ T_NewMain1 ƒtƒHƒ‹ƒ_ - - - ¨ T_NewMain2 ƒtƒHƒ‹ƒ_ - - vbslib_inc ‚݂̂̊‹« - vbslib ‚ª‚ ‚éŠÂ‹« - - NewWritable ƒƒ\ƒbƒh - - ‚ðŒÄ‚Ô•K—v‚ª‚ ‚è‚Ü‚·B - AppKey ˆø”‚ðŽg‚Á‚½ - - - Sub Main( Opt, AppKey ) Dim w_:Set w_=AppKey.NewWritable( "." ).Enable() - - echo "Hello, world!" - End Sub - - '--- start of vbslib include ------------------------------ - F ivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä main ‚ðŒÄ‚яo‚·ƒR[ƒhj - F iŠù‘¶‚̃ƒCƒ“EƒXƒNƒŠƒvƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢j - - - NewWritable - - ‚Ƀtƒ@ƒCƒ‹‚ðo—Í‚Å‚«‚é‚悤‚É‚·‚é - - ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[ - - « - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - main2 ŠÖ”‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚Æ‚«‚͌Ă΂ê‚Ü‚¹‚ñB - - vbslib include - - - vbslib include - - Main ŠÖ”‚ð’è‹`‚µ‚Ä‚¢‚éƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚Ì’†‚ɁAivbslib ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä Main ‚ðŒÄ‚яo‚·ƒR[ƒhj‚ª•K—v‚Å‚·B - ‚»‚Ì“à—e‚́AŠù‘¶‚̃ƒCƒ“EƒXƒNƒŠƒvƒgivbslib Prompt.vbs ‚Ȃǁj‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - - vbslib include - - ‚̃R[ƒh - ŠÖ˜A - - ¨ GetMainSetting ŠÖ” (vbsool) - - ŽQl - - ¨ ˆ—ƒtƒ[ ivbs_inc/settingj - - Main ŠÖ”‚ÌŠO‘¤‚Ì“®‚« - - << vbs_inc - - - ¨ WriteVBSLibFooter - - - ¨ SetupVbslibParameters - - - - - - - - main2 - - - Sub main2( Opt as dictionary, AppKey as AppKeyClass ) - - vbslib ‚ðŽg‚¤ƒXƒNƒŠƒvƒg‚́Amain2 ‚©‚ç“à—e‚ð‹Lq‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - Sub main2( Opt, AppKey ) Dim w_:Set w_=AppKey.NewWritable( "." ).Enable() - - echo "Hello, world!" - End Sub - - ƒ†[ƒU’è‹`ŠÖ”‚Å‚·B - ƒtƒ@ƒCƒ‹‚ðo—Í‚·‚éƒXƒNƒŠƒvƒg‚́Ao—Í‚·‚éƒtƒHƒ‹ƒ_‚ðA‰º‹LƒTƒ“ƒvƒ‹‚Ì NewWritable ‚̈ø”‚É - Žw’è‚·‚邱‚ƂŁAo—Í‚µ‚Ä—Ç‚¢‚©ƒ†[ƒU‚ÉŠm”F‚µ‚È‚­‚È‚è‚Ü‚·B ‚½‚¾‚µAWindows ƒtƒHƒ‹ƒ_‚â - Program Files ƒtƒHƒ‹ƒ_‚È‚Ç‚Í•K‚¸Šm”F‚µ‚Ü‚·B - - NewWritable - - ‚Ƀtƒ@ƒCƒ‹‚ðo—Í‚Å‚«‚é‚悤‚É‚·‚é - - ƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[ - - main ŠÖ”‚ªŒÄ‚΂ê‚é‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚́AƒXƒNƒŠƒvƒg‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B WSH ‚ð‹N“®‚µ‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[iì‹ÆƒtƒHƒ‹ƒ_[j‚́A - ‚É“ü‚Á‚Ä‚¢‚Ü‚·B - - g_start_in_path - - « - ”pŽ~—\’è‚Å‚·B main ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - &+lt;< vbs_inc - - - - - - - - SetupVbslibParameters - - - Sub SetupVbslibParameters() - - vbslib include ‚̐ݒè‚ð‚µ‚Ü‚·B - ƒ†[ƒU[’è‹`ŠÖ”‚Å‚·B ’ʏíAƒƒCƒ“EƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚̍Ōã‚É‚ ‚è‚Ü‚·B - - ¨ g_debug - - - ¨ g_debug_process - - - ¨ g_debug_tree - - ŽŸ‚̕ϐ”‚ðÝ’è‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - Sub SetupVbslibParameters() '--- start of parameters for vbslib include ------------------------------- - '// g_Vers("OldMain") = 1 - g_vbslib_path = "scriptlib\vbs_inc.vbs" - g_CommandPrompt = 2 - g_debug = 0 - '--- end of parameters for vbslib include --------------------------------- - End Sub - - - ¨ g_CommandPrompt - - - ¨ g_vbslib_path - - - g_CommandPrompt - - - g_vbslib_path - - - g_debug - - - << vbs_inc - - - - - - - - g_fs - - - Dim g_fs as Scripting.FileSystemObject - - - - Dim g_fs : Set g_fs = CreateObject( "Scripting.FileSystemObject" ) - - - FileSystemObject - - - (src) - - ŽÀ‘•ƒR[ƒhF - ‚ðŽQÆ‚·‚éƒOƒ[ƒoƒ‹•Ï”‚Å‚·B - - << vbs_inc - - - - - - - - g_sh - - - Dim g_sh as WScript.Shell - - vbs_inc.vbs ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½Œã‚ÉŽg‚¦‚Ü‚·B - - - Dim g_sh : Set g_sh = WScript.CreateObject( "WScript.Shell" ) - - - ¨ WScript.Shell ƒIƒuƒWƒFƒNƒg (WshShell ƒIƒuƒWƒFƒNƒg) - - - (src) - - - << vbs_inc - - - - - - - - “®ìƒ‚[ƒhAƒfƒoƒbƒO - - - - - - - g_debug - - - Dim g_debug as integer - - ƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚©i‚·‚é‚©‚Ç‚¤‚©jB ‰½”Ԗڂ̃Gƒ‰[‚ŃuƒŒ[ƒN‚·‚é‚©B - - ¨ g_debug - ƒfƒoƒbƒO‚ðŠJŽn‚·‚é - - - (src) - - ‚Ƀ†[ƒU‚ª‹Lq‚µ‚Ü‚·B - g_debug ‚́A - 0 = ƒfƒoƒbƒK‚ɐڑ±‚µ‚È‚¢1 = ƒfƒoƒbƒK‚ɐڑ±‚·‚éABreakErrID = 1 - 1.5 = ƒfƒoƒbƒK‚ɐڑ±‚·‚éABreakErrID = 1.5 - 2 = ƒfƒoƒbƒK‚ɐڑ±‚·‚éABreakErrID = 2 - F - -1 = ƒfƒoƒbƒK‚ɐڑ±‚µ‚È‚¢‚ªA - - ¨ Err2::BreakErrID - - ŽQl - - ¨ [T_ErrInfo] ƒ†[ƒU‚ւ̃Gƒ‰[’Ê’m‚ƃfƒoƒbƒKÚ‘± - - ƒeƒXƒg - - ¨ [T_Err2] Err2 ƒIƒuƒWƒFƒNƒg‚ƃfƒoƒbƒK[‚̃eƒXƒg - - 99 ‚È‚Ç‘å‚«‚¢” = ƒfƒoƒbƒK‚ɐڑ±‚·‚éiƒGƒ‰[‚ª”­¶‚µ‚È‚¢‚Æ‚«j - - SetupDebugTools - - ‚ðŒÄ‚яo‚·B - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - - ¨ [T_StartFromOther] ƒXƒNƒŠƒvƒg‚ª–³‚¢ƒtƒHƒ‹ƒ_[‚©‚ç‹N“®‚µ‚½‚Æ‚« - - - SetupVbslibParameters - - ‚à‚µ‚­‚́A - - /g_debug ƒIƒvƒVƒ‡ƒ“ - - - ¨ g_is_debug - - - - - - - - g_debug_tree - - - Dim g_debug_tree as Array of integer - - ƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚̏ڍ׏î•ñB ƒuƒŒ[ƒN‚·‚邽‚ß‚ÉŽg‚í‚ê‚éî•ñ‚Å‚·B - ƒvƒƒOƒ‰ƒ€‚ð On Error Resume Next ` On Error Goto 0 ‚̃uƒƒbƒN‚̃cƒŠ[\‘¢‚Æ‚µ‚ÄŒ©‚½‚Æ‚«‚̏î•ñ‚É‚È‚Á‚Ä‚¢‚Ü‚·B ƒ†[ƒU[‚́AƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚É•\Ž¦‚³‚ê‚é - g_debug_tree ‚ɐݒ肷‚é’l‚ð‚»‚Ì‚Ü‚Ü‚¨Žg‚¢‚­‚¾‚³‚¢B •\Ž¦‚³‚ê‚È‚©‚Á‚½‚Æ‚«‚́AÝ’è - ‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - ƒeƒXƒg - - ¨ T_Err2_Tree ƒtƒHƒ‹ƒ_ - - - (src) - - ƒTƒ“ƒvƒ‹F - - - Dim g_debug_tree = Array( 1, 2 ) - - - ¨ g_debug - ƒfƒoƒbƒO‚ðŠJŽn‚·‚é - - ŽQl - ‚Ƀ†[ƒU‚ª‹Lq‚µ‚Ü‚·B - g_debug_tree ‚́A - - SetupVbslibParameters - - ‚à‚µ‚­‚́A - - /g_debug ƒIƒvƒVƒ‡ƒ“ - - - - - - - - g_debug_process - - - Dim g_debug_process as integer - - ‰½‰ñ–Ú‚ÌŽqƒvƒƒZƒX‚ð‹N“®‚µ‚½‚Æ‚«‚ɃfƒoƒbƒK‚ɐڑ±‚·‚é‚©‚Ç‚¤‚© - 0 = ƒƒCƒ“EƒvƒƒZƒX‚ðƒfƒoƒbƒK‚ɐڑ±‚·‚éig_debug>0 ‚Ì‚Æ‚«j1 = ‚P‰ñ–ڂɃƒCƒ“EƒvƒƒZƒX‚ª‹N“®‚µ‚½ŽqƒvƒƒZƒX‚ðƒfƒoƒbƒK‚ɐڑ±‚·‚é - 2 = ‚Q‰ñ–ڂɃƒCƒ“EƒvƒƒZƒX‚ª‹N“®‚µ‚½ŽqƒvƒƒZƒX‚ðƒfƒoƒbƒK‚ɐڑ±‚·‚é - F - ƒeƒXƒg - - ¨ T_ChildProcessIDNest_Manually.vbs # Array - - - - g_debug_process = Array(3,1) - - ‘·ƒvƒƒZƒX‚ð‹N“®‚µ‚½‚Æ‚«‚ɃfƒoƒbƒK‚ɐڑ±‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - 3‰ñ–Ú‚É‹N“®‚µ‚½ŽqƒvƒƒZƒX‚©‚ç‚P‰ñ–ڂɌĂяo‚·‘·ƒvƒƒZƒX - - - g_debug_process = 1 - - ƒTƒ“ƒvƒ‹ - - ¨ g_debug - ƒfƒoƒbƒO‚ðŠJŽn‚·‚é - - ŽQl - ‚Ƀ†[ƒU‚ª‹Lq‚µ‚Ü‚·B - g_debug_process ‚́A - - SetupVbslibParameters - - ‚à‚µ‚­‚́A - - /g_debug ƒIƒvƒVƒ‡ƒ“ - - ƒR[ƒ‹ƒcƒŠ[ - '// g_debug_process - // "/g_debug" ƒIƒvƒVƒ‡ƒ“‚ð g_debug_process •Ï”‚Ö - - (src) - - CallFinalizeInModules - - (src) - - ChangeScriptMode - If g_debug_process > 0 Then - WScript.Echo "<WARNING msg=""g_debug_process > 0 ‚Å‚·B - - (src) - - InitializeModule - If IsNumeric( g_debug_process ) Then g_Err2.Break_ChildProcess_CallID.Add g_debug_process - ElseIf IsArray( g_debug_process ) Then - g_Err2.Break_ChildProcess_CallID.Copy g_debug_process - // g_Err2.Break_ChildProcess_CallID ‚Ö - // ƒfƒoƒbƒO ƒ‚[ƒh‚©‚ç–ß‚·‚悤‚ÉŒx‚·‚é - RunProg - - (src) - - cmdline = "cscript //x "+ - If g_InterProcess.ProcessCallID(i) + 1 = g_Err2.Break_ChildProcess_CallID(i) Then - '// Break in ChildProcess by "g_debug_process" - // ƒfƒoƒbƒK[‚Ɛڑ±‚µ‚Ä‹N“®‚·‚é - - ¨ T_ChildProcessIDNest_Manually2.vbs - - - - - - - - g_is_debug - False = Ú‘±‚µ‚Ä‚¢‚È‚¢True = Ú‘±‚µ‚Ä‚¢‚é - - - If g_is_debug Then - - - - - - - - g_debug_params - - - Dim g_debug_params as integer - - ƒfƒoƒbƒK‚ɐڑ±‚·‚é‚Æ‚«‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“Eƒpƒ‰ƒ[ƒ^ - ’ʏíA.vbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“Eƒpƒ‰ƒ[ƒ^‚͉½‚àÝ’肳‚ê‚Ü‚¹‚ñ‚ªAg_debug_param ‚É‘ã“ü‚·‚é‚Ɛݒ肳‚ê‚Ü‚·B - g_debug = -1 ‚Ü‚½‚Í 1ˆÈã‚ɐݒ肵‚È‚¢‚ƁAg_debug_params ‚Í–³Œø‚É‚È‚è‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - '--- start of parameters for vbslib include ---------Dim g_debug_params : g_debug_params = "test.txt" - - - (src) - - - ¨ T_DebugParam ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - - - - - - g_debug_or_test - - - Dim g_debug_or_test as integer - - ƒfƒoƒbƒOŽžA‚Ü‚½‚̓fƒoƒbƒOŽž‚̃eƒXƒg‚©‚Ç‚¤‚©B - Ž©“®ƒeƒXƒg‚ðs‚¤‚±‚Æ‚ª‚Å‚«‚éƒfƒoƒbƒO‹@”\‚́Ag_debug ‚Å‚Í‚È‚­ g_debug_or_test’l‚ª True ‚Ì‚Æ‚«‚ɍs‚¢‚Ü‚·B - - (src) - - - - - - - - g_CommandPrompt - - - Dim g_CommandPrompt as integer - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚© - 0= ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚È‚µBƒƒbƒZ[ƒW‚Í•W€ƒ_ƒCƒAƒƒO‚Å•\Ž¦B1= ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ ‚èBI—¹‚·‚é‚Æ‚·‚®‚ɕ‚¶‚éB ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚͕‚¶‚È‚¢B - 2= ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ ‚èBI—¹‚µ‚Ä‚à•Â‚¶‚È‚¢B - +4=ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðÅ¬‰»ƒEƒBƒ“ƒhƒE‚Å•\Ž¦B - ‚Ƀ†[ƒU‚ª‹Lq‚µ‚Ü‚·B - g_CommandPrompt ‚́A - +4 ‚́A‘¼‚̃IƒvƒVƒ‡ƒ“‚Æ•¡‡‚·‚éƒIƒvƒVƒ‡ƒ“‚Å‚·B - ƒeƒXƒg - - ¨ [T_ErrInfo] ƒ†[ƒU‚ւ̃Gƒ‰[’Ê’m‚ƃfƒoƒbƒKÚ‘± - - - ¨ [T_CommandPrompt] ƒvƒƒ“ƒvƒg‚ðŠJ‚­A•Â‚¶‚éƒeƒXƒg - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚È‚µ‚Ì‚Æ‚«‚́Awscript.exe ‚ÅŽÀs‚µ‚Ü‚·B - - SetupVbslibParameters - - - ¨ ChangeScriptMode - - - ¨ g_is_cscript_exe - - ŠÖ˜A - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç cscript.exe Œo—R‚ŃXƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚́A“¯‚¶ƒEƒBƒ“ƒhƒE‚ÅŽÀs‚µ‚Ü‚·B‚½‚¾‚µA64ƒrƒbƒg‚̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‹N“®‚µ‚½‚Æ‚«A - - g_is64bitWSH - - ‚ª FalseiƒfƒtƒHƒ‹ƒgj‚È‚çA - 32ƒrƒbƒg‚̃Rƒ}ƒ“ƒhEƒvƒƒ“ƒvƒgicmd.exej‚Å‚ ‚éAV‚µ‚¢ƒEƒBƒ“ƒhƒE‚ÅŽÀs‚µ‚Ü‚·B - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ ‚è‚Ì‚Æ‚«‚́Acscript.exe ‚ÅŽÀs‚µ‚Ü‚·B‚½‚¾‚µAvbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½uŠÔ‚Íwscript.exe ‚ÅŽÀs‚µ‚Ü‚·‚ªAwscript.exe ‚ªV‚µ‚­ - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒgicmd.exej‚̃vƒƒZƒX‚ðì¬‚µA‚»‚±‚Å cscript.exe ‚ðŽÀs‚µ‚Ü‚·B - 64ƒrƒbƒg cmd.exe - 64ƒrƒbƒgWindows - 32ƒrƒbƒgWindows - - 32ƒrƒbƒg cmd.exe - %windir%\System32\cmd.exe - %windir%\SysWOW64\cmd.exe - %windir%\System32\cmd.exe - - - - ¨ ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgAƒRƒ“ƒ\[ƒ‹ (cmd.exe) - - - (src) - - - ¨ /close ƒIƒvƒVƒ‡ƒ“ - - - ¨ ³íI—¹Žž‚Ì“®ì - - - ¨ ˆ—ƒtƒ[ ivbs_inc/settingj - - “®ì‚Ì‚µ‚­‚Ý - ƒEƒBƒ“ƒhƒE‚ªŠJ‚¢‚Ä‚µ‚Ü‚¤‚Æ‚« - g_CommandPrompt = 0 ‚ðÝ’肵‚Ä‚¢‚Ä‚àAƒEƒBƒ“ƒhƒE‚ªŠJ‚¢‚Ä‚µ‚Ü‚¤Œ´ˆö‚́A‘¼‚É‚à‚ ‚è‚Ü‚·B - EƒRƒ}ƒ“ƒhƒ‰ƒCƒ“—p‚Ì exe ‚ðŽÀs‚µ‚½‚Æ‚« ig_CommandPrompt = 5 ‚ōŏ¬‰»‚Í‚Å‚«‚Ü‚·j - - EƒVƒ‡[ƒgƒJƒbƒg‚©‚çŽÀs - - ‚·‚é‚Æ‚«‚̃Šƒ“ƒNæiƒRƒ}ƒ“ƒhƒ‰ƒCƒ“j‚É cmd.exe /K ‚ðŽw’肵‚½‚Æ‚« - Eƒoƒbƒ`ƒtƒ@ƒCƒ‹‚©‚çŽÀs‚µ‚½‚Æ‚« - - - - - - - /close ƒIƒvƒVƒ‡ƒ“ - - - Sample.vbs /close:0 - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ð•\Ž¦‚·‚é‚©‚Ç‚¤‚©‚̐ݒèB ‚±‚̃IƒvƒVƒ‡ƒ“‚ª‚ ‚é‚Æ‚«‚́Ag_CommandPrompt ‚̐ݒ肪–³Ž‹‚³‚ê‚Ü‚·B - - (src) - - ŠÖ˜A - - ¨ g_CommandPrompt - - - - - - - - ChangeScriptMode - - - Sub ChangeScriptMode(); - - •K—v‚ɉž‚¶‚āAŽqƒvƒƒZƒX‚ŃXƒNƒŠƒvƒg‚ðŽÀs‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib_mini.vbs - - - ¨ vbs_inc_sub.vbs - - vbslib_mini.vbs ƒtƒ@ƒCƒ‹‚ðŽg‚¤‚Æ‚«‚́A–¾Ž¦“I‚ɌĂяo‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ sample without vbslib.vbs - - ŠÖ˜A - - ¨ VBScript - í‚É cscript.exe ‚ÅŽÀs‚·‚é iƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðo‚·j - - ŽqƒvƒƒZƒX‚ð‹N“®‚·‚闝—R‚́AŽŸ‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B - EƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚̃EƒBƒ“ƒhƒE‚ðŠJ‚­‚½‚߂ɁAwscript.exe ‚©‚ç cscript.exe ‚ð‹N“®‚·‚é - EƒfƒoƒbƒK[‚ɐڑ±‚·‚邽‚߂ɁA//x ƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚Ä cscript.exe ‚Ü‚½‚Í cscript.exe @‚ð‹N“®‚·‚é - - ¨ g_CommandPrompt - - EŠÇ—ŽÒ‚Æ‚µ‚ÄŽÀs‚·‚邽‚߂ɁArunas ƒRƒ}ƒ“ƒhŒo—R‚Å wscript.exe ‚Ü‚½‚Í cscript.exe@‚ð‹N“®‚·‚é - E64ƒrƒbƒg‚̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‹N“®‚µ‚½‚Æ‚«‚ɁA32ƒrƒbƒg‚Ì wscript.exe ‚Ü‚½‚Í @cscript.exe ‚ð‹N“®‚·‚éB ‚±‚̏ꍇ‚́AV‚µ‚¢ƒEƒBƒ“ƒhƒE‚ªŠJ‚«‚Ü‚·B - ChangeScriptMode ŠÖ”‚́Avbslib ‚ðŽg‚¤‚Æ‚«‚ɁAŽ©“®“I‚ɌĂ΂ê‚Ü‚·B - - - - - - - g_is_cscript_exe - - - Dim g_is_cscript_exe as boolean - - - (src) - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“(cscript.exe)‚ÅŽÀs‚µ‚Ä‚¢‚é‚©‚Ç‚¤‚© - - - - - - - g_admin - - - Dim g_admin as integer - - ‹N“®Žž‚ÉŠÇ—ŽÒ‚ÖƒƒOƒCƒ“‚·‚é‚Ì‚©‚µ‚È‚¢‚Ì‚© - g_admin ‚̐ݒè’l‚́AƒƒCƒ“‚Ì .vbs ƒtƒ@ƒCƒ‹‚Ì’†‚Ì - 0 = ‹N“®Žž‚ÉŠÇ—ŽÒ‚ÖƒƒOƒCƒ“‚µ‚È‚¢1 = ‹N“®Žž‚ÉŠÇ—ŽÒ‚ÖƒƒOƒCƒ“‚·‚é - Windows XP ‚ł́A§ŒÀƒ†[ƒU[‚©‚çŠÇ—ŽÒ‚ÖƒƒOƒCƒ“‚·‚éÝ’è‚É‚·‚é‚ƁA‹N“®Žž‚ÉŠÇ—ŽÒ‚̃pƒXƒ[ƒh‚ð“ü—Í‚·‚é‚悤‚É‚È‚è‚Ü‚·B Ž©•ª‚ªŠÇ—ŽÒ‚Å‚ ‚é‚Æ‚«‚́A“ü—Í‚ð‹‚ß‚ç‚ê‚Ü‚¹‚ñB - Windows Vista/7 ‚ł́Avbs ƒtƒ@ƒCƒ‹‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚½’¼Œã‚ɁA¸Ši‚ÌŠm”F‚ª‹‚ß‚ç‚ê‚Ü‚·B - ‚ɐݒ肵‚Ä‚­‚¾‚³‚¢ - - Setting_getAdminUserName - - Windows XP ‚ł́AŠÇ—ŽÒ‚̃†[ƒU–¼‚ð - - ¨ [T_Admin] - - - (src) - - ƒeƒXƒg - ŽQl - - ¨ IShellDispatch2::ShellExecute - - ‚Ì runas - - ¨ sudo - - ŠÖ˜A - - ¨ ƒAƒJƒEƒ“ƒg - - ‚É‹Lq‚µ‚Ü‚·B - - SetupVbslibParameters - - ’ʏíA - - sudo - - ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - - - - - g_is_admin - - - Dim g_is_admin as boolean - - ŠÇ—ŽÒ‚̃Oƒ‹[ƒv‚É“ü‚Á‚Ä‚¢‚é‚©‚Ç‚¤‚©B - - (src) - - Windows Vista ˆÈ~‚ł́AUAC ‚ðŠm”F‚µ‚½Œã‚Å true ‚É‚È‚è‚Ü‚·B - - - - - - - g_is64bitWindows - - - Dim g_is64bitWindows as boolean - - ƒXƒNƒŠƒvƒg‚ª“®‚¢‚Ä‚¢‚é OS ‚ªA64ƒrƒbƒgWindows ‚©‚Ç‚¤‚©B - - (src) - - ŠÖ˜A - - ¨ 64ƒrƒbƒgWindows (WOW64) - - - ¨ g_is64bitWSH - - - - - - - - g_is64bitWSH - - - Dim g_is64bitWSH as boolean - - ƒXƒNƒŠƒvƒg‚ª“®‚¢‚Ä‚¢‚éƒzƒXƒg‚ªA64ƒrƒbƒg WSH ‚©‚Ç‚¤‚©B - ƒfƒtƒHƒ‹ƒg‚Ì vbslib ‚́A64ƒrƒbƒg WSHiOS‚̃fƒtƒHƒ‹ƒgj‚Å‹N“®‚µ‚Ä‚àA32ƒrƒbƒg WSH ‚ɐ؂è‘Ö‚í‚è‚Ü‚·B - - (src) - - ŠÖ˜A - - ¨ g_is64bitWindows - - - ¨ 32ƒrƒbƒgWindows ‚Æ 64ƒrƒbƒgWindows ‚Ì WSH - - SetupVbslibParameters ŠÖ”‚Ì’†‚ŁAg_is64bitWSH = True ‚Æ‚·‚é‚ƁA64ƒrƒbƒg Windows ‚ł́A64ƒrƒbƒg WSH ‚É‚È‚è‚Ü‚·B ‚½‚¾‚µAƒƒCƒ“.vbs ‚̍Ōã‚É‚ ‚é vbslib include ‚Ì’†‚É - Dim g_is64bitWSH ‚ª‹Lq‚³‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚è‚Ü‚·B ŽQlF vbslib Prompt.vbs ‚Ì“à—e - - Main ŠÖ”‚ðŒÄ‚яo‚µ‚½Œã‚́AŽÀÛ‚É“®‚¢‚Ä‚¢‚é WSH ‚̃o[ƒWƒ‡ƒ“‚ɏ]‚Á‚½’l‚É‚È‚è‚Ü‚·B - - - - - - - ƒtƒ@ƒCƒ‹‚Ü‚½‚̓tƒHƒ‹ƒ_‚̃pƒX - - - - - - - g_start_in_path - - - Dim g_start_in_path as string - - ƒvƒƒZƒX‹N“®Žž‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚̃tƒ‹EƒpƒXB - - (src) - - vbslib ver4 ˆÈ~‚ł́Amain ŠÖ”‚ðŒÄ‚΂ꂽ‚Æ‚«‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚́AƒƒCƒ“.vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚É‚È‚è‚Ü‚·B ‚»‚Ì‚½‚߁AƒvƒƒZƒX‹N“®Žž‚̃JƒŒƒ“ƒgEƒtƒHƒ‹ƒ_[‚́Ag_start_in_path - ‚©‚çŽæ“¾‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B - - ‚±‚̂悤‚ɕύX‚µ‚½——R‚́A‘‚©‚ꂽƒXƒNƒŠƒvƒg‚ªA”Ä—pƒRƒ}ƒ“ƒh‚Æ‚µ‚ÄŽg‚í‚ê‚邱‚Æ‚æ‚èA - ƒXƒNƒŠƒvƒg‚ª‚ ‚éƒtƒHƒ‹ƒ_[‚ɑ΂µ‚ČŗL‚̏ˆ—‚ðs‚¤‚±‚Æ‚ª‘½‚¢‚½‚ß‚Å‚·B - - g_start_in_path ‚ð•ÏX‚·‚é‚ƁAInputPath ‚̊ƒtƒHƒ‹ƒ_[‚ð•ÏX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - cd g_start_in_path - - - - Sub main2( Opt, AppKey ) Dim ds_:Set ds_= new CurDirStack - pushd g_start_in_path - : - popd - End Sub - - ƒTƒ“ƒvƒ‹F - ŠÖ˜A - - ¨+ InputPath - - ƒRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚©‚çAƒvƒƒOƒ‰ƒ€‚ðŽÀs‚·‚é‚Æ‚«‚̃pƒ‰ƒ[ƒ^[‚ɁAƒtƒ@ƒCƒ‹‚̃pƒX‚ðŽw’è‚·‚é‚Æ‚«‚́AƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì‘Š‘΃pƒX‚ðŽw’肵‚Ü‚·B ‚½‚Æ‚¦‚΁Acl a.c ‚̂悤‚É - cl ƒRƒ}ƒ“ƒh‚ÉŽw’肵‚½ a.c ‚́AƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é a.c ƒtƒ@ƒCƒ‹‚ðŽw‚µ‚Ä‚¢‚Ü‚·B - - ‚±‚Ì‚Æ‚«Acl.exe ‚ÌŽÀsƒtƒ@ƒCƒ‹‚́AŠÂ‹«•Ï” PATH ‚ÅŽw’肳‚ꂽƒfƒBƒŒƒNƒgƒŠ‚Ì‚Ç‚±‚©‚É‚ ‚èA - a.c ‚́Acl.exe ‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é a.c ƒtƒ@ƒCƒ‹‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - ‚µ‚©‚µA‚±‚Ì–@‘¥‚́AƒXƒNƒŠƒvƒg‚ð‹Lq‚·‚é‚Æ‚«‚É–â‘è‚É‚È‚è‚Ü‚·Bcl.exe ‚̂悤‚ÉŽg‚¦‚éƒXƒN - ƒŠƒvƒg script.vbs ‚ðŠJ”­‚µ‚½‚Æ‚µ‚Ü‚µ‚傤BƒXƒNƒŠƒvƒg‚©‚çAcl a.c ‚ðŽÀs‚·‚é‚悤‚É‹Lq‚·‚é‚Æ‚«‚́A - ‘f’¼‚Écl a.c ‚ƃXƒNƒŠƒvƒg‚É‹Lq‚·‚é‚Å‚µ‚傤B ‚±‚Ì‚Æ‚«Aa.c ‚́AƒXƒNƒŠƒvƒg‚ª‚ ‚éƒtƒHƒ‹ƒ_[ - ‚©‚ç‚Ì‘Š‘΃pƒX‚ðŽw’è‚·‚é‚Í‚¸‚Å‚·B ƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚©‚ç‚Ì‘Š‘΃pƒX‚Å‚Í‚ ‚è‚Ü‚¹‚ñB - - ‚Ç‚¤‚¢‚¤‚±‚Æ‚©‚Æ‚¢‚¤‚ƁA’ʏíAƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚́AƒXƒNƒŠƒvƒg‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠ‚Å‚Í‚È‚­A - ƒXƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«‚̃fƒBƒŒƒNƒgƒŠ‚Ì‚Ü‚Ü‚É‚È‚é‚Ì‚Å‚·‚ªA‚±‚ê‚ł́A‘¼‚̃tƒHƒ‹ƒ_[‚©‚ç - ƒXƒNƒŠƒvƒg‚ð‹N“®‚µ‚½‚Æ‚«Aa.c ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚́A‹N“®‚µ‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é - a.c ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚Ì‚Å‚·B ‹N“®‚µ‚½‚Æ‚«‚̃JƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é a.c ‚ð - ˆÓ}‚µ‚ăXƒNƒŠƒvƒg‚ð‹Lq‚·‚邱‚ƂȂǁA‚Ù‚Æ‚ñ‚Ç–³‚¢‚̂ŁAƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚ªA‹N“®‚µ‚½ - ‚Æ‚«‚̃JƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚Å‚ ‚é‚Æ‚¢‚¤Žd—l‚́Aˆµ‚¢‚É‚­‚¢‚Ì‚Å‚·B - - vbslib4 ‚ł́Amain ŠÖ”‚ðŽÀs‚·‚é‚Æ‚«‚̃JƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚́AƒXƒNƒŠƒvƒg‚ª‚ ‚éƒfƒBƒŒƒN - ƒgƒŠ‚É‚È‚Á‚Ä‚¢‚Ü‚·B‚±‚ê‚É‚æ‚èA‘½‚­‚̃P[ƒX‚ŁAƒXƒNƒŠƒvƒg‚É‹Lq‚µ‚½ƒtƒ@ƒCƒ‹A‚½‚Æ‚¦‚Î a.c - ‚ªAˆÓ}‚µ‚½‚Æ‚¨‚è‚̃tƒ@ƒCƒ‹‚ðŽw’è‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B - - ˆê•û‚ŁA‹N“®‚µ‚½‚Æ‚«‚̃fƒBƒŒƒNƒgƒŠ‚́Ag_start_in_path ƒOƒ[ƒoƒ‹•Ï”‚ðŽQÆ‚·‚é‚悤‚É‚È‚Á - ‚Ä‚¢‚Ü‚·B ‹N“®Žž‚̃pƒ‰ƒ[ƒ^[‚ÉŽw’肵‚½‘Š‘΃pƒX‚́Ag_start_in_path ‚ðŠî€‚Æ‚µ‚½â‘Î - ƒpƒX‚É•ÏŠ·‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ‚µ‚©‚µA‘½‚­‚̏ꍇA‚»‚ê‚É‹C‚ð‚‚¯‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - ƒVƒ‡[ƒgƒnƒ“ƒhEƒvƒƒ“ƒvƒg‚ɑΉž‚µ‚½ƒXƒNƒŠƒvƒgiInputCommand ŠÖ”‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒgj‚́A - Ž©“®“I‚ɃRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚©‚ç‹N“®‚·‚邱‚Æ‚à‚Å‚«‚é‚悤‚É‚È‚é‚Ì‚Å‚·‚ªA‚»‚Ì‚Æ‚«‚ɁA - ƒpƒ‰ƒ[ƒ^[‚ÉŽw’肵‚½‘Š‘΃pƒX‚́AInputPath ŠÖ”‚Ŏ擾‚Å‚«A‚»‚ê‚́Ag_start_in_path ‚©‚ç - ‚Ì‘Š‘΃pƒX‚Å‚ ‚é‚Æ‚µ‚āAƒtƒ‹EƒpƒX‚ð•Ô‚·‚©‚ç‚Å‚·B - - ƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚́AƒXƒNƒŠƒvƒg‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠ‚ª‚¢‚¢‚©A‹N“®Žž‚̃JƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ - ‚ª‚¢‚¢‚©A‚Æ‚¢‚¤˜b‚Å‚Í‚È‚­A‚Ç‚¿‚ç‚Ì‘Š‘΃pƒX‚àŽ©“®“I‚É“KØ‚Ɉµ‚¦‚é‚悤‚ɍH•v‚³‚ê‚Ä - ‚¢‚é‚Ì‚Å‚·B - ƒJƒŒƒ“ƒgEƒfƒBƒŒƒNƒgƒŠ‚ƃXƒNƒŠƒvƒg‚ª‚ ‚éƒfƒBƒŒƒNƒgƒŠ - - ¨ [T_StartFromOther] ƒXƒNƒŠƒvƒg‚ª–³‚¢ƒtƒHƒ‹ƒ_[‚©‚ç‹N“®‚µ‚½‚Æ‚« - - ƒeƒXƒg - - - - - - - g_vbslib_path - vbs_inc.vbs ‚̃tƒ‹EƒpƒX - - - Dim g_vbslib_path as string - - vbs_inc.vbs ‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O - vbs_inc.vbs ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½Œã - vbs_inc.vbs ‚Ì‘Š‘΃pƒXB‘Š‘΃pƒX‚̊‚́A‚·‚ׂẴXƒNƒŠƒvƒg‚̃x[ƒXƒtƒHƒ‹ƒ_‚ȂǁB - - (src) - - ƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚Ì g_vbslib_path ‚́A - ‚Ƀ†[ƒU‚ª‹Lq‚µ‚Ü‚·B - - SetupVbslibParameters - - - - - - - - g_vbslib_folder - - - Dim g_vbslib_folder as string - - - (src) - - - ¨ scriptlib ƒtƒHƒ‹ƒ_[ - - - ¨ g_vbslib_parent_folder - - g_Ver ‚̐ݒè‚ÉŠÖ‚í‚炸AÅ‰‚Ì scriptlib ƒtƒHƒ‹ƒ_‚̐e‚É‚È‚è‚Ü‚·B - scriptlib ƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒXB––”ö‚É \ ‚ª•t‚«‚Ü‚·B - - ¨ g_vbslib_ver_folder - - ŠÖ˜A - - ¨ WriteVBSLibFooter - - - - copy Left( g_vbslib_folder, Len( g_vbslib_folder ) - 1 ), "C:\NewScriptFolder" - - ƒTƒ“ƒvƒ‹ - - - - - - - g_vbslib_ver_folder - - - Dim g_vbslib_ver_folder as string - - - (src) - - - ¨ scriptlib ƒtƒHƒ‹ƒ_[ - - ŠÖ˜A - - ¨ g_vbslib_folder - - g_Ver ‚̐ݒè‚É‚æ‚Á‚āAƒtƒHƒ‹ƒ_ƒpƒX‚Í•Ï‚í‚è‚Ü‚·B - vbs_inc_XXX.vbs ‚ª‚ ‚éƒtƒHƒ‹ƒ_‚̃tƒ‹EƒpƒXB––”ö‚É \ ‚ª•t‚«‚Ü‚·B - - - - - - - g_SrcPath - - ¨ ƒfƒoƒbƒK‚ÅŠJ‚¢‚Ä‚¢‚éƒ\[ƒX‚̃pƒX‚ð’m‚é - - - - Dim g_SrcPath as string - - - g_IncludePathes - - ‚â - - include - - - call_vbs - - ‚â - ‚ŁAƒOƒ[ƒoƒ‹—̈æ‚ðŽÀs‚µ‚Ä‚¢‚é‚Æ‚«A - ƒCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚¢‚éƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹(.vbs)‚̃tƒ‹EƒpƒXB - - (src) - - ‚¾‚¯’è‹`‚³‚ê‚Ü‚·B - - ¨ get_DefineInfoObject - - g_SrcPath ‚̃Tƒ“ƒvƒ‹‚ª‚ ‚è‚Ü‚· - ŽQl - g_SrcPath ‚̃Tƒ“ƒvƒ‹‚ª‚ ‚è‚Ü‚· - - - - - - - g_MainPath - - - Dim g_MainPath as string - - ƒƒCƒ“.vbs ‚̃XƒNƒŠƒvƒgƒtƒ@ƒCƒ‹(.vbs)‚̃tƒ‹EƒpƒXB - - (src) - - - - - - - - ƒOƒ[ƒoƒ‹•Ï”‚̏‰Šú‰»AŒãŽn––Ag_InitializeModuleAg_FinalizeModule - - - ' Global VariableDim g_Test - - Function InitializeModule( ThisPath ) - Set g_Test = new TestScript : ErrCheck : Set g_TestScriptGlobals.Test = g_Test - End Function - Dim g_InitializeModule - Set g_InitializeModule = GetRef( "InitializeModule" ) - - Function FinalizeModule( ThisPath, Reason ) - g_Test.Finish - End Function - Dim g_FinalizeModule: Set g_FinalizeModule = GetRef( "FinalizeModule" ) - Dim g_FinalizeLevel: g_FinalizeLevel = 100 ' If smaller, called early - - vbs_inc.vbs ‚ŃCƒ“ƒNƒ‹[ƒh‚·‚郂ƒWƒ…[ƒ‹‚Ì’†‚É‚ ‚éƒOƒ[ƒoƒ‹•Ï”‚́A‰º‹L‚̂悤‚ɏ‰Šú‰»ŠÖ”‚ð g_InitializeModule ‚ɐݒ肵‚Ä‚­‚¾‚³‚¢BŒãŽn––‚ª•K—v‚È‚çAg_FinalizeModule - ‚Æ g_FinalizeLevel ‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B g_FinalizeLevel ‚ª¬‚³‚¢ƒ‚ƒWƒ…[ƒ‹‚قǐæ‚ɌĂ΂ê‚Ü‚·B - ‚±‚ê‚ç‚É‚æ‚Á‚āAƒOƒ[ƒoƒ‹•Ï”‚̏‰Šú‰»‚âŒãŽn––‚̏‡”Ԃ𐧌䂵‚Ü‚·B - ƒTƒ“ƒvƒ‹ iTestScript.vbsj - - (src) - - ”z—ñ‚̃Oƒ[ƒoƒ‹•Ï” - - - '--- start of parameters for vbslib include -------------------------------Dim g_LineOfThreadSwitch() - - main ‚æ‚èŒã‚̃Oƒ[ƒoƒ‹—̈æ‚ɁA”z—ñ‚ðéŒ¾‚·‚é‚ƁAmain ŠÖ”I—¹Œã‚ɃGƒ‰[‚ɂȂ邱‚Æ‚ª‚ ‚è‚Ü‚·B‚»‚Ì‚Æ‚«‚́A‰º‹L‚̂悤‚É SetupVbslibParameters ‚Ì’†‚Ő錾‚µ‚Ä‚­‚¾‚³‚¢B - ‰Šú‰»ŠÖ”‚ňˑ¶‚·‚郂ƒWƒ…[ƒ‹‚ª‚È‚­‚Ä‚àA(ƒ‚ƒWƒ…[ƒ‹).vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚āA•¶–@ƒ`ƒFƒbƒN‚ª‚Å‚«‚Ü‚·B - - Setting_getIncludePathes ‚Ƀ‚ƒWƒ…[ƒ‹‚ð“o˜^‚µ‚āAvbs_inc.vbs ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚é‚ƁA - ‰Šú‰»AŒãŽn––‚̃eƒXƒg‚ª‚Å‚«‚Ü‚·B - ŽQl - “¯‚¶ƒ‚ƒWƒ…[ƒ‹‚Ì’†‚̃IƒuƒWƒFƒNƒg‚Ì Class_Terminate ‚ªŒÄ‚΂ê‚鏇”Ԃ́AƒOƒ[ƒoƒ‹•Ï”‚ÉŠi”[‚µ‚½‡”Ô‚Æ“¯‚¶‚Å‚·B - - ¨ Class_Terminate ‚ªŒÄ‚΂ê‚鏇˜ - - - - - - - - g_Finalizing - - - Dim g_Finalizing as boolean - - ƒOƒ[ƒoƒ‹•Ï”‚ÌŒãŽn––ˆ—‚ðs‚Á‚Ä‚¢‚é‚Æ‚«‚©‚Ç‚¤‚©B - - (src) - - - ¨ ƒOƒ[ƒoƒ‹•Ï”‚̏‰Šú‰»AŒãŽn––Ag_InitializeModuleAg_FinalizeModule - - ŽQl - - - - - - - vbslib_helper.exe - - ¨ vbslib_helper_src ƒtƒHƒ‹ƒ_[ - - VBScript ‚¾‚¯‚Å‚Í‚Å‚«‚È‚¢‚ªACŒ¾Œê‚Å‚Í‚Å‚«‚é‹@”\‚ðŽÀs‚·‚éƒvƒƒOƒ‰ƒ€‚Å‚·Bvbslib ‚Ì“à•”‚©‚ç•K—v‚ɉž‚¶‚ÄŽ©“®“I‚É‹N“®‚³‚ê‚Ü‚·B - vbslib_helper.exe ƒtƒ@ƒCƒ‹‚́A - - g_vbslib_ver_folder - - ‚ÉŠi”[‚µ‚Ä‚­‚¾‚³‚¢B - ƒ\[ƒX - - - - - - - ˆ—ƒtƒ[ ivbs_inc/settingj - - [ e: vbs_inc ] - - - [ e: setting ƒtƒHƒ‹ƒ_ ] - - VBScript global code - '// start of vbslib include - Execute g_f.ReadAll - ResumePush - On Error Resume Next - main / main2 - ResumePop - [ƒƒCƒ“.vbs] - [vbs_inc.vbs] - Execute g_f.ReadAll - [vbs_inc_sub.vbs] - VBScript global code - ChangeScriptMode - - '//=== Load setting script - - '//=== read and execute g_IncludePathes - CallInitializeInModules - VBScript global code - ê‡‚É‚æ‚Á‚Ä‚Í ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ð‹N“®‚·‚é - - (src) - - - (src) - - - ¨ Ú× - - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚ďI—¹‚·‚é‚Æ‚« - - CallFinalizeInModules - - Setting_onAfterInclude - - ƒ‚ƒWƒ…[ƒ‹‚̏‰Šú‰»‚ð‚·‚é - ƒ‚ƒWƒ…[ƒ‹‚ÌŒãŽn––‚ð‚·‚é - ƒƒCƒ“EƒXƒNƒŠƒvƒg - - ¨ ˆ—ƒtƒ[ (Err2) - - ŠÖ˜A - - - - setting ƒtƒHƒ‹ƒ_[ - - - - - - - - - - - - - - scriptlib ƒtƒHƒ‹ƒ_[ - - - - Setting_getIncludePathes - - - - - - - - - Ý’èƒtƒ@ƒCƒ‹‚ðƒ[ƒhiŽÀsj‚·‚é - ƒ‚ƒWƒ…[ƒ‹‚ðƒ[ƒhiŽÀsj‚·‚é - - InitializeModule - - ‚ ‚éƒtƒHƒ‹ƒ_‚Ì’†‚ ‚é‚·‚ׂẴXƒNƒŠƒvƒg‚ÌŠù’è‚̐ݒè - - ¨ ³íI—¹Žž‚Ì“®ì - - - ¨ ƒGƒ‰[”­¶Žž‚Ì“®ì - - - (src) - - g_sh.Run cmd - '//=== Make command line - - ¨ cmd.exe - - WScript.Echo Err.Description - ƒGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦‚·‚é - - ¨ g_CommandPrompt - - If g_CommandPrompt = 1 Then WScript.Sleep 2000 - - - - - - - ³íI—¹Žž‚Ì“®ì - main ŠÖ”‚©‚ç‚»‚Ì‚Ü‚Ü•Ô‚é‚ƁAƒGƒ‰[ƒŒƒxƒ‹‚Í 21 ‚É‚È‚è‚Ü‚·B‚±‚ê‚́Awscipt.exe, cscript.exe ‚́AƒXƒNƒŠƒvƒg‚Ì“à•”‚ŃGƒ‰[‚ª”­¶‚µ‚Ä‚àA - ƒGƒ‰[ƒŒƒxƒ‹‚Í 0 ‚É‚È‚Á‚Ä‚¨‚èA³í‚ɏI—¹‚µ‚½‚©‚Ç‚¤‚©‚ð‹æ•Ê‚·‚邽‚ß‚Å‚·B - “à•”ƒtƒ[ - main - ResumePop - CallFinalizeInModules - If not IsEmpty( g_ExitCode ) Then WScript.Quit g_ExitCodeWScript.Quit 21 - ƒGƒ‰[ƒŒƒxƒ‹‚ðŽw’è‚·‚é‚Æ‚«‚́AWScript.Quit ‚ðŒÄ‚яo‚·‚©Ag_ExitCode ‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B - /SuccessRet - ƒƒCƒNƒtƒ@ƒCƒ‹‚©‚ç vbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚ðŒÄ‚яo‚·‚Æ‚« - ƒRƒ“ƒpƒCƒ‹‚·‚é‚Æ‚«‚ÉŽg‚í‚ê‚邱‚Æ‚ª‚ ‚郁ƒCƒNƒtƒ@ƒCƒ‹‚́A‹N“®‚µ‚½ƒRƒ}ƒ“ƒh‚̃Gƒ‰[ƒŒƒxƒ‹‚ª 0 ‚Å‚Í‚È‚¢‚Æ‚«‚́AƒGƒ‰[‚ª”­¶‚µ‚½‚à‚Ì‚Æ‚Ý‚È‚µ‚Ü‚·‚ªAvbslib ‚ðŽg‚Á‚½ƒXƒNƒŠƒvƒg‚ª³íI—¹‚µ‚½ - ‚Æ‚«‚́AƒGƒ‰[ƒŒƒxƒ‹‚ª 21 ‚ɂȂ邽‚߁AƒƒCƒNƒtƒ@ƒCƒ‹‚͏ˆ—‚ð’†’f‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B - ³íI—¹‚µ‚½‚Æ‚«‚ɁAƒGƒ‰[ƒŒƒxƒ‹‚ª 0 ‚É‚È‚é‚悤‚É‚·‚é‚ɂ́A/SuccessRet:0 - ƒIƒvƒVƒ‡ƒ“‚ðŽw’肵‚Ä vbs ‚ð‹N“®‚µ‚Ä‚­‚¾‚³‚¢B ‚½‚¾‚µA‚²‚­‚Ü‚ê‚É vbslib ‚ªƒLƒƒƒbƒ` - ‚Å‚«‚È‚¢ƒGƒ‰[‚ª”­¶‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·‚ªA‚»‚Ì‚Æ‚«‚́AƒGƒ‰[ƒŒƒxƒ‹‚ª 0 ‚ɂȂ邽‚߁A - ³íI—¹‚Æ‹æ•Ê‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - - - cscript sampe.vbs /SuccessRet:0 - - ƒeƒXƒg - - ¨ [T_SuccessRet] /SuccessRet ƒIƒvƒVƒ‡ƒ“‚É‚æ‚éƒGƒ‰[ƒŒƒxƒ‹ - - - (src) - - ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðŽ©“®“I‚ɕ‚¶‚é‚©‚Ç‚¤‚© - ŠÖ˜A - - ¨ g_CommandPrompt - - - - - - - - ƒGƒ‰[”­¶Žž‚Ì“®ì - main ŠÖ”‚Ì’†‚ŃGƒ‰[‚ª”­¶‚µ‚½‚çA•W€‰»‚³‚ꂽƒGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦‚µA“KØ‚ȃGƒ‰[ƒŒƒxƒ‹‚ðAwscript.exe / cscript.exe ‚ðŒÄ‚яo‚µ‚½ƒvƒƒZƒX‚Ö•Ô‚µ‚Ü‚·B - wscipt.exe, cscript.exe ‚́AƒXƒNƒŠƒvƒg‚Ì“à•”‚ŃGƒ‰[‚ª”­¶‚µ‚Ä‚àAƒGƒ‰[ƒŒƒxƒ‹‚Í0 ‚É‚È‚Á‚Ä‚¢‚Ü‚·B ‚±‚ê‚ł̓Gƒ‰[‚ª”­¶‚µ‚½‚©‚Ç‚¤‚©‚ª‚í‚©‚ç‚È‚¢‚̂ŁAvbs_inc - ‚ªƒGƒ‰[‚ðƒLƒƒƒbƒ`‚µ‚āAƒGƒ‰[”ԍ†‚ðƒGƒ‰[ƒŒƒxƒ‹‚É‚µ‚Ü‚·B - •¶–@ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚́AƒGƒ‰[ƒŒƒxƒ‹‚ª 1 ‚É‚È‚è‚Ü‚·B - - (src) - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW•¶Žš—ñ‚Ì•W€‘Ž®(XML”Å) - - ŠÖ˜A - - ¨ I—¹A•Ô‚è’liƒGƒ‰[ƒŒƒxƒ‹j‚ðŽw’è‚·‚é (VBScript) - - - ¨ ³íI—¹Žž‚Ì“®ì - - - ¨ Œx‚µ‚ďI—¹‚·‚é‚É‚Í - - - ¨ CheckTestErrLevel - - - - - - - - ƒo[ƒWƒ‡ƒ“”»’èAŠÂ‹«•Ï” - - ˆ—ƒtƒ[ - VBScript global code - [vbs_inc_sub.vbs] - [ƒƒCƒ“.vbs] - - VBScript global code - - [vbs_inc_setting.vbs ‚È‚Ç] - ‘SƒXƒNƒŠƒvƒg‹¤’Ê‚ÌŠù’è‚̐ݒèi‘S scriptlib ƒtƒHƒ‹ƒ_j - - - SetVar - - main / main2 - - - SetVar - - ‚P‚‚̃XƒNƒŠƒvƒg‚ÅŽg‚¤Ý’è - ClassI_validate - new ClassA - Class_Initialize - - - Me.Ver = CInt2( GetVar( "ClassA_Ver" ) )If IsEmpty( Me.Value ) Then Me.Ver = 200 - - ”’l‚ðŽ©“®“I‚ɐݒ肷‚é - - - ŠÂ‹«•Ï” - - Setting_onAfterInclude - - - - - - - - - - - - - - - If IsEmpty( g_ClassI ) Then Dim name : name = GetVar( "ClassI" ) - If IsEmpty( name ) Then - ... iŽ©“®”»’胋[ƒ`ƒ“j - name = "ClassA" - End If - Select Case name - Case "ClassA" : Set g_ClassI = new ClassA - Case "ClassB" : Set g_ClassI = new ClassB - End Select - Set ClassI_validate = g_ClassI - End If - - - ƒCƒ“ƒXƒ^ƒ“ƒX‚ðŽ©“®“I‚É - ‘I‘ð‚·‚é - - - - - Ý’è’l‚ðŽw’è‚·‚é‚Æ‚«‚́Amain ‚Ü‚½‚Í ƒfƒtƒHƒ‹ƒgiŽ©“®”»’è‚Ȃǁj‚̐ݒè’l‚ðŽg‚¤‚Æ‚«‚́ASetVar ‚ðŽg‚¢‚Ü‚¹‚ñB - —Dæ“x‚̍‚‚¢‚à‚Ì‚©‚ç•À‚ׂé‚ƁAmain ŠÖ”‚Ì SetVar „ setting ‚Ì SetVar „ OS ‚̊‹«•Ï” - „ Ž©“®‘I‘ðA‚̏‡‚É‚È‚è‚Ü‚·B - ƒfƒtƒHƒ‹ƒg’l‚ÌŒˆ’è•û–@‚́AŽŸ‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B - @EŒÅ’è’l - @EÝ’èƒtƒ@ƒCƒ‹‚©‚ç‚̃Š[ƒh - @EŽ©“®”»’è - ŠÂ‹«•Ï”‚Ì’l‚ðŽg‚Á‚½Œã‚́ASetVar ‚ð‚µ‚Ä‚à–³Œø‚Ȃ̂ŁASetVar ‚Í main ŠÖ”‚̍ŏ‰‚ŌĂяo‚µ‚Ä‚­‚¾‚³‚¢B - - - Setting_getIncludePathes - - ‚ðŽg‚¢‚Ü‚·B - - SetVar - - ‚Å - ƒCƒ“ƒXƒ^ƒ“ƒX‚ð“Á’è‚·‚é•K—v‚ª–³‚¢‚ǂ̐ݒèƒtƒ@ƒCƒ‹‚ðŽg‚¤‚©A‚È‚Ç‚ð‘I‘ð‚·‚é‚Æ‚«‚ɁAŠÂ‹«•Ï”‚ðŽg‚¢‚Ü‚·B - - ˆê”Ê“I‚Ȑݒè’l‚́AŠÂ‹«•Ï”‚Å‚Í‚È‚­A XML Œ`Ž®‚Ȃǂ̐ݒèƒtƒ@ƒCƒ‹‚âA - ‚́A‚ǂ̃o[ƒWƒ‡ƒ“‚ðŽg‚¤‚©A - - ‰‰ŽZŠí“I‚ȃIƒuƒWƒFƒNƒg - - - Ã“IƒIƒuƒWƒFƒNƒgEƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹ - - ‚ðŽg‚Á‚½‚Ù‚¤‚ªAŠK‘w‰»‚Å‚«‚½‚肵‚Ĉµ‚¢‚â‚·‚¢‚Å‚·B - - ¨ setting ƒtƒHƒ‹ƒ_ - - ŠÖ˜A - OS ‚̊‹«•Ï”‚̐ݒè - - ¨ set_ - - - ¨ FuncRedir_add - - ŠÖ”ƒR[ƒ‹‚̃Šƒ_ƒCƒŒƒNƒg - - ¨ LoadEnvVars - - ƒtƒ@ƒCƒ‹‚ɏ‘‚©‚ꂽŠÂ‹«•Ï”‚̏W‡‚ðŽg‚¤ - - ¨ ƒ‚ƒWƒ…[ƒ‹‚̃Oƒ[ƒoƒ‹•Ï”‚̏‰Šú‰» - - InitializeModule - - - SetVar - - ‚ ‚éƒtƒHƒ‹ƒ_‚Ì’†‚É‚ ‚éƒXƒNƒŠƒvƒg‚ÌŠù’è‚̐ݒèiscriptlib ƒtƒHƒ‹ƒ_‚²‚Ɓj - - - - - Setting_getIncludePathes - - - g_Vers.Add "Disable", 1 - - ‚ ‚éƒtƒHƒ‹ƒ_‚Ì’†‚É‚ ‚éƒXƒNƒŠƒvƒg‚Ì InitializeModule ‚Å - Ý’肳‚ê‚é“à—e‚Ì‘I‘ð - - - - - - - g_Vers.Add "Disable", 1 - - ‚P‚‚̃XƒNƒŠƒvƒg‚ÅŽg‚¤ InitializeModule‚Őݒ肳‚ê‚é“à—e‚Ì‘I‘ð - ŠÖ˜A - - ¨ ŠÂ‹«•Ï”‚ðŽæ“¾‚·‚é (VBScript) - - - - - - - - - - - ¨ TestCommon_setVariables - - Test.vbs ‚Å‹¤’ʂ̊‹«•Ï”‚ƃtƒ@ƒCƒ‹‚̃`ƒFƒbƒN - - ¨ GetMainSetting ŠÖ” (vbsool) - - ƒXƒNƒŠƒvƒg“à‚Å‹¤’ʂ̐ݒè’l - - - - - - - IsDefined - - - Function IsDefined( Symbol as string ) as boolean - - - ¨ GetRef - - Žw’肵‚½ƒVƒ“ƒ{ƒ‹‚̊֐”‚ª’è‹`‚³‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ð•Ô‚µ‚Ü‚·B - - (src) - - - [ e: ƒo[ƒWƒ‡ƒ“”»’è ] - - ƒTƒ“ƒvƒ‹F - - - If not IsDefined( "copy" ) Then ... - - ŽQl - - ¨ CheckSettingFunctionExists - - ŠÖ˜A - - - - - - - g_Vers - - - Dim g_Vers as Scripting.Dictionary - - ŠeŽíƒo[ƒWƒ‡ƒ“”ԍ†A‚Ü‚½‚́AÝ’è‚ÉŠÖ‚·‚鎫‘‚Å‚·B - - [ ƒeƒXƒg ] - - - (src) - - - [ e: ƒo[ƒWƒ‡ƒ“”»’è ] - - ŠÖ˜A - - ¨ VarStack - - ’l‚Í•¶Žš—ñ‚␔’l‚âƒIƒuƒWƒFƒNƒg‚È‚Ç‚ðŠi”[‚Å‚«‚Ü‚·B - - SetVar - - ‚Őݒ肳‚ê‚é•Ï”‚Æ“¯‚¶•Ï”‚̗̈æiDictionaryj‚Å‚·B ivbslib ver4 ‚æ‚èj - - VarStack - - ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B - Ž«‘‚̃L[‚́A¶‚É‚ ‚éƒcƒŠ[‚ÌŽqƒm[ƒh‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B - —áF - - ¨ g_Vers("vbslib") - - - ¨ g_Vers("TextFileExtension") - - - - - - - - g_Vers("vbslib") - - - g_f = g_Vers.Item("vbslib")If g_f >= 4.9 Then - g_Vers.Item("vbslib") = 4.9 - g_vbslib_path = g_vbslib_folder + "vbslib\vbs_inc_sub.vbs" - ElseIf g_f >= 4.0 Then - g_vbslib_path = g_vbslib_folder + "vbslib400\vbs_inc_400.vbs" - ElseIf g_f >= 3.0 Then - g_vbslib_path = g_vbslib_folder + "vbslib300\vbs_inc_300.vbs" - ElseIf g_f >= 2.0 Then - g_vbslib_path = g_vbslib_folder + "vbs_inc_200.vbs" - Else - g_vbslib_path = g_vbslib_folder + "vbslib000\vbs_inc_000.vbs" - End If - - ”»’èƒTƒ“ƒvƒ‹ - - ¨ vbslib ‚ðƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚·‚é - - ƒo[ƒWƒ‡ƒ“‚Ì”»’è‚́A•s“™†‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - Sub SetupVbslibParameters() '--- start of parameters for vbslib include ------------------------------- - g_Vers("vbslib_ver") = 99.99 - : - '--- end of parameters for vbslib include --------------------------------- - End Sub - - 0.0 c ƒo[ƒWƒ‡ƒ“Ø‚è‘Ö‚¦ƒeƒXƒg—p2.0 c ver2.00 ‚ð‚»‚Ì‚Ü‚ÜŽg‚¤ ivbs_inc ‚̃fƒtƒHƒ‹ƒgj - 3.0 c ver3.00 ‚ðŽg‚¤ - 4.0 c ver4.00 ‚ðŽg‚¤ - 99.99 c ÅV‚ðŽg‚¤ - vbs_inc.vbs ‚©‚ç vbslib ‚ðƒCƒ“ƒNƒ‹[ƒhŠJŽn‚·‚鎞“_‚ŁAŽÀÛ‚ÉŽg—p‚·‚éƒo[ƒWƒ‡ƒ“ - ”ԍ†‚É•Ï‚í‚è‚Ü‚·B ‚»‚ê‚܂ł́AƒƒCƒ“.vbs ‚ª—v‹‚·‚é”ԍ†‚Å‚·B - ã‹L‚̂悤‚ÉŒˆ‚ß‚Ä‚¢‚Ü‚·‚ªAŽÀÛ‚Ì“®‚«‚͉º‹L‚Ì vbs_inc.vbs ‚Ì“à—e‚É‚æ‚è‚Ü‚·B - Ý’èƒTƒ“ƒvƒ‹ - ŽQl - ƒeƒXƒg - - ¨ T_Var.vbs # T_g_Vers_Stack - - vbslib ‚̃o[ƒWƒ‡ƒ“”ԍ†‚Å‚·B - - - Dim g_Vers("vbslib") as dictionary - - ’l‚̈Ӗ¡ - vbs_inc.vbs ‚̈ꕔ - - - - - - - TextFileExtension (g_Vers) - - ¨ T_Path.vbs - - - ¨ PC_setting_default.vbs - - T_TextFileExtension - - << g_Vers - - - - Dim g_Vers("TextFileExtension") as dictionary - - ƒeƒXƒg - ƒ\[ƒX - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ðƒL[‚Æ‚µ‚½Ž«‘B - ‘啶Žš‚Ə¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB - - setting ƒtƒHƒ‹ƒ_[ - - ‚Ì PC_setting_default.vbs ‚ȂǂŐݒ肵‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - - If g_Vers("TextFileExtension").Exists( "xml" ) Then - - - - extension = g_fs.GetExtensionName( path )If g_Vers("TextFileExtension").Exists( extension ) Then - - ƒeƒLƒXƒgEƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚Å‚ ‚é‚©”»’f‚·‚éB - ƒTƒ“ƒvƒ‹ - Ž«‘‚ðì¬‚·‚é - - - Set g_Vers("TextFileExtension") = Dic_addFromArray( Empty, Array( _ "txt", _ - "c", "h", "cpp", "hpp", "vbs", "js", "py", "rb", _ - "ini", "log", _ - "html", "htm", "xml", "svg" ), True ) - - - Dic_addFromArray - - ŠÖ˜A - - ¨ IsSameBinaryFile - - - ¨ IsSameTextFile - - - - - - - - NaturalDocsExtension (g_Vers) - - - Dim g_Vers("NaturalDocsExtension") as dictionary - - NaturalDocs ‚É“ü—Í‚Å‚«‚éƒtƒ@ƒCƒ‹‚ÌŠg’£Žq‚ðƒL[‚Æ‚µ‚½Ž«‘B - - MakeDocumentByNaturalDocs - - ‚ÅŽg‚í‚ê‚Ü‚·B - ‚±‚ÌŽ«‘‚ª - - g_Vers("TextFileExtension") - - ‚±‚ÌŽ«‘‚ÌŽg‚¢•û‚́A - ‚Æ“¯‚¶‚Å‚·B - - setting ƒtƒHƒ‹ƒ_[ - - ‚É‚È‚¢‚Æ‚«‚́AƒfƒtƒHƒ‹ƒg‚̐ݒè‚ðŽg‚Á‚ďˆ—‚³‚ê‚Ü‚·B - - - - - - - CutPropertyM (g_Vers) - - - Dim g_Vers("CutPropertyM") as string - - - ¨ Dic_addNewObject - - ŠÖ˜A - True ‚È‚ç Name ƒvƒƒpƒeƒB‚ðAFalse ‚È‚ç m_Name ƒvƒƒpƒeƒB‚ðŽg‚¢‚Ü‚·B - - - g_Vers("CutPropertyM") = False - - ƒL[ƒ[ƒhF - Name, m_Name - ƒTƒ“ƒvƒ‹ - ƒ‰ƒCƒuƒ‰ƒŠ‚ª’ñ‹Ÿ‚·‚é‚¢‚­‚‚©‚̊֐”‚Ì’†‚ÅŽg‚í‚ê‚éƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚āAName ƒvƒƒpƒeƒB‚ðŽQÆ‚·‚é‚©Am_Name ƒvƒƒpƒeƒB‚ðŽQÆ‚·‚é‚©‚ð‘I‚ׂ܂·B - ƒfƒtƒHƒ‹ƒg‚́ATrue ‚Å‚·B - - << g_Vers - - - - - - - - ThisIsOldSpec - - - Sub ThisIsOldSpec() - - Œ»ÝŽÀs‚µ‚Ä‚¢‚éŠÖ”‚ªA”pŽ~‚³‚ê‚悤‚Æ‚µ‚Ä‚¢‚éŠÖ”‚Å‚ ‚邱‚Æ‚ðŒx‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbs_inc_sub.vbs - - - (src) - - g_debug <> 0 ‚Ì‚Æ‚«‚́A‰‚ß‚Ä ThisIsOldSpec ‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚ɃuƒŒ[ƒN‚µ‚Ü‚·B - ŠÖ˜A - - ¨ SetErrorOfOldSpec - - - - - - - - g_cut_old - - - Dim g_cut_old as boolean - - vbslib ‚̌¢ŠÖ”‚ðŒÄ‚яo‚µ‚½‚Æ‚«‚ɁAƒfƒoƒbƒK‚ŃuƒŒ[ƒN‚·‚é‚悤‚É‚µ‚Ü‚·B - - ¨ vbslib2 ‚©‚ç vbslib3 ‚Öƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚·‚é - - ŽQl - - (src) - - - [ e: ƒo[ƒWƒ‡ƒ“”»’è ] - - vbslib ‚̃†[ƒU[‚̃Tƒ“ƒvƒ‹F - - - g_cut_old = True - - - - If g_cut_old Then Stop :If g_cut_old=I_CutOldErr Then Error - - vbslib ‚̍쐬ŽÒ‚̃Tƒ“ƒvƒ‹F - ƒfƒtƒHƒ‹ƒg‚Í True ‚É‚È‚è‚Ü‚·BFalse ‚É‚·‚é‚ɂ́A - - - '--- start of parameters for vbslib include -------------------------------Dim g_cut_old : g_cut_old = False - - ‚ÉŽŸ‚̂悤‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ ThisIsOldSpec - - g_cut_old ‚́A”pŽ~‚³‚ê‚Ü‚µ‚½B ‘ã‚í‚è‚É ThisIsOldSpec ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B - - - SetupVbslibParameters - - - - - - - - SetErrorOfOldSpec - - - Sub SetErrorOfOldSpec() - - ThisIsOldSpec ‚ªŒÄ‚΂ꂽ‚çAƒGƒ‰[‚É‚·‚é‚悤‚ɐݒ肵‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbs_inc_sub.h - - - (src) - - ŠÖ˜A - - ¨ ThisIsOldSpec - - - - - - - - SetNotErrorOfOldSpec - - - Sub SetNotErrorOfOldSpec() - - ThisIsOldSpec ‚ªŒÄ‚΂ê‚Ä‚àAƒGƒ‰[‚É‚µ‚È‚¢‚悤‚ɐݒ肵‚Ü‚·B - ƒtƒ@ƒCƒ‹F - - - vbs_inc_sub.h - - ŠÖ˜A - - ¨ ThisIsOldSpec - - - (src) - - - - - - - - GetOSVersion - - - Function GetOSVersion() as double - - Windows ‚Ì“à•”ƒo[ƒWƒ‡ƒ“‚ð•Ô‚µ‚Ü‚·B - 5.0 = Windows 20005.1 = Windows XP - 6.0 = Windows Vista - 6.1 = Windows 7 - 6.2 = Windows 8 - 6.3 = Windows 8.1 - 10 = Windows 10 - - (src) - - - [ e: ƒo[ƒWƒ‡ƒ“”»’è ] - - ŠÖ˜A - - ¨ g_is64bitWindows - - - ¨ g_is64bitWSH - - - - - - - - set_, SetVar - - - set_ "FooVar", "1" - - ƒTƒ“ƒvƒ‹F - - - Sub SetVar( Symbol as string, Value as variant ) - - vbslib ‚̊‹«•Ï”‚ðÝ’肵‚Ü‚·B - yˆø”z - Symbol - Value - •Ï”–¼ - Ý’è‚·‚é’lAEmpty = •Ï”‚ð–¢’è‹`‚É‚·‚é - ŠÖ˜A - - ¨ GetVar - - - ¨ SetVarBreak - - - (src) - - - ¨ [T_Var] vbslib ‚̊‹«•Ï”‚̃eƒXƒg - - - ¨ env - - - [ e: ŠÂ‹«•Ï” ] - - set_ ‚́AOS ‚̊‹«•Ï”‚ɂ͐ݒ肳‚ê‚Ü‚·BSetVar ‚́AOS ‚̊‹«•Ï”‚ɂ͐ݒ肳‚ê‚Ü‚¹‚ñB‚»‚Ì‚½‚߁ARunProg ‚È‚Ç‚Å - ŽqƒvƒƒZƒX‚ð‹N“®‚µ‚Ä‚àA“`’B‚³‚ê‚Ü‚¹‚ñB - ‚»‚Ì‘ã‚í‚èA•¶Žš—ñˆÈŠOi”’l‚â”z—ñ‚Ȃǁj‚ðÝ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - set_ ‚à SetVar ‚àAenv ‚ðŽg‚Á‚ÄŽQÆ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - set_ ‚ðŽÀs‚·‚é‚ƁA“¯‚¶–¼‘O‚̃[ƒJƒ‹ŠÂ‹«‚̕ϐ”‚ªíœ‚³‚ê‚Ü‚·B(2016-08-18‚æ‚è) - ’ˆÓ - ŠÂ‹«•Ï”‚̓Oƒ[ƒoƒ‹•Ï”‚Æ“¯‚¶‚Ȃ̂ŁA‚È‚é‚ׂ­Žg‚í‚È‚¢‚Å‚­‚¾‚³‚¢B‰º‹L‚Ì‚¢‚¸‚ê‚©‚ªŽg—p‚Å‚«‚È‚¢‚©ŒŸ“¢‚µ‚Ä‚­‚¾‚³‚¢B - - Esetting ƒtƒHƒ‹ƒ_, setting_default ƒtƒHƒ‹ƒ_ - - EÝ’èŠÖ” - EƒIƒuƒWƒFƒNƒg‚̃ƒ\ƒbƒhAƒvƒƒpƒeƒB - - ¨ clib ‚̊‹«•Ï” - - - ¨ T_Var ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - - Sub set_( Symbol as string, Value as string ) - - - ¨ Environment (Shell) - - - - SetVar "FooVar", 1 - - - ¨ RunBat - - - (src) - - - ¨ ðŒƒuƒŒ[ƒN - - - ¨ T_Var ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - ¨ VarStack - - OS ‚̊‹«•Ï” - ƒ[ƒJƒ‹ŠÂ‹«•Ï” ivbslib ‚ªŽ‚ÂŽ«‘j - - ¨ SetDefaultEnvironmentVariables - - - ¨ AddIfNotExist - - - ¨ GetMainSetting ŠÖ” (vbsool) - - PATH ŠÂ‹«•Ï”‚̒ljÁ - - - - - - - GetVar - - - v = GetVar( "FooVar" ) - - ƒTƒ“ƒvƒ‹F - - - Function GetVar( Symbol as string ) as variant - - vbslib ‚̊‹«•Ï”‚Ì’l‚ð•Ô‚µ‚Ü‚·B - yˆø”z - Symbol - •Ô‚è’l - •Ï”–¼ - Symbol ‚ÉŽw’肵‚½ŠÂ‹«•Ï”‚Ì’l - ŠÖ˜A - - ¨ SetVar - - - (src) - - - ¨ SetVarBreak - - ’l‚ðÝ’肵‚Ä‚¢‚È‚¢ŠÂ‹«•Ï”‚ðŽw’肵‚½‚Æ‚«‚́AƒGƒ‰[‚ª”­¶‚·‚é‚Ì‚Å‚Í‚È‚­AEmpty ‚ð•Ô‚µ‚Ü‚·B - - OS ‚̊‹«•Ï”‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - - ¨ env - - - [ e: ŠÂ‹«•Ï” ] - - - ¨ ðŒƒuƒŒ[ƒN - - - ¨ T_Var ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - T_Var1 - T_Var2 - •Ï”–¼‚É % ‚ð•t‚¯‚½‚à‚Ì‚ðŽw’肵‚½ê‡A% ‚ª–³‚¢•Ï”–¼‚Ì’l‚ª•Ô‚è‚Ü‚·B - - - GetVar( "FooVar" ) = GetVar( "%FooVar%" ) - - - - - - - - SetVarBreak - - (src) - - - - SetVarBreak "FooVar", Empty - - ƒTƒ“ƒvƒ‹F - - - Sub SetVarBreak( Symbol as string, Opt as Empty ) - - vbslib ‚̊‹«•Ï”‚Ì’l‚ðÝ’èA‚Ü‚½‚ÍŽQÆ‚µ‚Ä‚¢‚é‚Æ‚±‚ë‚ŃuƒŒ[ƒN‚·‚é‚悤‚ɐݒ肵‚Ü‚·B - yˆø”z - Symbol - Opt - •Ï”–¼ - Empty ‚ðŽw’肵‚Ä‚­‚¾‚³‚¢ - ŠÖ˜A - - ¨ SetVar - - - ¨ GetVar - - - ¨ env - - - [ e: ŠÂ‹«•Ï” ] - - - - - - - - VarStack - - - Sub FuncA() Set v_= new VarStack - - set_ "Foo2", "2a" - SetVar "Foo3", 3 - g_Vers "Foo4", 1 - - End Sub '// Œ³‚̊‹«•Ï”‚Ì’l‚É–ß‚é - - ƒIƒuƒWƒFƒNƒg‚ª”jŠü‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚ŁAŠÂ‹«•Ï”‚Ì’l‚ðŒ³‚É–ß‚µ‚Ü‚·B‰º‹L‚̏ꍇAŠÖ”‚©‚甲‚¯‚é‚Æ–ß‚µ‚Ü‚·B - - (src) - - - [ e: ŠÂ‹«•Ï” ] - - - set_ - - - SetVar - - - g_Vers - - - - - - - - LoadEnvVars - - (src) - - - [ e: ŠÂ‹«•Ï” ] - - - - Sub LoadEnvVars( Path_ofSetCommandLog, Option_ ) - - ƒtƒ@ƒCƒ‹‚ðŽQÆ‚µ‚āA•¡”‚̊‹«•Ï”‚ðŒ»Ý‚ÌƒvƒƒZƒX‚ɐݒ肵‚Ü‚·B - yˆø”z - Path_ofSetCommandLog - ŠÂ‹«•Ï”‚̐ݒè‚̈ꗗ‚̃tƒ@ƒCƒ‹ƒpƒXA‚Ü‚½‚ÍŽ«‘ - ŠÂ‹«•Ï”‘S‘Ì‚ðAƒtƒ@ƒCƒ‹‚É‹Lq‚³‚ꂽ’l‚ɐݒ肵‚Ü‚·B - - - LoadEnvVars "settings.txt", Empty - - setting.txt - - - VAR1=value1VAR2=3 - VAR3=cmd - - - ¨ T_Var.vbs # T_LoadEnvVars - - ƒeƒXƒg - ¡‚܂Őݒ肳‚ê‚Ä‚¢‚½ŠÂ‹«•Ï”‚Ì‚¤‚¿APath_ofSetCommandLog ‚̃tƒ@ƒCƒ‹‚É‹Lq‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«•Ï”‚́Aíœ‚³‚ê‚Ü‚·B ‚½‚¾‚µAOption_ = F_Append ‚É‚·‚é‚ƍ폜‚³‚ê‚Ü‚¹‚ñB - Option_ - Empty ‚Ü‚½‚Í F_Append ‚Ü‚½‚ÍŽ«‘ - setting.txt ‚́AƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ì set (Enter) ‚ŏo—Í‚³‚ê‚é“à—e‚Æ“¯‚¶ƒtƒH[ƒ}ƒbƒg‚Å‚·BVBScript ‚ł́A‰º‹L‚̂悤‚É‹Lq‚µ‚Ü‚·B - - - g_sh.Run "cmd /C (set > ""C:\folder\settings.txt"")",, True - - ŽQl - - ¨ ƒfƒtƒHƒ‹ƒg‚̊‹«•Ï”‚̐ݒèƒ^ƒCƒ~ƒ“ƒO - - ŠÂ‹«•Ï”‘S‘Ì‚ðAŽ«‘‚É“ü‚Á‚Ä‚¢‚é“à—e‚ɐݒ肵‚Ü‚·B - - - Set dic = CreateObject( "Scripting.Dictionary" ) dic.Item( "VAR1" ) = "value1" - dic.Item( "VAR2" ) = "3" - LoadEnvVars( dic, Empty ) - - ŠÖ˜A - - ¨ Dic_add - - - ¨ SaveEnvVars - - - ¨ ClearEnvVars - - - - Set envs = CreateObject( "Scripting.Dictionary" ) LoadEnvVars "settings.txt", envs - - ƒtƒ@ƒCƒ‹‚É“ü‚Á‚Ä‚¢‚éŠÂ‹«•Ï”‚̐ݒè‚ðAŽ«‘‚ÉŠi”[‚·‚é - ƒTƒ“ƒvƒ‹ - Option_ ˆø”‚ÉŽ«‘ƒIƒuƒWƒFƒNƒg‚ð“n‚·‚ƁA‚»‚ÌŽ«‘ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚ª•Ï‚í‚邾‚¯‚ŁAŠÂ‹«•Ï”‚Ì’l‚Í•Ï‚í‚è‚Ü‚¹‚ñB - ƒTƒ“ƒvƒ‹ - ƒTƒ“ƒvƒ‹ - - - - - - - SaveEnvVars - - (src) - - - [ e: ŠÂ‹«•Ï” ] - - - - Sub SaveEnvVars( Path_ofSetCommandLog, Option_ ) - - Œ»Ý‚̊‹«•Ï”‚ðƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚é‚©AŽ«‘‚ÉŠi”[‚µ‚Ü‚·B - yˆø”z - Path_ofSetCommandLog - ƒtƒ@ƒCƒ‹ƒpƒXA‚Ü‚½‚ÍŽ«‘A‚Ü‚½‚Í Empty - Option_ - Empty ŒÅ’è - Path_ofSetCommandLog ‚ɁA’l‚ª“ü‚Á‚Ä‚¢‚È‚¢iEmpty ‚́j•Ï”‚ðŽw’肵‚½‚çA“à•”‚Å Dictionary ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚āA‚»‚Ì’†‚Ɋ‹«•Ï”‚̐ݒè’l‚ð - Ši”[‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - - Dim envs SaveEnvVars envs, Empty '//[out] envs - echo envs - LoadEnvVars envs, Empty - - - ¨ T_Var.vbs # T_LoadEnvVars - - ƒeƒXƒg - ŠÖ˜A - - ¨ VarStack - - - - - - - - ClearEnvVars - - - Sub ClearEnvVars() - - Œ»Ý‚̃vƒƒZƒX‚̊‹«•Ï”‚ð‚Ù‚Ú‚·‚ׂč폜‚µ‚Ü‚·B - - (src) - - - [ e: ŠÂ‹«•Ï” ] - - - ¨ T_Var.vbs # T_LoadEnvVars - - ƒeƒXƒg - VBScript ‚©‚çíœ‚Å‚«‚È‚¢ŠÂ‹«•Ï”‚ÍŽc‚è‚Ü‚·B - - - - - - - OpenForEnvVarsFile - - ¨ OpenForRegFile - - ŠÖ˜A - - - Function OpenForEnvVarsFile( EnvVarsFilePath as string ) as EditEnvVarsFile - - - (src) - - ŠÂ‹«•Ï”ƒtƒ@ƒCƒ‹‚ð•ÒW‚µ‚Ü‚·B - - - Dim f : Set f = OpenForEnvVarsFile( "settings.txt" )echo f.get_( "VAR_A" ) - f.set_ "VAR_A", "1" - f.select_ "VAR_A", "1", Array( "VAR_A", "VAR_B", "VAR_C" ), "0" - f = Empty '// Write - - yˆø”z - EnvVarsFilePath - •Ô‚è’l - ŠÂ‹«•Ï”ƒtƒ@ƒCƒ‹‚̃pƒX - - EditEnvVarsFile ƒIƒuƒWƒFƒNƒg - - ƒTƒ“ƒvƒ‹F - ƒ‰ƒ“ƒ_ƒ€ƒAƒNƒZƒX‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B OpenForRead ‚â OpenForWrite ‚̂悤‚ɃV[ƒPƒ“ƒVƒƒƒ‹iƒtƒ@ƒCƒ‹‚̐擪‚©‚珇”ԁj‚ɃAƒNƒZƒX‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñ‚µA - •ÏX‚µ‚È‚¢ƒL[‚Ü‚Å Write ‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB - - ‘¶Ý‚µ‚È‚¢ŠÂ‹«•Ï”‚ðV‹K‚É set_ ‚µ‚½‚Æ‚«‚́AABC ‡‚Ńtƒ@ƒCƒ‹‚É‹Lq‚³‚ê‚Ü‚·B - Empty ‚Ì’l‚ð set_ ‚·‚é‚ƁA‚»‚̊‹«•Ï”‚̓tƒ@ƒCƒ‹‚©‚çíœ‚³‚ê‚Ü‚·B - settings.txt - VAR_A - 1 - 1 - VAR_A - - ¨ T_VarFile.vbs # [T_VarFile1] - - ƒeƒXƒg - VAR_A - - - - - - - EditEnvVarsFile ƒNƒ‰ƒX - .Path - - - Property .Path as string - - .get_ - - - Function .get_( Name as string ) as string - - Name ‚ª’è‹`‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́AEmpty ‚ð•Ô‚µ‚Ü‚· - - - Sub .set_( Name as string, Value as string or Empty ) - - .set_ - - - Sub select_( Name as string, Value as string, OtherNames as array of string, OtherValue as string ) - - .select_ - - ¨ OpenForEnvVarsFile - - ŠÖ˜A - - - - - - - SetVarInBatchFile - - - Sub SetVarInBatchFile( Path as string, Symbol as string, Value as variant ) - - ƒoƒbƒ`Eƒtƒ@ƒCƒ‹‚Ì’†‚ŁAŠÂ‹«•Ï”‚ðÝ’肵‚Ä‚¢‚é•”•ª‚Ì’l‚ð•ÏX‚µ‚Ü‚·B - yˆø”z - Path - Symbol - ƒoƒbƒ`Eƒtƒ@ƒCƒ‹‚̃pƒX - ŠÂ‹«•Ï”‚Ì–¼‘O - Value - ŠÂ‹«•Ï”‚Ì’l - ƒeƒXƒg - - ¨ T_VarFile.vbs - - T_SetVarInBatchFile - ƒ\[ƒX - - ¨ vbslib.vbs - - - - - - - - ƒGƒ‰[ˆ— iErr2j - - ¨ Raise - - V‹K‚ɃGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - - ¨ ƒGƒ‰[ˆ— iErr ”Łj - - - ¨ Error - - –¢’m‚̃Gƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - - ¨ Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - - ¨ Err2 ƒIƒuƒWƒFƒNƒg - - - ¨ FinObj ƒNƒ‰ƒX - - Finally ƒuƒƒbƒN‚ÉŽ—‚½‹Lq‚ð‚·‚é - - [ ƒeƒXƒg ] - - - ¨ ƒGƒ‰[ƒR[ƒh - - - ¨ ƒGƒ‰[”­¶Žž‚Ì“®ì - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW•¶Žš—ñ‚Ì•W€‘Ž® - - - ¨ Err2 ‚̏ˆ—ƒtƒ[ - - ŠÖ˜A - ƒeƒXƒg - - ¨ T_Err2 ƒtƒHƒ‹ƒ_ - - - ¨ [T_Err2] Err2 ƒIƒuƒWƒFƒNƒg‚̃eƒXƒg - - - ¨ Warning - - Œx‚ð•\Ž¦‚µ‚ăvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦‚µ‚āAƒGƒ‰[ó‘Ô‚©‚ç•œ‹A‚µA ‘±‚«‚ðŽÀs‚·‚é - - - ¨ ƒGƒ‰[‚Ì“à—e‚ð•Ï‚¦‚āAÄ“xƒGƒ‰[‚𔭐¶‚³‚¹‚é - - - - - - - - Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - - Dim e ' as Err2 If TryStart(e) Then On Error Resume Next - ... - If TryEnd Then On Error GoTo 0 - If e.num = E_FileNotExist Then ... : e.Clear - If e.num <> 0 Then e.Raise - - - ¨ ƒƒ“ƒo•Ï” (Err2) - - ŠÖ˜A - - ¨ Err2::BreakErrID - - - TryStart - - - TryStart - - - - Dim e ' as Err2 If TryStart(e) Then On Error Resume Next - If Trying Then ... - If Trying Then ... - If TryEnd Then On Error GoTo 0 - If e.num = E_FileNotExist Then ... : e.Clear - If e.num <> 0 Then e.Raise - - Try ƒuƒƒbƒN‚Ì’†‚ªA1s‚¾‚¯‚Ì‚Æ‚« - Try ƒuƒƒbƒN‚Ì’†‚ªA•¡”s‚Ì‚Æ‚« - - TryEnd - - - TryEnd - - - TryStart - - - Trying - - - Trying - - Trying ‚́A–ˆs‹Lq‚·‚é•K—v‚ª‚ ‚è‚Ü‚·BƒGƒ‰[‚ª”­¶‚µ‚Ä‚àATryStart`TryEnd ‚ÌŠÔ‚Å‘±‚«‚ðŽÀs‚·‚éê‡‚́A - Trying ‚Í•s—v‚Å‚·B - - ¨ ƒGƒ‰[ˆ— iErr ”Łj - - TryStart ‚ðŽg‚¤‚ƁAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŁAƒuƒŒ[ƒN‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - Clear - - - Raise - - - Clear - - - Raise - - - Err2 - - - Err2 - - E_FileNotExist - E_FileNotExist - ƒuƒŒ[ƒN‚³‚¹‚é‚Æ‚«‚́AErr2::BreakErrID ‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - On Error Resume Next ‚ðŒÄ‚яo‚µ‚½‚çƒuƒŒ[ƒN‚µ‚È‚­‚È‚é‚̂ŁATryStart ‚ªAOn Error Resume Next ‚ðŒÄ‚яo‚·‚ׂ«‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - ƒTƒ“ƒvƒ‹ - - ¨ _err2_test.lzh - - Try ƒuƒƒbƒN‚Ì’†‚Å”­¶‚µ‚½ƒGƒ‰[‚ŃuƒŒ[ƒN‚³‚¹‚é‚Æ‚« - - - If g_count_up(1)=0 Then Stop '// watch-> g_count [TODO] echo "g_count(1)=" & g_count(1) - If g_count(1) < 99 Then - If TryStart(e) Then On Error Resume Next - End If - - - ¨ g_count, g_count_up - - ŽQl - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - ŠÖ˜A - ƒGƒ‰[‚ðƒLƒ…[‚É‚½‚ß‚é - - ¨ EnqueueAndClear (Err2) - - ƒNƒŠƒA‚µ‚½ƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚𒲂ׂé‚Æ‚«‚́AƒNƒŠƒA‚·‚é‘ã‚í‚è‚ÉErr2::Raise ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - Err2 ƒIƒuƒWƒFƒNƒg - - - Public Number ' Err.Number Public num ' Err.Number - Public Description ' Err.Description (Error Message) - Public desc ' Err.Description (Error Message) - Public Source ' Err.Source - Public ErrID ' count of (num <> 0) in each first Copy after Clear - Public RaiseID ' count of (num <> 0) in Copy - Public BreakErrID ' as integer - Public BreakRaiseID ' as integer - - - (src) - - - - Dim g_Err2 as Err2 - - ƒƒ“ƒoŠÖ” - - .Copy - - - .Raise - - - .OverRaise - - - .Clear - - err ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚ðƒRƒs[‚µ‚Ü‚·B - “¯‚¶“à—e‚̃Gƒ‰[‚ðÄ“x”­¶‚³‚¹‚éB - ƒGƒ‰[‚Ì“à—e‚ð•Ï‚¦‚āAÄ“xƒGƒ‰[‚𔭐¶‚³‚¹‚éB - ƒGƒ‰[‚ðƒNƒŠƒA‚·‚éB - TryStart ‚ðŒÄ‚яo‚·‚ƁAErr2 ƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚Å‚«‚Ü‚·B‚Ü‚½Ag_Err2 ƒOƒ[ƒoƒ‹•Ï”‚©‚çƒAƒNƒZƒX‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B - ƒƒ“ƒo•Ï” - Žæ“¾, g_Err2 - - ¨ Err ƒIƒuƒWƒFƒNƒg - - ŠÖ˜A - - ¨ Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - ƒeƒXƒg - - ¨ T_Err2 ƒtƒHƒ‹ƒ_ - - - ¨ [T_Err2] Err2 ƒIƒuƒWƒFƒNƒg‚̃eƒXƒg - - ‘¼‚É‚à‚ ‚è‚Ü‚·B - - - - - - - Number (Err2) - num (Err2) - - - Property Get Err2::Number() as integer - - ƒGƒ‰[ƒR[ƒhB - - - Property Get Err2::num() as integer - - - ¨ Err2 ƒIƒuƒWƒFƒNƒg - - ƒGƒ‰[ó‘Ô‚Å‚È‚¯‚ê‚΁A0 ‚É‚È‚è‚Ü‚·B - - - - - - - Description (Err2) - desc (Err2) - - - Property Get Err2::Description() as string - - ƒGƒ‰[EƒƒbƒZ[ƒWB - - - Property Get Err2::desc() as string - - - ¨ Err2 ƒIƒuƒWƒFƒNƒg - - ƒGƒ‰[ƒƒbƒZ[ƒW‚ð•\Ž¦‚µ‚āAƒGƒ‰[ó‘Ô‚©‚ç•œ‹A‚µA ‘±‚«‚ðŽÀs‚·‚é - ƒTƒ“ƒvƒ‹ - - - Dim e ' as Err2 If TryStart(e) Then On Error Resume Next - ... - If TryEnd Then On Error GoTo 0 - If e.num <> 0 Then - echo_v "Error 0x"+ Hex( e.num ) +": "+ e.Description - e.Clear - End If - - - - - - - - ErrStr (Err2) - - - Property Get Err2::ErrStr() as string - - XMLŒ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒWB - ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF - - - <ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/> - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW•¶Žš—ñ‚ÌXML‘Ž® - - ŠÖ˜A - - ¨ Err2 ƒIƒuƒWƒFƒNƒg - - - - - - - - GetErrStr (Err2) - - - Function Err2::GetErrStr() as string - - •W€Œ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ð•Ô‚·B - - (src) - - ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF - - - <ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/> - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW•¶Žš—ñ‚Ì•W€‘Ž®(XML”Å) - - ŠÖ˜A - ”pŽ~‚³‚ê‚Ü‚µ‚½ - - ¨ ErrStr (Err2) - - - - - - - - DebugHint (Err2) - - - Property Get Err2::DebugHint() as string - - ƒGƒ‰[‚Ì“à—e‚ƃfƒoƒbƒO‚̃qƒ“ƒgB - ƒTƒ“ƒvƒ‹F - - - If TryStart(e) Then On Error Resume Next ... - If TryEnd Then On Error GoTo 0 - If e.num <> 0 Then echo e.DebugHint : e.Clear - - ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF - - - ‰º‹L‚̃tƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¢‚ÄŽŸ‚̂悤‚ɕϐ”‚Ì’l‚ðC³‚·‚é‚ƁAƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä–â‘肪‚ ‚éêŠ‚Å’âŽ~‚µ‚Ü‚·B - "T_Err2_Clear.vbs" - ------------------------------------------------------------------ - g_debug = 2 - ------------------------------------------------------------------ - <ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/> - - - ¨ Err2 ƒIƒuƒWƒFƒNƒg - - ƒeƒXƒg - - ¨ T_InputCommand.vbs # T_InputCommand_ForgetClear - - - - - - - - Value (Err2) - - - Function Err2::Value() as string - - ƒGƒ‰[‚Ì“à—e‚𕶎š—ñŒ^‚Å•Ô‚µ‚Ü‚·B - - (src) - - ”pŽ~‚³‚ê‚Ü‚µ‚½ - - ¨ DebugHint (Err2) - - - - - - - - Copy (Err2) - - - Sub Err2::Copy( err as Err ) - - err ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚ðƒRƒs[‚µ‚Ü‚·B - - (src) - - - - - - - - Raise (Err2) - - - Sub Err2::Raise() - - “¯‚¶“à—e‚̃Gƒ‰[‚ðÄ“x”­¶‚³‚¹‚éB - - (src) - - - - - - - - OverRaise (Err2) - - - Sub Err2::OverRaise( e_num as integer, e_desc as string ) - - ƒGƒ‰[‚Ì“à—e‚ð•Ï‚¦‚āAÄ“xƒGƒ‰[‚𔭐¶‚³‚¹‚éB - - (src) - - ƒTƒ“ƒvƒ‹ - - - Dim e ' as Err2 If TryStart(e) Then On Error Resume Next - ... - If TryEnd Then On Error GoTo 0 - If e.num <> 0 Then - If Right( e.Description, 2 ) = "/>" Then - message = Left( e.Description, Len( e.Description ) - 2 ) + _ - " msg2=""’ljÁƒƒbƒZ[ƒWB""/>" - e.OverRaise e.Number, message - Else - e.Raise - End If - End If - - ƒGƒ‰[‚ª”­¶‚µ‚āA‚»‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ª XML Œ`Ž®‚È‚çA‘®«msg2="’ljÁƒƒbƒZ[ƒWB" ‚ð’ljÁ‚µ‚Ü‚·B - - ¨ AppendErrorMessage - - ŠÖ˜A - - - - - - - Clear (Err2) - - - Sub Err2::Clear() - - ƒGƒ‰[‚ðƒNƒŠƒA‚·‚éB - ƒGƒ‰[ˆ—‚ªI‚í‚Á‚½‚±‚Æ‚ðŽ¦‚·‚½‚߁Aƒƒ“ƒo•Ï”‚ðƒŠƒZƒbƒg‚µ‚Ü‚·B - - - num = 0 : Description = "" : RaiseID = 0 - - - (src) - - - ¨ GetErrStr (Err2) - - ŠÖ˜A - ƒGƒ‰[ƒƒbƒZ[ƒW‚ðŽæ“¾‚·‚é - - ¨ CopyAndClear (Err2) - - ƒGƒ‰[‚̏î•ñƒRƒs[‚µ‚ăNƒŠƒA‚·‚é - - - - - - - CopyAndClear (Err2) - - - Sub Err2::CopyAndClear( out_e2 as Err2 ) - - ƒGƒ‰[‚̏î•ñ‚ð out_e2 ‚ɃRƒs[‚µ‚Ä‚©‚ç Err2 ‚̃Gƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒ`ƒFƒbƒN‚·‚éƒeƒXƒg - - ŽQl - “à•”‚Å Err2 ƒIƒuƒWƒFƒNƒg‚ª¶¬‚³‚ê‚āAout_e2 ‚ÉŠi”[‚³‚ê‚Ü‚·B - ƒeƒXƒg - - ¨ T_Err2_Main.vbs # T_Err2_CopyAndClear - - - (src) - - CopyAndClear ‚µ‚½Œã‚ŃGƒ‰[‚ª”­¶‚µ‚½ê‡AƒeƒXƒg‚É‚æ‚éƒGƒ‰[‚Å‚ ‚é‚Æ”»’f‚µ‚āAŽŸ‚̂悤‚ȃƒbƒZ[ƒW‚ª•\Ž¦‚³‚ê‚Ü‚·B - - - '//ƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ð’m‚é‚ɂ́ACopyAndClear ‚·‚é‘O‚É Raise ‚µ‚Ä‚­‚¾‚³‚¢B - - ŽŸ‚̂悤‚É Raise ‚·‚éƒR[ƒh‚ð’ljÁ‚µ‚Ä‚­‚¾‚³‚¢B - - - '//=== Error Handling Test echo vbCRLF+"Next is Error Test" - If TryStart(e) Then On Error Resume Next - Test '// ‚±‚±‚ŃGƒ‰[‚ª”­¶‚·‚é - If TryEnd Then On Error GoTo 0 - e.Raise '// ‚±‚ê‚ð’ljÁ‚·‚é - e.CopyAndClear e2 '//[out] e2 - Assert e2.num <> 0 '// ƒeƒXƒg‚É‚æ‚éƒGƒ‰[‚ª”­¶‚µ‚½êŠ - - e.Raise - - - - - - - EnqueueAndClear (Err2) - - - Sub Err2::EnqueueAndClear() - - ƒGƒ‰[‚̏î•ñ‚ð Err2 ‚Ì“à•”ƒLƒ…[‚É“ü‚ê‚Ä‚©‚ç Err2 ‚̃Gƒ‰[‚ðƒNƒŠƒA‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_Err2_Main.vbs # T_Err2_EnqueueAndClear - - ƒTƒ“ƒvƒ‹ - - - Dim e ' as Err2 - If TryStart(e) Then On Error Resume Next - Err.Raise 1,, "Error1" - If TryEnd Then On Error GoTo 0 - e.EnqueueAndClear - - If not IsEmpty(e) Then s = e.DequeueAll() : If s <> "" Then Raise 1, s - - EnqueueAndClear - - DequeueAll - - - (src) - - - - - - - - DequeueAll (Err2) - - - Function Err2::DequeueAll() as string - - Err2 ‚Ì“à•”ƒLƒ…[‚Ì“à—e‚ð•Ô‚µA“à•”ƒLƒ…[‚ð‹ó‚É‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_Err2_Main.vbs # T_Err2_EnqueueAndClear - - ƒGƒ‰[‚ªƒLƒ…[‚É“ü‚Á‚Ä‚¢‚È‚¢‚Æ‚«‚́A"" ‚ð•Ô‚µ‚Ü‚·B - ŽQl - - ¨ EnqueueAndClear (Err2) - - - (src) - - - - <ERROR msg="Error1"/><ERROR msg="Error2"/> - - XML ‘Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ðŽæ“¾‚µ‚½‚¢‚Æ‚«‚́Aƒ‹[ƒg—v‘fiƒ^ƒOj‚ð’ljÁ‚·‚é•K—v‚ª‚ ‚é‚©ŒŸ“¢‚µ‚Ä‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹•Ô‚è’l - - - - - - - ErrID (Err2) - - - Dim Err2::ErrID as integer - - ƒGƒ‰[‚Ì’Ê‚µ”ԍ†B - ƒGƒ‰[‚ª”­¶‚µ‚ď‰‚ß‚Ä‚Ì TryEnd ‚ð’Ê‚Á‚½‚Æ‚« +1 ‚³‚ê‚Ü‚·BErr2::Clear ‚µ‚½Œã‚ŁAŽŸ‚̃Gƒ‰[‚ª”­¶‚·‚é‚Æ +1 ‚³‚ê‚Ü‚·B - - ¨ Err2::BreakErrID - - ŠÖ˜A - - - - - - - RaiseID (Err2) - - - Dim Err2::RaiseID as integer - - ƒGƒ‰[‚Ì’Ê‚µ”ԍ†B - ƒGƒ‰[‚ª”­¶‚µ‚Ä TryEnd ‚ð’ʂ邽‚Ñ‚É +1 ‚³‚ê‚Ü‚·BErr2::Clear ‚Å 0 ‚É–ß‚è‚Ü‚·B - - - - - - - BreakErrID (Err2) - - - Dim Err2::BreakErrID as integer - - ƒfƒoƒbƒK‚ŃuƒŒ[ƒN‚·‚éƒGƒ‰[‚Ì’Ê‚µ”ԍ†B - ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì‘O‚É g_debug ‚ðÝ’è‚·‚é‚悤‚É•\Ž¦‚³‚ê‚Ü‚·B ‚±‚̃ƒbƒZ[ƒW‚ɏ]‚Á‚āAƒfƒoƒbƒK‚ð‹N“®‚·‚é‚ƁAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚µ‚Ü‚·B - - - ‰º‹L‚̃tƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¢‚ÄŽŸ‚̂悤‚ɕϐ”‚Ì’l‚ðC³‚·‚é‚ƁAƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä–â‘肪‚ ‚éêŠ‚Å’âŽ~‚µ‚Ü‚·B - "T_Err2_Clear.vbs" - ------------------------------------------------------------------ - g_debug = 2 - ------------------------------------------------------------------ - <ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/> - - - ¨ Err2::ErrID - - Visual Studio 2008 ˆÈ~‚ł́AƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚©‚çƒXƒeƒbƒvŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - - '--- start of parameters for vbslib include ------------------- g_debug = 1.5 - - ƒGƒ‰[‚ª”­¶‚µ‚½‚ç Err2::ErrID ‚ª{‚P‚³‚ê‚Ü‚·‚ªAErr2::ErrID = Err2::BreakErrID ‚É‚È‚Á‚½‚çAƒGƒ‰[‚É‚æ‚Á‚ăfƒoƒbƒK‚ŃuƒŒ[ƒN‚µ‚Ü‚·B ŽŸ‚É Err2:ErrID ‚ª{‚P‚³‚ê‚é‚̂́A - Err2::Clear ‚µ‚½Œã‚ɃGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚Å‚·B ‚»‚ê‚Ü‚Å‚Ì Err.Raise ‚ł́AErr2:ErrID - ‚Å‚Í‚È‚­AErr2:RaiseID ‚ª{‚P‚³‚ê‚Ü‚·B - ‚½‚¾‚µATryStart ` TryEnd ‚ÌŠÔ‚Å‚Í‚È‚¢‚Æ‚«iOn Error Next Resume ‚ðŽÀs‚µ‚Ä‚¢‚È‚¢‚Æ‚«j‚ɃGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚́AErr2::BreakErrID ‚Ì’l‚É‚©‚©‚í‚炸AƒGƒ‰[‚ª”­¶‚µ‚½‚ç - •K‚¸ƒGƒ‰[ƒuƒŒ[ƒN‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹F - - ¨ Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - ŽQl - ŠÖ˜A - g_Err2.BreakErrID ‚ð 1.5 ‚Æ‚·‚é‚ƁAErr2::ErrID ‚ª 1 ‚Ì‚Æ‚«‚̃Gƒ‰[‚ðƒLƒƒƒbƒ`‚·‚éTryEnd ‚Ü‚½‚Í Trying ‚ŃuƒŒ[ƒN‚µ‚Ü‚·B - - ¨ ˆ—ƒtƒ[ (Err2) - - ’ʏíAvbslib.vbs ‚ðƒCƒ“ƒNƒ‹[ƒh‚µ‚½‚çAg_Err2::BreakErrID ‚ɐݒ肳‚ê‚Ü‚·B - - Pass (vbslib) - - ‚́AƒGƒ‰[‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA“à•”‚Å Err.Raise ‚ðŒÄ‚яo‚µ‚Ä‚¢‚邽‚߁A - Err2:ErrID ‚ª{‚P‚³‚ê‚Ü‚·B - ‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B - - g_debug - - g_debug ‚ª¬‚³‚·‚¬‚é‚ƁAŒã‚Å•œ‹A‚·‚邽‚ß‚É–â‘è‚Ì–³‚¢ƒGƒ‰[‚ŃuƒŒ[ƒN‚µ‚Ü‚·B‚Ü‚½AƒuƒŒ[ƒN‚µ‚½‚Æ‚«‚̓Gƒ‰[•œ‹A‚ªs‚í‚ê‚È‚­‚È‚è‚Ü‚·B - ‚Æ‚è‚ ‚¦‚¸ƒfƒoƒbƒK‚ɐڑ±‚µ‚½‚¢‚Æ‚«‚́A\•ª‚É‘å‚«‚¢’l‚ðÝ’è‚·‚é‚©A0 ‚ɐݒ肵‚ăGƒ‰[ƒƒbƒZ[ƒW‚©‚ç•K—v‚È’l‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - ƒGƒ‰[ƒR[ƒh - - - Dim E_Others : E_Others = 1 - Dim E_TestPass : E_TestPass = 21 - Dim E_TestSkip : E_TestSkip = 22 - Dim E_TestFail : E_TestFail = 23 - - Dim E_BuildFail : E_BuildFail = &h80041004 - Dim E_OutOfWritable : E_OutOfWritable = &h80041005 - Dim E_NotFoundSymbol : E_NotFoundSymbol = &h80041006 - Dim E_ProgRetNotZero : E_ProgRetNotZero = &h80041007 - Dim E_Unexpected : E_Unexpected = &h80041008 - Dim E_TimeOut : E_TimeOut = &h80041009 - - Dim E_WIN32_FILE_NOT_FOUND: E_WIN32_FILE_NOT_FOUND = &h80070002 - Dim E_WIN32_DIRECTORY : E_WIN32_DIRECTORY = &h8007010B - - Dim E_ProgTerminated : E_ProgTerminated = &hC0000005 - - Dim E_BadType : E_BadType = 13 - Dim E_FileNotExist : E_FileNotExist = 53 - Dim E_EndOfFile : E_EndOfFile = 62 - Dim E_WriteAccessDenied : E_WriteAccessDenied = 70 - Dim E_ReadAccessDenied : E_ReadAccessDenied = 70 - Dim E_PathNotFound : E_PathNotFound = 76 - Dim E_AlreadyExist : E_AlreadyExist = 58 - - - (src) - - ŠÖ˜A - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW (VBS) - - - ¨ Windows ƒGƒ‰[ƒR[ƒh - - - - - - - - [E_NotClear] ƒGƒ‰[ˆ—‚Ì“r’†‚ŏI—¹‚µ‚Ü‚µ‚½BErr2.Clear ‚Ü‚½‚ÍÄ Raise ‚µ‚Ä‚­‚¾‚³‚¢ - - Err2::Clear - - ‚ªŒÄ‚΂ê‚È‚¢‚ŁAƒXƒNƒŠƒvƒg‚ªI—¹‚µ‚Ü‚µ‚½B - - Err2::Raise - - ‚Ü‚½‚Í - - TryStart - - ` TryEnd ‚ŃGƒ‰[ˆ—‚·‚é‚Æ‚«‚̍Ōã‚É•K—v‚È - - Err2::BreakErrID - - ‚ðÝ’肵‚āAƒGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚µ‚āAƒR[ƒ‹ƒXƒ^ƒbƒN‚ðŽQÆ - ‚µ‚āATryStart ` TryEnd ‚̃Gƒ‰[ˆ—‚ɁAErr2::Clear ‚Ü‚½‚Í Err2::Raise ‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - - - <ERROR msg="Script finished before Err2.Clear or Raise the error"jp="ƒGƒ‰[ˆ—‚Ì“r’†‚ŏI—¹‚µ‚Ü‚µ‚½BErr2.Clear ‚Ü‚½‚ÍÄ Raise ‚µ‚Ä‚­‚¾‚³‚¢" - err_symbol="E_NotClear" /> - - ƒGƒ‰[ƒƒbƒZ[ƒWF - ˆ—ƒtƒ[ - VBScript global code (ƒƒCƒ“vbs ‚Ì vbslib include) - ResumePop - CallFinalizeInModules - (= g_FinalizeModules(i)) - FinalizeModule (vbslib.vbs) - Err2.OnSuccessFinish - echo GetErrStr( num, Description ) - 0 - - - - - - - ƒGƒ‰[ƒƒbƒZ[ƒW‚ÌXML‘Ž® - - - <ERROR msg="Out of Diff"src= - "C:\folder\file1.txt" - dst= - "C:\folder" - /> - - <ERROR - ƒƒO‚ðŒŸõ‚·‚鎞‚́A"<ERROR " ‚ÅŒŸõ‚·‚é‚ƁA‚·‚®‚ÉŒ©‚‚©‚è‚Ü‚·BƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚́A"<WARNING " ‚ÅŒŸõ‚·‚é‚Æ–â‘è‚ð‰ðŒˆ‚·‚éƒqƒ“ƒg - ‚ª“¾‚ç‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB - msg - Ž©‘RŒ¾Œê‚̃Gƒ‰[ƒƒbƒZ[ƒW - src, dst ‚È‚Ç - ’l‚ªƒpƒX‚Ì‚Æ‚«‚́Aƒ^ƒOƒWƒƒƒ“ƒv‚ª‚Å‚«‚é‚悤‚ɐV‚µ‚¢s‚©‚ç’l‚ð‘‚­B - - ¨ GetErrStr - - ŠÖ˜A - XML ‚ðŽg‚Á‚āAƒGƒ‰[î•ñ‚ð\‘¢‰»‚µ‚Ü‚·B‚à‚µƒGƒ‰[î•ñ‚̈ꕔ‚ðŽæ“¾‚µ‚½‚¢‚Æ‚«‚́AƒGƒ‰[ƒƒbƒZ[ƒWiErr2.Descriptionj ‚ð - - LoadXML - - ‚É“n‚µ‚Ä‚­‚¾‚³‚¢B ŽQl - - ¨ Err2 ƒIƒuƒWƒFƒNƒg - - - - <ERROR msg="ƒVƒ“ƒ{ƒ‹‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ" path="SymbolA"/> - - - - <WARNING msg="ƒAƒbƒvƒf[ƒg‚̃`ƒFƒbƒN‚̓XƒLƒbƒv‚µ‚Ü‚µ‚½B"/> - - - - - - - - Error - - - Sub Error() - - ŠÈˆÕ“I‚É‚»‚Ì‘¼‚̃Gƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - ƒR[ƒfƒBƒ“ƒO‚ªÅ‚àŠy‚ȃGƒ‰[”­¶‚Å‚·B ‚»‚Ì‘ã‚í‚èAƒGƒ‰[‚Ì“à—e‚̓†[ƒU‚É - “`‚í‚è‚Ü‚¹‚ñB cscript.exe ‚̃Gƒ‰[ƒŒƒxƒ‹‚Í 1 ‚É‚È‚è‚Ü‚·B - ƒGƒ‰[’l‚ð•Ô‚· API ‚⃉ƒCƒuƒ‰ƒŠ‚́A­‚È‚­‚Æ‚àA³í‚ɏˆ—‚³‚ꂽ‚±‚Æ‚ðŽ¦‚·’l‚Å‚È‚©‚Á‚½‚çA–{ŠÖ”‚ðŒÄ‚яo‚µ‚āA‹Ù‹}’âŽ~‚³‚¹‚Ü‚·B - - ‘z’èÏ‚݂̃Gƒ‰[‚Å‚ ‚ê‚΁Aƒ†[ƒU‚ªƒGƒ‰[‚ɑΉž‚Å‚«‚é‚悤‚ɁARaise ‚È‚Ç‚ð - Žg‚Á‚ăGƒ‰[ˆ—‚ðŽÀ‘•‚µ‚Ä‚­‚¾‚³‚¢B - ‘z’èŠO‚̃Gƒ‰[‚âŠJ”­ŽÒ‚ª”­¶‚³‚¹‚½‚±‚Æ‚ª‚È‚¢ƒGƒ‰[‚́A–{ŠÖ”‚ðŒÄ‚яo‚µ‚āA - ‹Ù‹}’âŽ~‚³‚¹‚Ü‚·B - - (src) - - ŠÖ˜A - - ¨ Raise - - ƒGƒ‰[‚𔭐¶‚³‚¹‚éB - - - - - - - OrError - - - Sub OrError() - - - - Stop:OrError - - ƒTƒ“ƒvƒ‹ - ŽqƒvƒƒZƒX‚Å‚ ‚Á‚Ä‚àA‚»‚̃R[ƒh‚ðŽÀs‚µ‚½‚Æ‚±‚ë‚ŃuƒŒ[ƒN‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B - - (src) - - ’ʏíAã‹L‚̂悤‚É Stop –½—ß‚Æ“¯Žž‚ÉŽg—p‚µ‚Ü‚·B - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - g_debug = 0 ‚̏ó‘Ԃŏã‹L‚̃R[ƒh‚ðŽÀs‚µ‚½‚Æ‚«‚́AOnError ŠÖ”‚Ì’†‚ŃGƒ‰[‚ª”­¶‚µ‚Ü‚·B‚±‚̃Gƒ‰[‚É‚æ‚èA‚±‚̃R[ƒh‚ŃuƒŒ[ƒN‚·‚邽‚ß‚É•K—v‚Ȑݒ肪AƒGƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚³‚ê - ‚Ü‚·B - ŽQl - ƒuƒŒ[ƒN‚·‚邽‚ß‚É•K—v‚Ȑݒè‚ðs‚Á‚āAƒXƒNƒŠƒvƒg‚ðÄ‹N“®‚·‚é‚ƁAStop –½—ß‚É‚æ‚Á‚ăuƒŒ[ƒN‚µ‚Ü‚·B ‘±‚¢‚ÄŽÀs‚³‚ê‚é OnError ŠÖ”‚Ì’†‚ł͉½‚à‚µ‚È‚¢‚̂ŁA‘±‚«‚ðƒXƒeƒbƒvŽÀs‚Å‚«‚Ü‚·B - - - - - - - Raise - - - Sub Raise( ErrorNum as integer, Description as string ) - - V‹K‚ɃGƒ‰[‚𔭐¶‚³‚¹‚Ü‚·B - - - Raise 1, "ƒtƒ@ƒCƒ‹‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ c:\a.txt" - - yˆø”z - ErrorNum - Description - - ƒGƒ‰[ƒR[ƒh - - - ¨ ƒGƒ‰[‚𔭐¶‚³‚¹‚é(VBS) - - ŽQl - ƒGƒ‰[ƒƒbƒZ[ƒW - - (src) - - - ¨ Error - - ŠÖ˜A - - ¨ GetErrStr - - - ¨ Assert - - ŠÈ’P‚ÉŽÀ‘•‚Å‚«‚éƒGƒ‰[”­¶ - •W€Œ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ð•Ô‚·B - ðŒ‚ª–ž‚½‚³‚ê‚Ä‚¢‚é‚©‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B - - ¨ Œx‚µ‚ďI—¹‚·‚é‚É‚Í - - ƒTƒ“ƒvƒ‹ - - - - - - - Warning - - - Sub Warning( Description as string ) - - Œx‚ð•\Ž¦‚µ‚ăvƒƒZƒX‚ðI—¹‚µ‚Ü‚·B - - (src) - - yˆø”z - Description - ŒxƒƒbƒZ[ƒW - ƒGƒ‰[ƒR[ƒh E_TestPass(=21) ‚̃Gƒ‰[‚ª”­¶‚µ‚Ü‚·B - - - Warning "ƒAƒbƒvƒf[ƒg‚̃`ƒFƒbƒN‚̓XƒLƒbƒv‚µ‚Ü‚µ‚½B" - - ƒTƒ“ƒvƒ‹ - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚ÌXML‘Ž® - - - - <WARNING msg="ƒAƒbƒvƒf[ƒg‚̃`ƒFƒbƒN‚̓XƒLƒbƒv‚µ‚Ü‚µ‚½B"/> - - - ¨ T_Warning ƒtƒHƒ‹ƒ_[ - - ƒeƒXƒg - •\Ž¦“à—eF - ƒXƒNƒŠƒvƒgF - - - - - - - GetErrStr - - - Function GetErrStr( e_num as integer, e_desc as string ) as string - - •W€Œ`Ž®‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ð•Ô‚·B - yˆø”z - e_num - e_desc - ƒGƒ‰[ƒR[ƒh - ƒGƒ‰[ƒƒbƒZ[ƒW - - (src) - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW•¶Žš—ñ‚Ì•W€‘Ž®(XML”Å) - - ƒTƒ“ƒvƒ‹F - ŠÖ˜A - - - Dim e ' as Err2 echo_v GetErrStr( e.num, e.desc ) - - - ¨ GetErrStr (Err2) - - ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—áF - - - <ERROR err_number='500' err_description='‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB'/> - - - - - - - - AppendErrorMessage - - - Dim e ' as Err2 If TryStart(e) Then On Error Resume Next - ... - If TryEnd Then On Error GoTo 0 - If e.num <> 0 Then - e.OverRaise e.Number, AppendErrorMessage( e.Description, _ - " msg2=""’ljÁƒƒbƒZ[ƒWB""" ) - End If - - - - Function AppendErrorMessage( in_OldMessage as string, in_Appending_XML_Attributes as string ) as string - - AppendErrorMessage - ƒTƒ“ƒvƒ‹ - ƒ\[ƒX - ƒGƒ‰[‚ª”­¶‚µ‚āA‚»‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ª XML Œ`Ž®‚È‚çA‘®«msg2="’ljÁƒƒbƒZ[ƒWB" ‚ð’ljÁ‚µ‚Ü‚·B - ƒGƒ‰[ƒƒbƒZ[ƒW‚ð’ljÁ‚µ‚Ü‚·B - yˆø”z - in_OldMessage - in_Appending_XML_Attributes - ¡‚܂ł̃Gƒ‰[ƒƒbƒZ[ƒW - ’ljÁ‚·‚éƒGƒ‰[ƒƒbƒZ[ƒWAXML ‘®«‚ÌŒ`Ž® - •Ô‚è’l - V‚µ‚¢ƒGƒ‰[ƒƒbƒZ[ƒW - - ¨ vbs_inc_sub.vbs - - - - - - - - TryStart - - - Function TryStart( e as Err2 ) as boolean - - Try ƒuƒƒbƒN‚ÌŠJŽn‚É‹Lq‚µ‚Ü‚·BOn Error Resume Next ‚ðŒÄ‚яo‚·‚ׂ«‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - (src) - - - ¨ Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - ŽQl - "ƒGƒ‰[‚ª”­¶‚µ‚Ä‚¢‚é‚Æ‚«‚É TryStart ‚͌Ăׂ܂¹‚ñB" ƒGƒ‰[‚ɂ‚¢‚Ä - ‚Ù‚Æ‚ñ‚ǂ̏ꍇA‚P‚–ڂ̃Gƒ‰[‚ð‘Ώˆ‚·‚邱‚ƂŁA‚Q‚–ڂ̃Gƒ‰[‚Í”­¶‚µ‚È‚­‚Ȃ邽‚߁A‚Q‚–ڂ̃Gƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚ɁA‚P‚–ڂ̃Gƒ‰[‚̏î•ñ‚ªã‘‚«‚³‚ê‚ďÁ‚¦‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª - ‚È‚¢‚悤‚É‚·‚邱‚Æ‚ªd—v‚Å‚·B - ƒGƒ‰[‚ª”­¶(1) - TryStart - TryEnd - - - - - - ƒGƒ‰[‚ª”­¶(2) - © ‚±‚̃Gƒ‰[‚ª‘O‚̃Gƒ‰[‚̏î•ñ‚ðÁ‚µ‚Ä‚µ‚Ü‚¤ - ˆ— - TryEnd - TryStart - © - ƒGƒ‰[‚É‚µ‚Ä‚¢‚闝—R - ‘Ώˆ•û–@ - ƒGƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚³‚ê‚Ä‚¢‚é‚悤‚ɁAg_debug •Ï”‚È‚Ç‚Ì’l‚ðÝ’肵AƒGƒ‰[‚ª”­¶‚µ‚Ä‚¢‚éêŠA‚‚܂èATryStart ‚Ì’†‚Ì Stop –½—߂ŃuƒŒ[ƒN‚³‚¹‚Ü‚·B - 1. - Err.Number ‚ª 0 ˆÈŠO‚È‚çAErr.Description ‚Ì’l‚ðAe.num ‚ª 0 ˆÈŠO‚È‚ç e.desc ‚ÌErr2::desc ‚Ì’l‚ð•\Ž¦‚³‚¹‚āA‚P‚‘O‚̃Gƒ‰[‚Ì“à—e‚ðŠm”F‚µ‚Ü‚·B - 2. - ‚È‚¨A‘½‚­‚̏ꍇATryStart ‚ðŽg‚í‚È‚¢ On Error Resume Next ‚É‚æ‚Á‚āA‚»‚±‚Å”­¶‚µ‚½ƒGƒ‰[‚ŃuƒŒ[ƒN‚·‚邱‚Æ‚ª‚Å‚«‚È‚­‚È‚Á‚Ä‚¢‚Ü‚·B - ƒR[ƒ‹ƒXƒ^ƒbƒN‚ðã‚É‚½‚Ç‚Á‚Ä‚¢‚«AOn Error Resume Next ‚ª–³‚¢‚©’T‚µ‚Ü‚·B ‚ ‚Á‚½‚çA‚¨‚»‚ç‚­A‚»‚±‚Å‚P‚‘O‚̃Gƒ‰[‚ª”­¶‚µ‚Ä‚¢‚é‚̂ŁA‚»‚̃Gƒ‰[‚𔭐¶ - ‚³‚¹‚È‚­‚·‚é‚©AƒNƒŠƒA‚·‚邱‚ƂőΏˆ‚µ‚Ä‚­‚¾‚³‚¢B - 3. - VBScript ‚Ì•s‹ï‡‚ɑ΂·‚é‘Ώˆ - Class_Initialize ‚© Class_Terminate ‚Å”­¶‚µ‚½ƒGƒ‰[‚́AVBScript ‚Í“Š‚°‚ç‚ê‚Ü‚¹‚ñiƒGƒ‰[‚É‚æ‚é’†’f‚ð‚µ‚Ü‚¹‚ñjB - - ErrCheck - - ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B - - ErrorCheckInTerminate - - ‚Ü‚½‚Í - ‚µ‚Ä‚¢‚È‚¢ - - Err2::Clear - - i‚à‚µA - ƒIƒvƒVƒ‡ƒ“‚ðŽg‚Á‚Ä‚¢‚½‚çAŽg‚í‚È‚¢‚Å“®‚©‚µ‚Ä‚­‚¾‚³‚¢B ƒGƒ‰[‚Ìó‹µ - ‚ƁA/g_debug ‚̐ݒ肪‡‚Á‚Ä‚¢‚È‚¢‚ƁAŒë‚Á‚Ä TryStart ‚̃Gƒ‰[‚ɂȂ邱‚Æ‚ª‚ ‚è‚Ü‚·B) - - /g_debug - - - - - - - - TryEnd - - - Function TryEnd() as boolean - - Try ƒuƒƒbƒN‚̏I—¹‚É‹Lq‚µ‚Ü‚·BOn Error GoTo 0 ‚ðŒÄ‚яo‚·‚ׂ«‚©‚Ç‚¤‚©‚𔻒肵‚Ü‚·B - - ¨ Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - ŽQl - - (src) - - - - - - - - Trying - - - Function Trying() as boolean - - Try ƒuƒƒbƒN‚Ì’†‚Å‹Lq‚µ‚Ü‚·BƒGƒ‰[‚ª”­¶‚µ‚Ä‚¢‚½‚ç False ‚ð•Ô‚µ‚Ü‚·B - - ¨ Err2 ‚̃R[ƒfƒBƒ“ƒO—á (TryStart, TryEnd) - - ŽQl - - (src) - - - - - - - - ErrCheck - - (src) - - - - Sub ErrCheck() - - ‚±‚ê‚܂ł̏ˆ—‚ŁAƒGƒ‰[‚ª‚ ‚Á‚½‚©‚Ç‚¤‚©‚ðƒ`ƒFƒbƒN‚µ‚āAƒGƒ‰[‚ª‚ ‚Á‚½‚ç”­¶‚³‚¹‚Ü‚·B - ƒNƒ‰ƒX‚Ì Class_Initialize ƒƒ\ƒbƒh‚Ì’†‚ŃGƒ‰[‚ª”­¶‚µ‚Ä‚àAVBScript ‚́A‘±‚«‚ðŽÀs‚µ‚Ä‚µ‚Ü‚¢AƒGƒ‰[‚ðŒ©‚Â‚¯‚é‚Ì‚ª¢“ï‚É‚È‚è‚Ü‚·B new ‚ŃIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚½‚çA–{ŠÖ”‚ðŒÄ‚яo‚µ‚Ä - ‚­‚¾‚³‚¢B - ƒTƒ“ƒvƒ‹F - - - Set obj = new ClassA : ErrCheck - - - ¨ ƒeƒXƒg [T_ErrOnNew] ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Å”­¶‚µ‚½ƒGƒ‰[‚ðŒŸo - - ƒL[ƒ[ƒhF - new ‚Ì’ˆÓ“_ - ƒeƒXƒg - ŠÖ˜A - - ¨ ErrorCheckInTerminate - - - - - - - - ErrorCheckInTerminate - - - Sub ErrorCheckInTerminate( ErrNumAtStart as integer ) - - ƒNƒ‰ƒX‚Ì Class_Terminate ‚Ì’†‚Å”­¶‚µ‚½ƒGƒ‰[‚ð•\Ž¦‚µ‚Ü‚·B - ƒGƒ‰[‚ª”­¶‚µ‚Ä‚¢‚½‚çAErr ƒIƒuƒWƒFƒNƒg‚Ì“à—e‚ð echo o—Í‚µ‚Ä Stop ‚Ü‚½‚Í pause ‚µ‚Ü‚·BƒGƒ‰[‚ª”­¶‚µ‚Ä‚¢‚È‚©‚Á‚½‚çiErr.Number = 0 ‚È‚çjA‰½‚à‚µ‚Ü‚¹‚ñB - Class_Terminate ‚Ì’†‚ŃGƒ‰[‚𔭐¶‚³‚¹‚邱‚Æ‚Í‚Å‚«‚È‚¢‚̂ŁAErrorCheckInTerminate‚à - ƒGƒ‰[‚𔭐¶‚³‚¹‚Ü‚¹‚ñB - - ¨ Class_Terminate ‚Ì’†‚̃Gƒ‰[ - - - - Private Sub Class_Terminate() Dim en,ed : en = Err.Number : ed = Err.Description - On Error Resume Next '// This clears error - - If en=0 or en=21 Then - Else - del Me.TmpDstPath - End If - - ErrorCheckInTerminate en - On Error GoTo 0 : If en <> 0 Then Err.Raise en,,ed '// This sets en again - End Sub - - ƒTƒ“ƒvƒ‹F - - (src) - - ŽQl - yˆø”z - ErrNumAtStart - Class_Terminate ‚É“ü‚Á‚½’¼Œã‚̃Gƒ‰[ƒR[ƒh - ErrorCheckInTerminate - - ¨ T_Finish.vbs # ErrorCheckInTerminate - - ƒeƒXƒg - - - On Error Resume Next '// This clears errorIf g_count_up(0)=0 Then Stop - echo "g_count(0)=" & g_count(0) '// watch-> g_count [TODO] - If g_count(0) = 99 Then On Error GoTo 0 - - ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚ɑΏˆ–@ - Class_Terminate ‚Ì’†‚Å”­¶‚µ‚½ƒGƒ‰[‚ŃuƒŒ[ƒN‚³‚¹‚é•û–@‚ðà–¾‚µ‚Ü‚·BOn Error Resume Next ‚ÌŒã‚ɁA‰º‹L‚̃R[ƒh‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - ˆê“xŽÀs‚µ‚½‚çAÅŒã‚̍s‚Ì 99 ‚ð g_count(0) ‚Ì’l‚ɕύX‚µ‚čēxŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - 0 - 0 - 0 - 0 - 99 - - ¨ g_count, g_count_up - - ŽQl - ‚È‚é‚ׂ­AClass_Terminate ‚Ì’†‚ł́A•¡ŽG‚ȏˆ—‚ð‚µ‚È‚¢‚ŁAƒGƒ‰[‚ª”­¶‚µ‚½‚±‚Æ‚ðŽ¦‚·ƒtƒ‰ƒO‚𗧂ĂāAŒã‚ŏˆ—‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - NotCallFinish - - - Sub NotCallFinish() - - Finish ‚ªŒÄ‚΂ê‚È‚¢‚ŁAƒNƒ‰ƒX‚Ì Class_Terminate ‚ªŒÄ‚΂ꂽ‚Æ‚«‚ɃGƒ‰[•\Ž¦‚µ‚Ü‚·B - ŠÖ˜A - - ¨ Class_Terminate ‚Ì’†‚̃Gƒ‰[ - - - - Private Sub Class_Terminate() If en = 0 and not Me.IsFinished Then NotCallFinish - End Sub - - ƒTƒ“ƒvƒ‹F - - (src) - - - - - - - - FinObj ƒNƒ‰ƒX (FinallyƒuƒƒbƒN) - FinObj ƒNƒ‰ƒX‚ðŽg‚¤‚ƁAFinally ƒuƒƒbƒN‚ÉŽ—‚½‹Lq‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·BFinObj ‚̃fƒXƒgƒ‰ƒNƒ^[‚©‚çAFinally ƒuƒƒbƒN‚É‘Š“–‚·‚éŠÖ”‚ðŒÄ‚яo‚µ‚Ü‚·B - ƒGƒ‰[‚ª”­¶‚µ‚Ä‚àA‘±‚«‚ðŽÀs‚µ‚½‚èAƒLƒƒƒbƒ`‚µ‚½‚肵‚Ü‚¹‚ñ‚ªAFinally ƒuƒƒbƒN‚ÍŽÀs‚µ‚Ü‚·BVBA ‚Ì On ErroroGoto (Label) ‚É‘Š“–‚·‚é‹@”\‚Å‚·B WSH ‚Ì VBScript ‚Å‚Í Goto ‚Í 0 ‚µ‚©‚Å‚«‚Ü‚¹‚ñB - - - Sub FuncA( Path ) Set fin = new FinObj : fin.SetFunc "FuncA_Finally" - - ren Path, "a.txt" : fin.SetVar "Path", Path '// –ß‚·‚Æ‚«‚̃f[ƒ^‚ð‹L˜^ - : - fin.SetVar "Path", Empty '// ³íŽž‚Í–ß‚³‚È‚¢‚È‚çƒf[ƒ^‚ðíœ - End Sub - Sub FuncA_Finally( Vars ) '// Finally ƒuƒƒbƒN‚É‘Š“– - en = Err.Number : ed = Err.Description : On Error Resume Next '// This clears error - - path = Vars.Item("Path") '// –ß‚·ƒf[ƒ^‚ðŽæ“¾ - If not IsEmpty( path ) Then - ren "a.txt", path '// –ß‚·ˆ— - End If - - ErrorCheckInTerminate en : On Error GoTo 0 : If en <> 0 Then Err.Raise en,,ed '// This sets en again - End Sub - - FuncA_Finally - Path - FuncA_Finally - Path - ren Path, "a.txt" - ren "a.txt", path - ‹Lq—áF ŠÖ”‚̏ꍇ - ŠÖ˜A - - ¨ Class_Terminate iƒfƒXƒgƒ‰ƒNƒ^j - - - (src) - - - - ƒ[ƒJƒ‹•Ï”‚̃fƒXƒgƒ‰ƒNƒ^‚ª“®‚­‡”ԂɈˑ¶‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B - - - Sub FuncA( Path ) Dim fin : Set fin = new FinObj : fin.SetFunc "FuncA_Finally" - Dim ds_:Set ds_= New CurDirStack - fin.SetVar "CurDir", g_fs.CurrentDirectory - : - End Sub : Sub FuncA_Finally( Vars ) - del Vars.Item("CurDir") + "\_temporary_folder" - End Sub - - ‚½‚Æ‚¦‚΁A‰º‹L‚̂悤‚ɁAƒfƒXƒgƒ‰ƒNƒ^‚ŃJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_‚ª•Ï‚í‚é‚Æ‚«AFuncA_Finally ‚ªŒÄ‚΂ê‚éƒ^ƒCƒ~ƒ“ƒO‚ªAƒJƒŒƒ“ƒgEƒtƒHƒ‹ƒ_‚ª•Ï‚í‚é‘O‚©Œã‚©‚Ç‚¤‚©•s’è‚Ȃ̂ŁAFinally - ƒuƒƒbƒN‚Å‘Š‘΃pƒX‚ðŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB - - - Class ClassAPublic Sub FuncA( Path ) - Set fin = new FinObj : fin.SetFunc "FuncA_Finally" - : - End Sub : Public Sub FuncA_Finally( Vars ) '// Finally ƒuƒƒbƒN‚É‘Š“– - : - End Sub - End Class - - Sub ClassA_FuncA_Finally( Vars ) : Vars.Item("Me").FuncA_Finally( Vars ) : End Sub - - ‹Lq—áF ƒƒ\ƒbƒh‚̏ꍇ - - ¨ ErrorCheckInTerminate - - ŠÖ˜A - - ¨ ƒGƒ‰[ˆ—, On Error - - - - - - - - ˆ—ƒtƒ[ (Err2) - - ¨ ƒGƒ‰[‚ª Err2.Clear ‚Ü‚½‚ÍÄ Raise ‚³‚ê‚È‚¢‚ŏI—¹‚µ‚½‚Æ‚«‚̏ˆ—ƒtƒ[ - - ƒGƒ‰[‚ª”­¶‚µ‚ďI—¹‚·‚é‚Æ‚« - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚ďI—¹‚·‚é‚Æ‚« - - ³íI—¹‚·‚é‚Æ‚« - - ¨ ³íI—¹‚·‚é‚Æ‚« - - - VBScript global code - - ResumePop - CallFinalizeInModules - : - Err.Raise - g_FinalizeInModulesCaller.Class_Terminate - CallFinalizeInModules - 1 - (= g_FinalizeModules(i)) - FinalizeModule (vbslib.vbs) - 0 - (= g_FinalizeModules(i)) - FinalizeModule (vbslib.vbs) - On Error Goto 0 ‚µ‚Ä‚¢‚È‚¢‚Æ‚«‚Í 1 - (ƒƒCƒ“vbs ‚Ì vbslib include) - (ƒƒCƒ“vbs ‚Ì vbslib include) - - VBScript global code - - - ¨ ˆ—ƒtƒ[ ivbs_inc/settingj - - ŠÖ˜A - WScript.Echo Err.Description - If g_CommandPrompt = 1 Then WScript.Sleep 2000 - - - - - - - ¢‚Á‚½‚Æ‚«‚́H iƒfƒoƒbƒOj - - ¨ ƒfƒoƒbƒO‚ðŠJŽn‚·‚é - - ƒGƒ‰[ƒƒbƒZ[ƒW‚ðŒ©‚Ä‚à•ª‚©‚ç‚È‚¢‚Æ‚«‚́AƒXƒNƒŠƒvƒg‚ÌŠJ”­ŽÒ‚ÉŽ¿–₵‚Ä‚­‚¾‚³‚¢B‚ ‚È‚½‚ªŠJ”­ŽÒ‚Å‚ ‚é‚Æ‚«‚́AƒfƒoƒbƒOƒ‚[ƒh‚Å“®‚©‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B - - ƒ\ƒtƒgƒEƒFƒAƒfƒUƒCƒ“ŠÙ Sage Plaisir 21 http://www.sage-p.com/ - - ƒTƒ|[ƒg - - ¨ vbslib2 ‚©‚ç vbslib3 ‚ֈڐA‚·‚é‚É‚Í - - - ¨ ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì•W€‘Ž® - - ƒz[ƒ€ƒy[ƒW‚É‚ ‚éƒTƒ|[ƒgŒfŽ¦”‚©ƒ[ƒ‹ƒAƒhƒŒƒX‚Ö - - ¨ ƒGƒ‰[ƒR[ƒh - - - ¨ ’·‚¢•¶Žš‚ð“ü—Í‚·‚é‚Æ‚«‚Ì’ˆÓ - - - ¨ g_count, g_count_up - - c ƒXƒ‹[ƒJƒEƒ“ƒ^ - - ¨ ðŒƒuƒŒ[ƒN - - - ¨ ƒtƒ@ƒCƒ‹o—Í‚ðŠJŽn‚·‚éƒ^ƒCƒ~ƒ“ƒO‚ŃuƒŒ[ƒN‚·‚é - - - ¨ SetupDebugTools - - - ¨ ƒEƒHƒbƒ` (WS, WD, WX) - - c ƒfƒoƒbƒO‹@”\‚̐ݒèêŠ - - ¨ g_debug_params - - c ‹N“®Žž‚̃pƒ‰ƒ[ƒ^[‚ðŽw’è‚·‚é - - ¨ «”\Œv‘ª - - - ¨ g_debug_var - - - - - - - - - - - g_debug - ƒfƒoƒbƒO‚ðŠJŽn‚·‚é (vbslib) - debugger.bat - Test.vbs ƒtƒ@ƒCƒ‹‚ðƒfƒoƒbƒK‚ɃAƒ^ƒbƒ`‚µ‚Ü‚· - - - @wscript //x Test.vbs@pause - - - g_debug - - ƒ‚ƒWƒ…[ƒ‹‚̈ꕔ‚ª“®‚«‚Ü‚·‚ªA - ‚»‚±‚ðƒfƒoƒbƒO‚·‚é‚Æ‚«‚́A‰º‹L‚̃oƒbƒ`ƒtƒ@ƒCƒ‹‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - ƒfƒoƒbƒO‚𒆎~‚·‚é‚Æ‚«‚́Akill_wscript.bat ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - ƒfƒoƒbƒO‚𒆎~‚·‚é‚Æ‚«‚́AƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ð•Â‚¶‚Ä‚­‚¾‚³‚¢BƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ª•\Ž¦‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚«‚́Akill_wscript.bat ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - - C:\home\sample.vbs(34, 3)Microsoft VBScript ŽÀsŽžƒGƒ‰[: ‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB: 'e' - - ƒfƒoƒbƒK‚ª–³‚­‚Ä‚àAg_debug=1 ‚É‚·‚ê‚΁AƒGƒ‰[ƒƒbƒZ[ƒW‚ªÚ‚µ‚­‚Ȃ邱‚Æ‚ª‚ ‚è‚Ü‚·B - - - [ERROR](500) ‚±‚̕ϐ”‚͐錾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB - - g_debug=0 - g_debug=1 - g_debug=1 ‚É‚·‚é‚ƁAÚ‚µ‚¢“®ì“à—e‚ª•\Ž¦‚³‚ꂽ‚èAƒGƒ‰[‚ª”­¶‚µ‚½‚çƒuƒŒ[ƒN‚µ‚½‚è‚·‚é‚ȂǁAŽáŠ±“®‚«‚ªˆÙ‚È‚è‚Ü‚·B ‚±‚Ì“®‚«‚ð‚³‚¹‚È‚¢‚ŁAƒfƒoƒbƒK‚ɐڑ±‚·‚é - ‚ɂ́Ag_debug=0 ‚É‚µ‚āA‰º‹L‚̃oƒbƒ`ƒtƒ@ƒCƒ‹‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - vbs_inc - - “à•”‚ŁAƒfƒoƒbƒK‚ɐڑ±‚·‚é‚܂łɁA - - - @cscript //x Test.vbs /g_debug:0@pause - - Test.vbs ƒtƒ@ƒCƒ‹‚ðƒfƒoƒbƒK‚ɃAƒ^ƒbƒ`‚µ‚Ü‚· - debugger.bat - ƒfƒoƒbƒK‚ðI—¹‚·‚é - ƒfƒoƒbƒOƒ‚[ƒh‚É‚µ‚È‚¢‚ŃfƒoƒbƒK‚ɐڑ± - wscript ‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ - - g_CommandPrompt - - =0 ‚È‚ç wscript ‚É‚µ‚Ä‚­‚¾‚³‚¢ - ‚½‚¾‚µA - vbslib include ‚âAvbs_inc ƒ‚ƒWƒ…[ƒ‹‚̃fƒoƒbƒO - wscript ‚Å‚ ‚邱‚Æ‚É’ˆÓ - ƒfƒoƒbƒK‚ª–³‚¢‚Æ‚«‚Ì g_debug - ‚½‚¾‚µAs”ԍ†‚ªo‚é‚̂́A•¶–@ƒGƒ‰[‚Ì‚Ý‚Å‚·B - ƒR[ƒ‹ƒXƒ^ƒbƒNiƒfƒoƒbƒO | ƒEƒBƒ“ƒhƒE | ŒÄ‚яo‚µ—š—ðj‚ðŒ©‚ê‚΁A‘S‘Ì‚©‚猩‚Ä‚Ç‚Ì•”•ª‚ÅŽ~‚Ü‚Á‚Ä‚¢‚é‚©‚ª•ª‚©‚è‚Ü‚·B - - ¨ ƒfƒoƒbƒK‚ðI—¹‚·‚é - - - ¨ ƒfƒoƒbƒK‚ª–³‚¢‚Æ‚«‚Ì g_debug - - - ¨ ƒfƒoƒbƒOƒ‚[ƒh‚É‚µ‚È‚¢‚ŃfƒoƒbƒK‚ɐڑ± - - - ¨ vbslib include ‚âAvbs_inc ƒ‚ƒWƒ…[ƒ‹‚̃fƒoƒbƒO - - ƒfƒoƒbƒK‚ÅŠJ‚¢‚Ä‚¢‚éƒ\[ƒX‚̏ꏊ‚ð’m‚é - - ¨ ƒfƒoƒbƒK‚ÅŠJ‚¢‚Ä‚¢‚éƒ\[ƒX‚̏ꏊ‚ð’m‚é - - - - '// g_SrcPath="C:\Folder\vbslib\Sample.vbs" ... ƒfƒoƒbƒOŽž‚ÉŽ©“®“I‚É•t‚«‚Ü‚·Dim g_SrcPath - - Class Sample_vbs : Public FullPath : End Class - Dim g_Sample_vbs - Set g_Sample_vbs =_ - new Sample_vbs - With g_Sample_vbs - .FullPath = g_SrcPath - End With - - Class ClassA - Public Property Get DefineInfo() : Set DefineInfo = g_Sample_vbs - End Property - End Class - - ƒƒCƒ“EƒXƒNƒŠƒvƒg‚̃pƒX‚́AWScript.ScriptFullName ƒvƒƒpƒeƒB‚Ì’l‚ðŒ©‚ê‚Εª‚©‚è‚Ü‚·‚ªAƒCƒ“ƒNƒ‹[ƒh‚µ‚½ƒXƒNƒŠƒvƒg‚̃pƒX‚́A’ʏ핪‚©‚è‚Ü‚¹‚ñB - ‚µ‚©‚µAg_debug=1 ‚ŃfƒoƒbƒK‚ɐڑ±‚µ‚½‚Æ‚«‚É•\Ž¦‚³‚ê‚é vbslib ‚̃\[ƒX‚́A - ‚Ps–ڂɃtƒ‹EƒpƒX‚ª‹Lq‚³‚ꂽƒRƒƒ“ƒg‚ª•t‚«‚Ü‚·B i‚½‚¾‚µAVisual Studio 2012 ‚ł́A - ‚·‚ׂẴtƒ@ƒCƒ‹‚ª‚P‚‚̃EƒBƒ“ƒhƒE‚É‚Ü‚Æ‚ß‚ç‚ê‚Ä‚µ‚Ü‚¤‚½‚߁A"g_SrcPath=" ‚ŏã•ûŒü - ‚ÉŒŸõ‚µ‚Ä‚­‚¾‚³‚¢Bj - - ‚Ü‚½Aƒ\[ƒX‚̐擪‚ɉº‹L‚̂悤‚È‹Lq‚ª‚ ‚èA - g_SrcPath ‚Ì’l‚ð‘ã“ü‚µ‚½ g_`_vbs.DefinePath •Ï”‚Ì’l‚ɁAƒCƒ“ƒNƒ‹[ƒh‚µ‚½ƒXƒNƒŠƒvƒg - ‚̃pƒX‚ª“ü‚Á‚Ä‚¢‚Ü‚·B Visual Studio ‚ł́A‚±‚̕ϐ”‚ð‘I‘ð‚µ‚ÄƒEƒHƒbƒ`EƒEƒBƒ“ƒhƒE‚Ö - ƒhƒƒbƒv‚µA’liƒpƒXA" "•t‚«‚Å‚à‰Âj‚ðƒRƒs[‚µ‚āA ƒtƒ@ƒCƒ‹EƒI[ƒvƒ“‚ÅŠJ‚¯‚Ü‚·B - ‚à‚µAg_`_vbs.DefinePath •Ï”‚ª–³‚­‚Ä‚àAÅŒã‚Ì call_vbs, call_vbs_d ‚ªŒÄ‚яo‚µ‚Ä‚¢‚éŠÖ”‚ð’è‹`‚µ‚Ä‚¢‚éƒXƒNƒŠƒvƒg‚̃pƒX‚È‚çAg_SrcPath ‚Ì’l‚©‚ç’m‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ÅŒãˆÈŠO‚́AƒR[ƒ‹ƒXƒ^ƒbƒN‚ð–Ú“I‚Ì call_vbs, call_vbs_d ‚ɐ؂è‘Ö‚¦‚āA path ˆø” - ‚Ì’l‚𒲂ׂ邱‚Æ‚Å•ª‚©‚è‚Ü‚·B - ‚Ü‚½A‰º‹L‚ÌŽ®‚Ì’l‚ª True ‚È‚çAÅŒã‚Ì call_vbs, call_vbs_d ‚ªAƒƒCƒ“EƒXƒNƒŠƒvƒg - ‚̊֐”‚ðŒÄ‚яo‚µ‚Ä‚¢‚é‚Æ”»’f‚Å‚«‚Ü‚·B - - - g_SrcPath = WScript.ScriptFullName - - - ¨ ƒGƒ‰[AƒfƒoƒbƒO (VBScript) - - - ¨ ƒtƒ@ƒCƒ‹o—Í‚ðŠJŽn‚·‚éƒ^ƒCƒ~ƒ“ƒO‚ŃuƒŒ[ƒN‚·‚é - - - g_SrcPath - - .vbs ƒtƒ@ƒCƒ‹‚̐擪 - vbs ƒtƒ@ƒCƒ‹‚ªAmain ŠÖ”‚ðŽ‚¿Ainclude ‚à‚³‚ê‚éê‡Aã‹L‚ÌŽÀ‘•‚ł́A“ñd’è‹`ƒGƒ‰[‚É‚È‚è‚Ü‚·B ‰º‹L‚̂悤‚ÉŽÀ‘•‚µ‚Ä‚­‚¾‚³‚¢B - - - Dim g_Sample_vbsIf IsEmpty( g_Sample_vbs ) Then Declare_g_Sample_vbs - Sub Declare_g_Sample_vbs - ExecuteGlobal "Class Sample_vbs : Public FullPath : End Class" - Set g_Sample_vbs =_ - new Sample_vbs - With g_Sample_vbs - .FullPath = g_SrcPath - End With - End Sub - - Sub main2( Opt, AppKey ) - g_SrcPath = WScript.ScriptFullName : Declare_g_Sample_vbs - : - - - ¨ ðŒƒuƒŒ[ƒN - - - ¨ g_count, g_count_up - - - ¨ ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚âƒVƒ‡[ƒgƒJƒbƒg‚©‚çƒfƒoƒbƒK[‚ɐڑ±‚·‚é - - - ¨ ƒƒbƒZ[ƒWƒ{ƒbƒNƒX (VBScript) - - - - g_debug=0 - - main.vbs - - ¨ SetupDebugTools - - - ¨ SkipToSection - - ƒCƒ“ƒNƒ‹[ƒh‚µ‚½ƒtƒ@ƒCƒ‹‚ɃRƒ“ƒpƒCƒ‹ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚̃fƒoƒbƒO (g_is_compile_debug) - ƒCƒ“ƒNƒ‹[ƒh‚µ‚½ƒtƒ@ƒCƒ‹‚ªƒRƒ“ƒpƒCƒ‹ƒGƒ‰[‚µ‚½‚Æ‚«‚́Ag_is_compile_debug = 1 ‚Æ‚µ‚Ä‹N“®‚·‚é‚ƁAƒRƒ“ƒpƒCƒ‹ƒGƒ‰[‚ª‚ ‚Á‚½ vbs ƒtƒ@ƒCƒ‹‚ª‚ ‚és‚ðŠJ‚«‚Ü‚·B ‚½‚¾‚µA - - - - '--- start of parameters for vbslib include ------------------------------- g_debug = 0 '// release:0, debug:99, -1:call SetupDebugTools - Dim g_is_compile_debug : g_is_compile_debug = 1 - - - Setting_getEditorCmdLine - - ‚ɁAs”ԍ†‚ðŽw’肵‚ÄŠJ‚­‚±‚Æ‚ª‚Å‚«‚éƒeƒLƒXƒgƒGƒfƒBƒ^‚ª - ‚·‚Å‚É“o˜^‚µ‚Ä‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B - - ¨ ƒRƒ“ƒpƒCƒ‹ƒGƒ‰[‚ª”­¶‚µ‚½‚Æ‚«‚̃fƒoƒbƒO (g_is_compile_debug) - - - ¨ T_CompileDebug ƒtƒHƒ‹ƒ_ - - ƒeƒXƒg - - ¨ “®ìƒ‚[ƒhAƒfƒoƒbƒOŠÖŒW‚̃Oƒ[ƒoƒ‹•Ï” - - ŠÈˆÕ”Å - - ¨ get_DefineInfoObject - - ƒGƒ‰[‚ª”­¶‚µ‚½‚çAƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚ŃuƒŒ[ƒNiˆêŽž’âŽ~j‚·‚邽‚ß‚É•K—v‚ȁA - ƒfƒoƒbƒK‚ɃAƒ^ƒbƒ`‚µ‚āA‚P‚–ڂ̃Gƒ‰[‚ŃuƒŒ[ƒN‚·‚é - - - g_debug = 1 - - ƒeƒXƒg - ŽqƒvƒƒZƒX‚ŃuƒŒ[ƒN(Stop)‚·‚é - ƒuƒŒ[ƒN‚µ‚½‚¢êŠ‚É Stop –½—ß‚ð‹Lq‚µ‚ăfƒoƒbƒK[‚ɐڑ±‚µ‚Ä‚àARunProg ŠÖ”‚È‚Ç‚Å‹N“®‚µ‚½ŽqƒvƒƒZƒX‚ª Stop –½—ß‚ðŽÀs‚µ‚½‚Æ‚«‚́AƒuƒŒ[ƒN‚µ‚Ü‚¹‚ñB - - ¨ ŽqƒvƒƒZƒX‚ŃuƒŒ[ƒN(Stop)‚·‚é - - ƒ\[ƒXEƒtƒ@ƒCƒ‹‚Ì’†‚Ì”CˆÓ‚̏ꏊ‚ŃuƒŒ[ƒNiˆêŽž’âŽ~j‚·‚é - - ¨ ƒ\[ƒXEƒtƒ@ƒCƒ‹‚Ì’†‚Ì”CˆÓ‚̏ꏊ‚ŃuƒŒ[ƒNiˆêŽž’âŽ~j‚·‚é - - ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - - - WSH ‚̃fƒoƒbƒK[‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚ê‚΁AƒXƒNƒŠƒvƒgEƒtƒ@ƒCƒ‹‚ւ̃Vƒ‡[ƒgƒJƒbƒg‚ðì¬AƒvƒƒpƒeƒB - ƒŠƒ“ƒNæ‚ɁA‰º‹L‚Ì /g_debug ƒIƒvƒVƒ‡ƒ“‚ð’ljÁAƒVƒ‡[ƒgƒJ - ƒbƒg‚©‚ç‹N“®‚·‚é‚ƁA–â‘肪‚ ‚éêŠ‚Å’âŽ~‚µ‚Ü‚·B - ---------------------------------------------------------------------- - "T_Sample.vbs" /g_debug:1 - ---------------------------------------------------------------------- - <ERROR msg="•Ï”‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ" key="${Var1}+${Var2}"/> - - •\Ž¦‚³‚ê‚éƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—á - Sample.vbs - ŠÖ˜A - - ¨ ƒeƒXƒg‚ª Fail ‚µ‚½‚Æ‚« - - ‘½‚­‚̏ꍇAvbslib ‚Ì“à•”ŠÖ”‚Ì’†‚ŃuƒŒ[ƒN‚µ‚Ä‚µ‚Ü‚¤‚̂ŁAŽ©•ª‚ªˆµ‚Á‚Ä‚¢‚éƒXƒNƒŠƒvƒg‚ªŒ©‚‚©‚é‚܂ŁAƒR[ƒ‹ƒXƒ^ƒbƒNiƒfƒoƒbƒO | ƒEƒBƒ“ƒhƒE | ŒÄ‚яo‚µ—š—ðj‚ðŠJ‚¢‚āA’T‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - [‚¢ - ó‚¢ - ‚à‚¤‚P‚‚́AƒƒCƒ“EƒXƒNƒŠƒvƒg‚Ì - ‚Ì’†‚É‚ ‚é g_debug = 0 ‚ð•ÒW‚µ‚Ä - ‚P‚‚́A*.vbs ƒtƒ@ƒCƒ‹‚̃Vƒ‡[ƒgƒJƒbƒg‚ðì¬‚µ‚āA‰EƒNƒŠƒbƒN [ ƒvƒƒpƒeƒB ] ‚Ì [ ƒŠƒ“ƒNæ ] ‚ɁA/g_debug:1 ƒIƒvƒVƒ‡ƒ“‚ðÝ’肵‚Ä‚­‚¾‚³‚¢B - - - ...\sample.vbs /g_debug:1 - - ƒŠƒ“ƒNæF - ‚P‚–ڂ̃Gƒ‰[‚ŃuƒŒ[ƒN‚·‚é - - g_debug - - ‚Ȃǂɐݒ肷‚ׂ«’l‚ªŽ©“®“I‚É•\Ž¦‚³‚ê‚Ü‚·B - ƒfƒoƒbƒK[‚́AVisual Studio Community ˆÈãA‚Ü‚½‚Í MS-Office •t‘®‚Ì - ƒuƒŒ[ƒN‚µ‚½‚¢ƒ\[ƒX‚̏ꏊ‚ɁAStop:OrError ‚ð‹Lq‚µ‚ÄŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ g_count, g_count_up - - ‚Q‰ñ–ڈȍ~‚ŃuƒŒ[ƒN‚·‚é•û–@ - - ¨ ðŒƒuƒŒ[ƒN - - ŠÖ˜A - ‚­‚¾‚³‚¢B •ÒW‚µ‚½‚çAƒXƒNƒŠƒvƒg‚ðÄ“xŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - ¨ ƒGƒ‰[ˆ—‚̃fƒoƒbƒO - - - Microsoft Script - - - Editor - - ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B –³—¿‚Ì - - - ‰º‹L‚̃tƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¢‚ÄŽŸ‚̂悤‚ɕϐ”‚Ì’l‚ðC³‚·‚é‚ƁAƒfƒoƒbƒK‚ɐڑ±‚µ‚Ä–â‘肪‚ ‚éêŠ‚Å’âŽ~‚µ‚Ü‚·B - "sample.vbs" - ---------------------------------------------------------------------- - g_debug = 1 - ---------------------------------------------------------------------- - <ERROR err_number='1' err_description='Stop:OrError'/> - - ‚»‚̏ó‘Ô‚ÅŽÀs‚·‚é‚ƁAStop:OrError ‚ð‹Lq‚µ‚½êŠ‚ŃuƒŒ[ƒN‚µ‚Ü‚·B - g_debug ‚Ȃǂ̕ϐ”‚ɐݒ肷‚ׂ«’l‚ª‘‚©‚ꂽƒR[ƒh‚ª•\Ž¦‚³‚ê‚Ü‚·B ‚±‚̃R[ƒh‚ðAƒƒCƒ“.vbs ‚̍Ōã‚É‚ ‚é SetupVbslibParameters ŠÖ”‚̍Ōã‚É‹Lq‚µ‚Ä‚­‚¾‚³‚¢B - - - Stop:OrError - - - SetupVbslibParameters - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚âƒVƒ‡[ƒgƒJƒbƒg‚©‚çƒfƒoƒbƒK[‚ɐڑ±‚·‚é (/g_debug) - ‚Æ‚µ‚Ä‹N“®‚·‚邾‚¯‚ŁAƒfƒoƒbƒK[‚ɐڑ±‚µ‚Ü‚·B /g_debug:1 ‚É‚·‚é‚ƁA‚P‚–ڂ̃Gƒ‰[‚ŃuƒŒ[ƒN‚µ‚Ü‚·B - - - cscript sample.vbs /g_debug:99 - - ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“F - ƒŠƒ“ƒNæF - - - "C:\Folder\sample.vbs" /g_debug:99 - - - WSH ‚̃fƒoƒbƒK[ - - ‚ªƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚ ‚éŠÂ‹«‚ł́A - ŠÖ˜A - - ¨ ƒfƒoƒbƒO‚ðŠJŽn‚·‚é, g_debug (vbslib) - - - scd10jp.exe - - ‚àŽg‚¦‚Ü‚·B - ƒeƒXƒg - - ¨ T_Err2_Debug1_WithDebugger - - - ¨ T_Err2_Tree - - - ¨ [T_ErrInfo] ƒ†[ƒU‚ւ̃Gƒ‰[’Ê’m‚ƃfƒoƒbƒKÚ‘± - - - - "C:\Folder\sample.vbs" /g_debug:2,1;1 - - ‚̂悤‚È•¡ŽG‚È‹Lq‚à‚Å‚«‚Ü‚·B ‹Lq‚·‚ׂ«’l‚̓Gƒ‰[ƒƒbƒZ[ƒW‚É•\Ž¦‚³‚ê‚Ü‚·B - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚ŃuƒŒ[ƒN‚³‚¹‚é‚ɂ́A‚Q‚‚̕û–@‚ª‚ ‚è‚Ü‚·B - - g_debug - - - g_debug_process - - - g_debug_tree - - ƒRƒƒ“‚ÌŽŸ‚́A - AƒRƒ“ƒ}‚ÌŽŸ‚́A - AƒZƒ~ƒRƒƒ“‚ÌŽŸ‚́A - ‚ɐݒ肳‚ê‚Ü‚·B - ‚»‚Ì‘ã‚èAStop:OrError ‚Æ‹Lq‚·‚é‚ƁAƒuƒŒ[ƒN‚·‚邽‚ß‚É•K—v‚È•û–@‚ª•\Ž¦‚³‚ê‚Ü‚·B - ŽQl - - ¨ OrError - - - ¨ T_ChildProcessIDNest_Manually2.vbs - - ‚Ü‚½‚́AƒVƒ‡[ƒgƒJƒbƒg‚ðì¬‚µ‚āAƒVƒ‡[ƒgƒJƒbƒg‚ð‰EƒNƒŠƒbƒN [ ƒvƒƒpƒeƒB ] ‚́A - vbslib ‚ðŽg—p‚µ‚Ä‚¢‚éƒXƒNƒŠƒvƒg‚́A - ƒfƒoƒbƒK[‚Ƃ́AƒXƒNƒŠƒvƒg‚ÌŽÀs‚ðˆêŽž“I‚ÉŽ~‚߂āA•Ï”‚Ì’l‚ðŠm”F‚·‚邱‚Æ‚È‚Ç‚ª‚Å‚«‚éƒc[ƒ‹‚Å‚·B ³‚µ‚¢’l‚ŏˆ—‚³‚ê‚Ä‚¢‚é‚Æ‚±‚ë‚ƁAŒë‚Á‚½’l‚ŏˆ—‚³‚ê‚Ä‚¢‚é‚Æ‚±‚ë‚ð - ‹²‚ݍž‚ñ‚Å‚¢‚­‚悤‚É‚µ‚āA–â‘肪‚ ‚éêŠ‚ðŒ©‚Â‚¯‚éì‹Æ‚ðŽx‰‡‚µ‚Ü‚·B - - ¨ ƒfƒoƒbƒK[ iVisual Studio ‚Ȃǁj - - ƒCƒ“ƒXƒg[ƒ‹ - - ¨ ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚âƒVƒ‡[ƒgƒJƒbƒg‚©‚çƒfƒoƒbƒK[‚ɐڑ±‚·‚é - - ƒfƒoƒbƒK[‚Ì‹N“®‚ÌŽd•û - Mircrosoft »‚̃fƒoƒbƒK[‚́A‚·‚ׂē¯‚¶Žè‡‚ŃfƒoƒbƒK[‚ð‹N“®‚Å‚«‚Ü‚·B - vbslib ‚ðŽg‚Á‚Ä‚¢‚éƒXƒNƒŠƒvƒg‚̏ꍇF - vbslib ‚ðŽg‚í‚È‚¢ê‡F - - ¨ ƒfƒoƒbƒK[ iVisual Studio ‚Ȃǁj - - ‚»‚Ì‘¼‚̎菇 - Visual Studio 2008 Professtional ‚ŁAVBScript (WSH) ‚ðƒfƒoƒbƒO - ˆê•”‚̃IƒuƒWƒFƒNƒgiÃ“IƒIƒuƒWƒFƒNƒgj‚́ADefineInfo.FullPath ƒvƒƒpƒeƒB‚ɁAƒNƒ‰ƒX‚ð’è‹`‚µ‚Ä‚¢‚éƒ\[ƒX‚̃tƒ‹EƒpƒX‚ª“ü‚Á‚Ä‚¢‚Ü‚·BDefineInfo ƒvƒƒpƒeƒB‚ª–³‚­‚Ä‚àAƒƒ\ƒbƒh‚É - ƒXƒeƒbƒvƒCƒ“‚µ‚½‚Æ‚«‚̃\[ƒX‚Ì‚Ps–Ú‚©‚番‚©‚è‚Ü‚·B - ŠJ‚¢‚Ä‚¢‚éƒ\[ƒX‚̃tƒ‹EƒpƒX‚́A‚Ps–Ú‚ÉŽ©“®“I‚É‘}“ü‚³‚ê‚Ä‚¢‚Ü‚·B ‚½‚¾‚µAVisual Studio 2010 ˆÈŒã‚́AƒCƒ“ƒNƒ‹[ƒh‚µ‚½‚·‚ׂẴXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚Ì“à—e‚ª - ‚P‚Â‚Ì [eval code] ƒEƒBƒ“ƒhƒE‚É‚Ü‚Æ‚ß‚ç‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·‚̂ŁAu'// g_SrcPath="v ‚Å‘O•û - ŒŸõ‚µ‚Ä‚­‚¾‚³‚¢B - - - "C:\Folder\sample.vbs" /g_debug__:2,1;1 - - ˆêŽž“I‚ɃfƒoƒbƒK[‚̐ڑ±‚ð‚µ‚È‚¢‚Æ‚«‚́Ad_debug ƒIƒvƒVƒ‡ƒ“‘S‘Ì‚ðÁ‚³‚È‚­‚Ä‚àAƒIƒvƒVƒ‡ƒ“‚Ì–¼‘O‚ð­‚µ•ÏX‚·‚邾‚¯‚Å‚Å‚«‚Ü‚·B ‚±‚¤‚·‚ê‚΁AÄÚ‘±‚·‚é‚Æ‚«‚ɁAƒIƒvƒVƒ‡ƒ“‚̃pƒ‰ƒ[ - ƒ^[‚ð“ü—Í‚µ’¼‚·•K—v‚ª‚È‚­‚È‚è‚Ü‚·B - iƒƒ‚j ‚±‚ꂪ‚Å‚«‚é‚̂́A–³Œø‚ȃIƒvƒVƒ‡ƒ“‚ð VBScript ‚ªƒGƒ‰[‚É‚µ‚È‚¢‚½‚ß‚Å‚·B - ƒfƒoƒbƒK[‚É•\Ž¦‚³‚ê‚Ä‚¢‚éƒ\[ƒX ƒR[ƒh‚ðƒeƒLƒXƒg ƒGƒfƒBƒ^[‚ÅŠJ‚­‚Æ‚«‚́A - - OpenVBSLibSource ƒRƒ}ƒ“ƒh - - ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - g_debug_var - - - ReDim g_debug_var(10) - - ƒfƒoƒbƒO—pƒOƒ[ƒoƒ‹”z—ñ•Ï” g_debug_varB - ƒfƒoƒbƒO‚ªŠ®—¹‚µ‚½‚çAg_debug_var ‚ðŽg‚Á‚Ä‚¢‚éƒR[ƒh‚ðíœ‚µ‚Ä‚­‚¾‚³‚¢Bvbslib ‚́Ag_debug_var •Ï”‚ð—pˆÓ‚·‚邾‚¯‚ŁAƒAƒNƒZƒX‚µ‚Ü‚¹‚ñB - ƒuƒŒ[ƒN‚·‚éðŒ‚ð–ž‚½‚µ‚½‚±‚Æ‚ðÝ’è‚·‚é‚Æ‚«‚È‚Ç‚ÉŽg—p‚Å‚«‚Ü‚·B‚·‚ׂẴ‚ƒWƒ…[ƒ‹‚©‚çƒAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«AƒXƒR[ƒv‚ð’´‚¦‚Ä’Ê’m‚ª‚Å‚«‚Ü‚·B - ƒfƒoƒbƒO‚·‚é‚Æ‚«‚ɐV‚µ‚­ˆêŽž“I‚ȃOƒ[ƒoƒ‹•Ï”‚ðì¬‚·‚邱‚Æ‚ª‚æ‚­‚ ‚è‚Ü‚·‚ªA - ‚»‚Ì“x‚É‚Ç‚±‚É”z’u‚µ‚½‚ç‚æ‚¢‚©‚ðl‚¦‚È‚­‚čς݂܂·B - ƒfƒoƒbƒK[‚ðŽg‚¤‚Æ‚«‚́Ag_debug_var ‚ɃEƒHƒbƒ`‚·‚é•Ï”‚ðŽ‚ÂƒIƒuƒWƒFƒNƒg‚ðÝ’è - ‚µ‚Ä‚¨‚­‚±‚ƂŁA•Ï”‚Ì’l‚ð•\Ž¦‚µ‚È‚ª‚çƒXƒeƒbƒvŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - (src) - - - ¨ g_DebugVar (clib) - - ŠÖ˜A - ƒTƒ“ƒvƒ‹ - - - gc_NewFunction = True '//[TODO] ˆêŽž“I‚ȃOƒ[ƒoƒ‹•Ï” - - V‹@”\‚ÌŠOF - ƒeƒXƒg‘Ώۂ̒†‚Ì’†F - - - If ... Then g_debug_var( 1 ) = True : - If g_debug_var( 1 ) Then Stop - - ‚Q‚Â–Ú‚ÌðŒ‚ð–ž‚½‚µ‚½‚±‚Æ‚ð’Ê’m‚µ‚Ä‚¢‚Ü‚·B - Stop ‚·‚éðŒ‚ð–ž‚½‚µ‚½‚±‚Æ‚ð’Ê’m‚µ‚Ä‚¢‚Ü‚·B - ƒeƒXƒg‘Ώۂ̒†F - - - If ... Then g_debug_var( 0 ) = True : - If g_debug_var( 0 ) Then Stop - - ðŒ•t‚«ƒuƒŒ[ƒN‚ð‚·‚é - •â‘« - ì¬’†‚̐V‹@”\‚ðˆêŽž“I‚É—LŒø‚É‚·‚é‚Æ‚«‚́Ag_debug_var ‚ðŽg‚킸‚ɁAˆêŽž“I‚ȃOƒ[ƒoƒ‹•Ï”‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B - V‹@”\‚Ì’†F - - - If gc_NewFunction Then NewFunction - - - - - - - - g_count, g_count_up - - - If g_count_up(0)=0 Then Stop '// watch-> g_count [TODO]echo_v "g_count(0)=" & g_count(0) - - - - If g_count_up(0)=2 Then Stop - - - - Function g_count_up( i as integer ) as integer - - ƒOƒ[ƒoƒ‹”z—ñ•Ï” g_count ‚Ì‚P‚‚̔z—ñ—v‘f‚Ì’l‚ð{‚P‚µ‚Ü‚·B - - ¨ ƒXƒ‹[ƒJƒEƒ“ƒ^ - - yˆø”z - i - ƒJƒEƒ“ƒ^‚ÌŽí—ނ̔ԍ†A”z—ñ—v‘f”ԍ†i‚OˆÈãj - V‚µ‚¢”z—ñ—v‘f‚Ì’l - •Ô‚è’l - ƒfƒoƒbƒO—p‚Å‚·B ŽQl - –â‘肪”­¶‚µ‚½êŠ‚̏­‚µ‘O‚ŃuƒŒ[ƒN‚³‚¹‚½‚¢êŠ‚ŁA‚Ü‚¸‰º‹L‚̂悤‚É‹Lq‚µ‚Ü‚·B•¡”‚̃JƒEƒ“ƒ^‚ðŽg‚¤‚Æ‚«‚͈ø” 0 ‚ð•Ï‚¦‚Ä‚­‚¾‚³‚¢ - ŽÀs‚³‚¹‚ăGƒ‰[‚ª”­¶‚µ‚½êŠ‚ŃuƒŒ[ƒN‚µ‚½‚çAg_count(0) ‚Ì’l‚ðƒEƒHƒbƒ`‚µ‚Ü‚·B0 ‚́Ag_count_up ‚Ì ( ) ‚Ì’†‚Æ“¯‚¶‚Å‚·B ƒEƒHƒbƒ`‚·‚é‚̂́Ag_count_up ‚Å‚Í‚È‚¢‚±‚Æ‚É - ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - g_count(0) ‚Ì’l‚ªƒEƒHƒbƒ`‚µ‚½’l‚ƈê’v‚µ‚½‚çƒuƒŒ[ƒN‚·‚é‚悤‚ɁA‹Lq‚ð•ÏX‚µ‚Ü‚·B - 0 0 - 2 - Ä‚эŏ‰‚©‚çŽÀs‚³‚¹‚é‚ƁAã‹L‚Ì Stop ‚ÅŽ~‚Ü‚è‚Ü‚·B - - - g_count(0) - - © ƒEƒHƒbƒ` - © g_count(0) ‚ðƒEƒHƒbƒ`‚µ‚½‚ç 2 ‚¾‚Á‚½ê‡ - - (src) - - ŠÖ˜A - - ¨ ƒXƒ‹[ƒJƒEƒ“ƒ^ (CŒ¾Œê - errors) - - 0 - - ¨ ðŒƒuƒŒ[ƒN - - - - - - - - “Á’è‚ÌðŒ‚ð–ž‚½‚µ‚½‚Æ‚«‚¾‚¯ƒuƒŒ[ƒN‚µ‚½‚¢‚Æ‚«‚́AŽŸ‚̂悤‚É‹Lq‚µ‚Ü‚·B - - - If ... Then SetVar "Stop1", 1 '// ðŒ‚Ì”»’è [TODO] : - If GetVar( "Stop1" ) Then Stop '// ƒuƒŒ[ƒN‚·‚éêŠ [TODO] - - ðŒƒuƒŒ[ƒN - - - - - - - ƒtƒ@ƒCƒ‹o—Í‚ðŠJŽn‚·‚éƒ^ƒCƒ~ƒ“ƒO‚ŃuƒŒ[ƒN‚·‚é - - ¨ SetBreakByFName - - o—̓tƒ@ƒCƒ‹‚Ì“à—e‚É–â‘肪‚ ‚é‚Æ‚«‚́Aƒtƒ@ƒCƒ‹–¼‚ðŽw’è‚·‚邾‚¯‚ŁAƒtƒ@ƒCƒ‹‚̏o—Í‚ðŠJŽn‚·‚é‚Æ‚±‚ë‚ŃuƒŒ[ƒN‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - ŽQl - - - - - - - FileWatcher - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðƒEƒHƒbƒ`‚µ‚Ü‚·B - ƒtƒ@ƒCƒ‹‚Ì“à—e‚ðA‰º‹L‚̏‡”Ô‚Å - - ƒeƒ“ƒ|ƒ‰ƒŠEƒtƒHƒ‹ƒ_[ - - i‰º‹L ${Tmp}j‚ɃRƒs[‚µ‚Ü‚·B - StepNum_001_to_002.txt - - ${Tmp}\ReplaceSteps\Before - ${Tmp}\ReplaceSteps\After_ - ƒtƒHƒ‹ƒ_[ - ƒtƒ@ƒCƒ‹ - StepNum_001_to_002.txt - ‡@ - ‡A - ‡B - ‡A - StepNum_002_to_003.txt - StepNum_002_to_003.txt - ‡B - StepNum_003_to_004.txt - ‡@`‡C ‚́A - ŠÖ˜A - - ¨ ThreeWayMergeOptionClass - - .BreakStepNum - - FileWatcher_copyAFileToTheLog ŠÖ” - - ‚ðŒÄ‚яo‚µ‚½‰ñ”‚ɑΉž‚µ‚Ü‚·B - ‰‚߂ČĂяo‚µ‚½‚Æ‚«‚́A Before\StepNum_001_to_002.txt - ‚ɃEƒHƒbƒ`‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃Rƒs[‚ªì‚ç‚ê‚Ü‚·B ‚Q‰ñ–ڂɌĂяo‚µ‚½‚Æ‚«‚́A - After_\StepNum_001_to_002.txt - ‚ɃEƒHƒbƒ`‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃Rƒs[‚ªì‚ç‚ê‚Ü‚·B ‚R‰ñ–ڂɌĂяo‚µ‚½‚Æ‚«‚́A - Before\StepNum_002_to_003.txt - ‚ɁAAfter_\StepNum_001_to_002.txt ‚̃Rƒs[‚ƁA - After_\StepNum_002_to_003.txt - ‚ɁAƒEƒHƒbƒ`‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃Rƒs[‚ªì‚ç‚ê‚Ü‚·B ‚»‚êˆÈ~‚́A‚R‰ñ–ڂɌĂяo‚µ‚½ - ‚Æ‚«‚ƁA“¯—l‚É‚Q‚‚̃Rƒs[‚ªì‚ç‚ê‚Ä‚¢‚«‚Ü‚·B - ‚æ‚Á‚āAƒtƒ@ƒCƒ‹‚Ì“à—e‚ª•Ï‰»‚·‚é—lŽq‚ðŠm”F‚µ‚½‚¢‚Æ‚«‚́ABefore ƒtƒHƒ‹ƒ_[‚Æ After_ƒtƒHƒ‹ƒ_[‚ð”äŠr‚·‚ê‚΂悢‚±‚Æ‚É‚È‚è‚Ü‚·B - ƒEƒHƒbƒ`‚·‚éƒtƒ@ƒCƒ‹‚ð•ÏX‚·‚é‚Æ‚«‚́A - - FileWatcher_setNewFile ŠÖ” - - ‚ðŒÄ‚яo‚µ‚Ü‚·B - StepNum_003_to_004.txt - ‡C - ‚½‚Æ‚¦‚΁A‡A ‚ª•t‚¢‚Ä‚¢‚é After_\StepNum_001_to_002.txt - ‚Æ - Before\StepNum_002_to_003.txt - ‚Ì—¼•û‚ªA‚Q‰ñ–Ú‚ÉŽw’肵‚½ƒtƒ@ƒCƒ‹‚Æ“¯‚¶“à—e‚É‚È‚è‚Ü‚·B - ‚½‚Æ‚¦‚΁AStepNum_003_to_004.txt ‚̃tƒ@ƒCƒ‹‚ªÅŒã‚̃Rƒs[‚¾‚Á‚½‚Æ‚«‚ɁAFileWatcher_setNewFile ŠÖ”‚ðŒÄ‚яo‚µ‚½‚çAŽŸ‚ɍì‚ç‚ê‚éƒRƒs[‚́A - Before\StepNum_005_to_006.txt - ‚¾‚¯‚Å‚·B StepNum_004_to_005.txt ‚́Aì‚ç‚ê‚Ü‚¹‚ñB - Šg’£Žq‚́AƒEƒHƒbƒ`‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚Æ“¯‚¶Šg’£Žq‚É‚È‚è‚Ü‚·B - FileWatcher_copyAFileToTheLog ŠÖ”‚ðŒÄ‚яo‚·‚ƁA•W€o—͂ɉº‹L‚̂悤‚ɏo—Í‚µ‚Ü‚·B ‚½‚¾‚µA‚P‰ñ–ڂ̌Ăяo‚µ‚ł́A”äŠr‚·‚é‘ŠŽè‚ª‚¢‚È‚¢‚̂ŁAo—Í‚µ‚Ü‚¹‚ñB - - - FileWatcher >> C:\Users\user1\AppData\Local\Temp\Report\`\ReplaceStepsFileWatcher >> StepNum_001_to_002.txt - - ‚»‚̊֐”‚ðŒÄ‚яo‚·‘OŒã‚̃tƒ@ƒCƒ‹‚́A”äŠr‚µ‚È‚¢‚悤‚É‚È‚è‚Ü‚·B - - - - - - - FileWatcher_copyAFileToTheLog - - - Sub FileWatcher_copyAFileToTheLog( in_WatchingPath as string ) - - Œ»Ý‚̃tƒ@ƒCƒ‹‚Ì“à—e‚ð‹L˜^‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - yˆø”z - in_WatchingPath - ƒEƒHƒbƒ`‚µ‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚̃pƒX - - << FileWatcher - - - - - - - - FileWatcher_setNewFile - - - Sub FileWatcher_setNewFile() - - ŽŸ‚É‹L˜^‚·‚éƒtƒ@ƒCƒ‹‚ðA”äŠr‚ðŠJŽn‚·‚éƒtƒ@ƒCƒ‹‚É‚µ‚Ü‚·B - ƒ\[ƒX - - ¨ vbslib.vbs - - - << FileWatcher - - - - - - - - Test.vbs ‚̃R[ƒ‹ƒoƒbƒNŠÖ”‚ðŒÄ‚яo‚·ƒ^ƒCƒ~ƒ“ƒO‚ŃR[ƒ‹ƒoƒbƒN‚·‚é - - OnStart (SkipSectionGlobal) - - ‚ɁAƒfƒoƒbƒO—p‚ɍ쐬‚µ‚½ƒR[ƒ‹ƒoƒbƒNŠÖ”‚ð“o˜^‚µ‚Ä‚­‚¾‚³‚¢B - ŽQl - - ¨ ƒeƒXƒgEƒvƒƒ“ƒvƒg (Test.vbs) - - - - - - - - ˆ—‚̏ڍו\Ž¦ (g_verbose)AƒgƒŒ[ƒX•\Ž¦ - - - Dim g_verbose as boolean - - Verbose ƒ‚[ƒh‚ª—LŒø‚©‚Ç‚¤‚©B - ƒtƒ@ƒCƒ‹F - - - vbs_inc_sub.vbs - - Verbose ƒ‚[ƒh‚ª—LŒø‚Å‚ ‚é‚Æ‚«‚́A“à•”ˆ—‚Ì“à—e‚ðÚ‚µ‚­•\Ž¦‚µ‚È‚ª‚çŽÀs‚µ‚Ü‚·B - ƒTƒ“ƒvƒ‹ iƒfƒoƒbƒOŽžj - ƒTƒ“ƒvƒ‹ iŠJ”­Žžj - - - g_verbose = 1 FuncA - pause - - - - If g_verbose Then echo_v "ˆ—‚Í‚P‚‚às‚í‚ê‚Ü‚¹‚ñ‚Å‚µ‚½B" - - Verbose ƒ‚[ƒh‚Å“à•”ˆ—‚ð•\Ž¦‚·‚éŽå‚È–Ú“I‚́As‚í‚ê‚é‚Í‚¸‚̏ˆ—‚ªs‚í‚ê‚Ä‚¢‚È‚¢•s‹ï‡‚ð‰ðŒˆ‚·‚邱‚Æ‚Å‚·B ˆ—‚ªs‚í‚ê‚È‚©‚Á‚½ - ‚±‚Ƃ𒆐S‚É•\Ž¦‚µ‚Ä‚­‚¾‚³‚¢B ‚»‚¤‚µ‚È‚¢‚ƁA•K—v‚ȏî•ñ‚ª‘½‚­‚̃mƒCƒYiî•ñj‚É - ‰B‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·B ‚Æ‚è‚ ‚¦‚¸ Verbose ƒ‚[ƒh‚Å“®‚©‚µA‚»‚±‚©‚ç‚ǂ̏î•ñ‚ðÚ‚µ‚­ - •\Ž¦‚·‚é‚悤‚É‚·‚ê‚΂¢‚¢‚©A‚ǂ̃IƒuƒWƒFƒNƒg‚ð GetEchoStr ‚Å•\Ž¦‚³‚¹‚é‚Æ‚æ‚¢‚© - ‚ðƒKƒCƒh‚Å‚«‚ê‚΂悢‚Å‚µ‚傤B - ŠÖ˜A - FuncA ‚̏ˆ—“à—e‚ðÚ‚µ‚­•\Ž¦‚µ‚Ü‚·B - ƒeƒXƒg - - ¨ T_Verbose.vbs # [T_Verbose] - - - ¨ echo_v - - ƒvƒƒOƒ‰ƒ€‚ªˆ—“à—e‚ɑ΂µ‚ăƒ^‚ȏˆ—‚É‚È‚Á‚Ä‚¢‚é‚Æ‚«‚ɏˆ—‚̃Xƒeƒbƒv‚ð•\Ž¦‚µ‚½‚¢‚Æ‚«‚́A‚»‚̃‚ƒWƒ…[ƒ‹‚̃ƒ“ƒo[‚É Verbose ƒ‚[ƒh‚ð’ljÁ‚µ‚Ä‚­‚¾‚³‚¢B - - - - - - - SetupDebugTools - - - Sub SetupDebugTools() - - - - '--- start of parameters for vbslib include --------- g_debug = 0 '// release:0, debug:99, -1:call SetupDebugTools - Sub SetupDebugTools() : set_input "" : SetBreakByFName Empty : End Sub - g_debug = 99 '// ã‘‚«‚·‚邱‚ƂŁAã‹L‚̃fƒtƒHƒ‹ƒg‚̃R[ƒh‚ð•ÛŒì‚µ‚Ü‚·B - Sub SetupDebugTools() '// ŠÖ”‚à‘O‚Ì’è‹`‚ðã‘‚«‚Å‚«‚Ü‚·B - del "C:\Users\user1\Desktop\TestData" - set_input "1." - SetBreakByFName "Out.xml" - End Sub - - ƒTƒ“ƒvƒ‹F - ƒfƒoƒbƒOŽž‚É main ŠÖ”‚ðŒÄ‚яo‚·’¼‘O‚ŌĂяo‚³‚ê‚éŠÖ”B - ‚Ü‚½A‚±‚̊֐”‚Ì’†‚ł́A—˜•Ö«‚Ì‚½‚ß‚É - - Out of Writable Œx - - ‚ð”­‚µ‚Ü‚¹‚ñB - ‚½‚¾‚µAƒtƒ@ƒCƒ‹ƒpƒX‚ðŽw’è‚·‚é‚Æ‚«‚͕ϐ”‚ðŽg‚í‚È‚¢‚悤‚É‚·‚é‚È‚Ç‚µ‚āA—\‘zŠO‚̃tƒ@ƒCƒ‹‚ð‰ó‚³‚È‚¢‚悤‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B - - set_input - - - SetBreakByFName - - - (src) - - ’ʏíAvbslib include ‚ɁASetupDebugTools ŠÖ”‚Ì’è‹`‚ð‹Lq‚µ‚Ü‚·BƒfƒoƒbƒO—p‚ɉ½‚ç‚©‚̐ݒè‚ð‚µ‚½‚èAƒtƒ@ƒCƒ‹‚ð‰Šúó‘Ô‚É–ß‚·‚Ȃǂ̏ˆ—‚ðA‚±‚̊֐”‚Ì - ’†‚É’è‹`‚µ‚Ä‚­‚¾‚³‚¢B main ŠÖ”‚̍ŏ‰‚É‹Lq‚µ‚Ä‚à“¯‚¶‚±‚Æ‚ª‚Å‚«‚Ü‚·‚ªAvbslib ‚ð - ƒCƒ“ƒNƒ‹[ƒh‚·‚é‘O‚ɁAvbslib ‚È‚Ç vbs_inc ‚ŃCƒ“ƒNƒ‹[ƒh‚·‚éŠÖ”‚ªŽg‚¦Ag_debug ‚̐ݒè - ‚Ì’¼Œã‚ɏˆ—‚ð‹Lq‚Å‚«‚邽‚߁AƒfƒoƒbƒO—p‚̃R[ƒh‚ðˆê”ʂ̃R[ƒh‚Æ‹æ•Ê‚Å‚«‚Ü‚·B - - ¨ [T_SetupDebugTools] ƒfƒoƒbƒKŽž‚̏‰ŠúÝ’è - - ƒeƒXƒg - - - - - - - ƒEƒHƒbƒ` (WS, WD, WX) - - - Sub WS2( Label as string, Value as variant ) - - - - Sub WD2( Label as string, Value as variant ) - - - - Sub WX2( Label as string, Value as variant ) - - - - Sub MARK( Label as string, out_Count as variant ) - - ƒuƒŒ[ƒN‚µ‚È‚¢‚ŁA•Ï”‚Ì’l‚ð•W€o—Í‚Ö•\Ž¦‚µ‚Ü‚·B - ƒXƒŒƒbƒh‚̒ʉ߂ð•\Ž¦‚µ‚Ü‚· - •¶Žš—ñ’l‚ð•\Ž¦‚µ‚Ü‚· - ”’l‚ð•\Ž¦‚µ‚Ü‚· - ”’l‚ð16i”‚Å•\Ž¦‚µ‚Ü‚· - - - <WATCH label="var1" value="123"/> - - o—Í—áF - ƒTƒ“ƒvƒ‹F - - - Dim var1 : var1 = 123WD2 "var1", var1 - - - - Dim var1 : var1 = 123Execute WD("var1") - - - - Function WD( Expression as string ) as string - - - - Function WS( Expression as string ) as string - - - - Function WX( Expression as string ) as string - - ”’l‚ð16i”‚Å•\Ž¦‚·‚éƒR[ƒh‚ð•Ô‚µ‚Ü‚· - ”’l‚ð•\Ž¦‚·‚éƒR[ƒh‚ð•Ô‚µ‚Ü‚· - •¶Žš—ñ’l‚ð•\Ž¦‚·‚éƒR[ƒh‚ð•Ô‚µ‚Ü‚· - - (src) - - - - MARK "a", 0 - - ŠÖ˜A - - ¨ Execute_Echo - - - g_debug_var - - ƒfƒoƒbƒK[‚ðŽg‚¤‚Æ‚«‚́A - ‚ɃEƒHƒbƒ`‚·‚é•Ï”‚ðŽ‚ÂƒIƒuƒWƒFƒNƒg‚ðÝ’肵‚Ä‚¨‚­‚±‚ƂŁA - •Ï”‚Ì’l‚ð•\Ž¦‚µ‚È‚ª‚çƒXƒeƒbƒvŽÀs‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B - - ¨ ƒoƒCƒiƒŠ[ƒf[ƒ^‚ðƒ_ƒ“ƒv•\Ž¦‚·‚é - - - - - - - - ƒGƒ‰[ˆ—‚̃fƒoƒbƒO - ƒGƒ‰[‚ª”­¶‚µ‚½Œã‚̏ˆ—‚ðAƒfƒoƒbƒO‚·‚é•û–@‚ðŽ¦‚µ‚Ü‚·B - - ¨ ƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚̃XƒNƒŠƒvƒg“à•”‚Ì—lŽq‚𒲂ׂé - - ‚Ü‚¸AƒGƒ‰[‚ª”­¶‚µ‚½uŠÔ‚ð•ß‚炦‚āA‚»‚̏ꏊ‚É Stop –½—ß‚ð‹Lq‚µ‚Ü‚·B - ŽQl - - ¨ ƒ\[ƒXEƒtƒ@ƒCƒ‹‚Ì’†‚Ì”CˆÓ‚̏ꏊ‚ŃuƒŒ[ƒNiˆêŽž’âŽ~j‚·‚é - - c Stop –½—ß - - g_debug - - ‚ð 99 ‚È‚Ç‘å‚«‚Ȑ”‚ɐݒ肵‚Ä‹N“®‚µ‚Ü‚·B - Stop ‚µ‚½‚çAƒXƒeƒbƒvŽÀs‚µ‚Ü‚·B - 1. - 2. - 3. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -