Robert 寫了一個 Java 的同步化程式,
想要藉由 Windows 的排定工作來每分鐘執行一次
原本是這樣子的,透過 BAT檔 , 再由排程來呼叫,並啟動每分鐘執行一次。

-----RunJobs.bat 內容如下-------

@c:
@cd C:\JPOP_JOB
@java jobs_start

exit
-----RunJobs.bat 內容如上-------


可是總是那黑色的 cmd 執行視窗也跟著跑出來,常常很困擾人
由於是BAT檔,又無法在圖示的內容中找到可執行時最小化的選項。
只好透過 BAT 的語法來找 Solution

後來參考了一下對岸的教學
(感覺上好像都是偏向入侵主機的教學...Orz)
大致上是如此使用的
以 Robert 本次使用情況為例

只要再建立另一個 Bat 檔來呼叫 RunJobs.bat 就可以了....
-----CallJobs.bat 內容如下-------
start/min  C:\JPOP_JOB\RunJobs.bat&exit
-----CallJobs.bat 內容如上-------         
( start 命令
  調用外部程序,所有的DOS命令和命令行程序都可以由start命令來調用。
  入侵常用參數:
  MIN 開始時窗口最小化
  SEPARATE 在分開的空間內開始 16 位 Windows 程序
  HIGH 在 HIGH 優先級類別開始應用程序
  REALTIME 在 REALTIME 優先級類別開始應用程序
  WAIT 啟動應用程序並等候它結束
  parameters 這些為傳送到命令/程序的參數
  執行的應用程序是 32-位 GUI 應用程序時,CMD.EXE 不等應用程序終止就返回命令提示。如果在命令腳本內執行,該新行為則不會發生。
)


然後再以 Windows 的排定工作執行 CallJobs.bat 即可

感覺上有點換湯不換藥的感覺
不過真的解決 Robert 的問題了                       
                                                                             

另有 透過 vbs 的方法
將下列文字語法另存為.vbs檔即可,
createobject("wscript.shell").run "C:\JPOP_JOB\RunJobs.bat",0

不過實際執行完此語法之後,的確可以最小化執行時的視窗,
但是卻無法在執行之後自動關閉。
這部份就留待 Robert 以後有空時再來研究一下 vbs 更詳細的語法吧

arrow
arrow
    全站熱搜

    羅伯特 發表在 痞客邦 留言(3) 人氣()