
基于PJ混排的批處理自身隱藏運行最后由 amwfjhh 于 -12-10 16:19如題:某些情況下需要建立一個常駐進程的腳本來定期執行或檢查某些任務,這個時候批處理會一直在桌面窗口顯示,要么最小化到任務欄占據一席之地,這個時候我們希望知道它在運行就行了,不需要出現在眼前,“眼不見,心不煩”,可以自如在干其它事情,免得意外操作將腳本關掉,又得重新執行,如果其前期會執行大量初始任務的話,這個狀況會讓人很受傷,之前是利用VBS中的SHELL對象,Run腳本并隱藏之,現在有了PJ混排后,可以直接在批處理自身便處理好這件事情。
- @if (0)==(0) echo off
- if %1 EQU (
- REM 無參啟動時,退出腳本并以隱藏方式重啟
- cscript -nologo -e:jscript %~s0 RunAndHide %~s0
- goto :EOF
- ) else (
- goto %1
- )
- :_start
- echo,運行后你應該看不到我,如果你能看到我,此腳本未被隱藏
- REM 接下來可以做其它需要的事情...
- pause
- goto :EOF
- @end
- if (Wscript.arguments.length < 1){
- Wscript.echo(無參數錯誤);
- Wscript.quit();
- }
- var fun=Wscript.arguments(0);
- switch (fun){
- case RunAndHide:
- if (Wscript.arguments.length < 2) {
- Wscript.echo(缺少運行參數);
- Wscript.quit();
- }
- var strFile = Wscript.arguments(1);
- RunAndHide(strFile);
- break;
- default:;
- }
- function RunAndHide(str){
- new ActiveXObject(Wscript.Shell).Run(str + :_start, 0, false);
- }
nclick="copycode($('code0'));">復制代碼
代碼中有很多行在這個示例里面可以合并節省代碼量,此處是作為一個可擴展框架樣本而成的這種格式。