2012-01-11 105 views
0

想運行set-keys.EXE的BAT文件,啓動default.html,然後當用戶關閉html時,運行set-keys-back.EXE 。 (他們都在同一個目錄中)。這可能是從CD運行的,所以我可能無法寫入標誌文件,然後等待查看它是否被刪除才能繼續。已經嘗試了START/WAIT,但已經看到WAIT實際上不會等待GUI 32位應用程序。已經考慮調用另一個批處理文件,仍然沒有運氣。寧願不要有暫停和用戶不得不回到CMD只是爲了一個關鍵 - 看起來笨重。當他們關閉HTML時,我執行top.window.close()。如果我可以在此之後添加其他代碼,那將會很好,但是我認爲一旦窗口關閉,它就會關閉 - 不再進行任何處理。無法讓WShell執行運行。 HTML狀態欄只是說在頁面上的錯誤 - 沒有信息。很想聽聽你的想法...CMD運行EXE,啓動HTML,等到關閉並運行最後EXE

回答

1

更新2:我想通了,你可以啓動IE瀏覽器直接,而無需使用start命令:

@echo off 
rem You can use %SCRIPTDIR% to refer to the file to load, if you like 
rem Note that %SCRIPTDIR% will contain a trailing slash! 
set SCRIPTDIR=%~dp0 

echo Testing this script... 
C:\PROGRA~1\INTERN~1\iexplore.exe %SCRIPTDIR%foo.html 
echo Continuing the script... 

這個例子對我的作品(視窗XP 32位),並等待我關閉瀏覽器窗口繼續。

更新:下面是啓動Internet Explorer的更新代碼塊。請注意,我用的是短路徑iexplore.exe可執行文件,我指定的完整路徑,文件加載:

@echo off 
echo Testing this script... 
start /wait /min cmd /C "C:\PROGRA~1\INTERN~1\iexplore.exe C:\foo.html" 
echo Continuing the script... 

最初的回答:你提到嘗試start /wait命令,但你是怎麼明確地寫出來?下面的批處理腳本例子爲我工作在Windows 7 64位系統:

@echo off 
echo Testing this script... 
start /wait /min cmd /C "%windir%\system32\notepad.exe foo.html" 
echo Continuing the script... 

在這個例子中,直到用戶關閉記事本應用程序的腳本不繼續執行。這裏唯一的缺點是會彈出一個額外的命令窗口,但通過使用參數/min,我們可以將其最小化。

+0

這對記事本非常有用。我可以得到它啓動default.html?我已經嘗試完整的路徑名到iexplore.exe,只是iexplore.exe ...當我運行它,它只是順序運行所有三個命令,你甚至從來沒有看到任何IE.ECHO關 START/B put_keys.exe 開始/等待/ min cmd/C「iexplore.exe + default.html」 START/B put_keys_back.exe – Jas 2012-01-11 15:26:07

+0

這適用於我:'start/wait/min cmd/C「C:\ PROGRA〜1 \ INTERN〜1 \ iexplore。 exe C:\ temp \ test.html「'。我必須關閉IE,才能繼續執行腳本。 – 2012-01-11 16:01:58

+0

迄今爲止超級出色。我同意你說的話。有沒有機會爲default.html使用相對路徑名或本地路徑名?這將會從CD中流失,而且你知道有些人會把它當作D:開車,有些人可能是E:或者誰知道。它與批處理文件和EXE位於同一個目錄中,希望Windows首先會默認到該目錄。 – Jas 2012-01-11 16:24:58