Windows ã®ãããã¹ã¯ãªããã¯çµæ§é£ãã
ã¡ããã¨èª¿ã¹ãã°ãããã使ããã®ã ãã©ãLinux ã®ã·ã§ã«ã«æ
£ãã身ã¨ãã¦ã¯ãã¯ã¼ä¸è¶³ãå¦ããªãã
ãã¨ãã£ã¦ãRuby ããã§å®è£
ãããã«ãã対象ã®ã¯ã©ã¤ã¢ã³ãPCã«å
¥ã£ã¦ãããæ°ã«ããªãã¦ã¯ãããªãã®ã§ãã§ããã° Windows ãã¤ãã£ããªè¨èªã§å®è£
ãããã
ãã ãVBScript ã£ã¦ã»ã¨ãã©ãã£ãäºç¡ããããã£ã¨æ軽ã«å®è£
ãããï¼ï¼
ãããªæ㯠WSH ã ï¼
WSH㯠Windows98 ããå®è£ ããã¦ããããVBScript 㨠JScript ããµãã¼ããã¦ãããããæ®æ®µ VB ã«æ £ãã¦ãªããããªäººã§ã JS ã ã£ããã¾ã åã£ä»ãããããï¼ãã£ã¦äººãå¤ãã¨æã*1ã
使ãæ¹
cscript JScript ãã¡ã¤ã«
ã¨ãã㨠WSH ãèµ·åãã¦ã¹ã¯ãªãããå®è¡ããããã¡ã¤ã«ãããã«ã¯ãªãã¯ã§ãå®è¡ã§ãããã©ãåºåãã¡ãã»ã¼ã¸ããã¯ã¹ã«ãªã£ã¦ãã¾ãã®ã§ã³ãã³ãã©ã¤ã³ããã cscript ã³ãã³ãçµç±ã§å®è¡ãã¦ãã
JScript ã¨è¨ã£ã¦ãç¹å¥ãªãã¨ã¯ãªãã¦ãæ®éã« JavaScript ãè¨è¼ããæè¦ã§è¯ãããã ãWindows ã«ã¢ã¯ã»ã¹ããããã®å°ç¨ãªãã¸ã§ã¯ããçæãã¦ä½¿ç¨ããé¨åãããã®ã§ãããã追ã
è¦ãã¦ããã°è¯ããã¼ã¼ã¤ã¾ããããããã¡ã¤ã«ã§æ©ã¿ã®ç¨®ã«ãªããããã£ã if æã for æã§æ©ãäºã¯ç¡ã訳ã§ããã
ãµã³ãã«ããã°ã©ã
ãã使ããããªæãé©å½ã«å®è£ ãã¦ã¿ãã
- cscript ãã¡ã¤ã«å®è¡æã«å¼æ°ã渡ãããæ¹
- ãã¡ã¤ã«ã·ã¹ãã ã¸ã®ã¢ã¯ã»ã¹
- system é¢æ°çãªä½¿ãæ¹
- popen é¢æ°çãªä½¿ãæ¹ï¼åããã»ã¹ã§å®è¡ããããã°ã©ã ã®æ¨æºåºåãåãåãï¼
function print(message) { WScript.Echo(message) } // åè http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_02.html // system é¢æ°çãªã¤ãæ¨æºåºåçµæã¯åãåããªã function SystemCallRun() { var objShell = WScript.CreateObject("WScript.Shell") // 第äºå¼æ°ã§ã¦ã£ã³ãã¦ã®å¤§ãããå¶å¾¡ãã objShell.Run("notepad.exe", 1, false) // false 㯠notepad ã®çµäºãå¾ ããªãã§ããã°ã©ã ãç¶ãã } // åè http://www.atmarkit.co.jp/fwin2k/operation/wsh05/wsh05_03.html // system é¢æ°çãªã¤ãæ¨æºåºåçµæãåãã¨ã function SystemCallExec() { var objShell = WScript.CreateObject("WScript.Shell") // cmd /c ã¯ã³ãã³ããå®è¡ããå¾ã« cmd ãçµäºããããªãã·ã§ã³ var objExec = objShell.Exec("cmd /c dir c:\\") while(!objExec.StdOut.AtEndOfStream) { print(objExec.StdOut.ReadLine()) } } // åè http://msdn.microsoft.com/ja-jp/library/cc428041.aspx // ãã¡ã¤ã«æä½ã¯ FileSystemObject ã使ãã function ReportFileStatus(filespec) { var fso, s = filespec; fso = new ActiveXObject("Scripting.FileSystemObject"); if (fso.FileExists(filespec)) { s += " ã¯ãåå¨ãã¾ãã"; } else { s += " ã¯ãåå¨ãã¾ããã"; } print(s); } // åè http://msdn.microsoft.com/ja-jp/library/cc428069.aspx // ãã¡ã¤ã«æ å ±ãåå¾ããã function ShowFileInfo(filespec) { var fso, f, s; fso = new ActiveXObject("Scripting.FileSystemObject"); f = fso.GetFile(filespec); print("Attributes:" + f.Attributes) print("DateCreated:" + f.DateCreated) print("DateLastAccessed:" + f.DateLastAccessed) print("DateLastModified:" + f.DateLastModified) print("Drive:" + f.Drive) print("Name:" + f.Name) print("ParentFolder:" + f.ParentFolder) print("Path:" + f.Path) print("ShortName:" + f.ShortName) print("ShortPath:" + f.ShortPath) print("size:" + f.size) print("Type:" + f.Type) } // å¼æ°ã®åãæ±ã for (var i = 0; i < WScript.Arguments.length; i++) { print("å¼æ°[" + i + "]=" + WScript.Arguments(i)) } // ãã¡ã¤ã«æ å ±ãåºåãããªãã¸ã§ã¯ã ShowFileInfo("test.js") // ãã¡ã¤ã«æä½ç³»ãªãã¸ã§ã¯ã ReportFileStatus("test.js") // system é¢æ°çã«ä½¿ãå®è¡ã®ã¿ SystemCallRun() // system é¢æ°çã«ä½¿ããçµæã®æ¨æºåºåãåå¾ã§ãã SystemCallExec()
å®è¡çµæ
ã³ãã³ãå¼æ°ã¯ä»¥ä¸ã®ããã«ãå¾ç¶ã®å¼æ°ã«æ¸¡ãã°ä½¿ããã
cscript test.js 1 aiueo "å¼æ°"
ä¸è¨ã®ã¹ã¯ãªãããå®è¡ããçµæã
ãããã«ããã¨æã£ãã®ã§é©å®ã³ã¡ã³ããå
¥ãã¦ã¾ãã
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.// å¼æ°ã®åãæ±ã
å¼æ°[0]=1
å¼æ°[1]=aiueo
å¼æ°[2]=å¼æ°//ShowFileInfo("test.js")
Attributes:32
DateCreated:Mon Dec 1 02:14:19 UTC+0900 2008
DateLastAccessed:Mon Dec 1 02:14:19 UTC+0900 2008
DateLastModified:Mon Dec 1 02:14:00 UTC+0900 2008
Drive:C:
Name:test.js
ParentFolder:C:\tmp
Path:C:\tmp\test.js
ShortName:test.js
ShortPath:C:\tmp\test.js
size:2219
Type:JScript Script File//ReportFileStatus("test.js")
test.js ã¯ãåå¨ãã¾ãã//SystemCallRun()
//å®è¡ããã¨ã notepad ãèµ·åãã¦ããã¯ã//SystemCallExec()
ãã©ã¤ã C ã®ããªã¥ã¼ã ã©ãã«ãããã¾ããã
ããªã¥ã¼ã ã·ãªã¢ã«çªå·ã¯ 9C10-B841 ã§ãc:\ ã®ãã£ã¬ã¯ããª
2007/01/14 02:49 0 AUTOEXEC.BAT
2007/01/14 02:49 0 CONFIG.SYS
2007/01/14 02:53Documents and Settings
2007/01/14 03:19ppwork
2008/08/24 17:50Program Files
2007/06/10 15:40ruby
2008/12/01 02:14tmp
2008/11/26 23:36WINDOWS
2 åã®ãã¡ã¤ã« 0 ãã¤ã
6 åã®ãã£ã¬ã¯ã㪠21,319,520,256 ãã¤ãã®ç©ºãé å
ããç°¡åã§ãããï¼
*1:ã£ã¦ãããããã®äºã ãï¼