2013-11-27 176 views
9

我想在運行執行批處理文件的計劃任務時保持打開控制檯窗口。如果我手動運行它意味着執行批處理文件窗口保持打開狀態,但通過任務調度程序它不會打開,但我可以看到任務仍在運行。我最後停下來做這件事。運行計劃任務執行批處理文件時保持命令行窗口打開

@echo off 
TITLE PROCESS_MGR 
tasklist /FI "IMAGENAME eq JOESMO.exe" | find /I "JOESMO.exe">nul &&(echo PROCESS 
JOESMO.exe IS ALREADY RUNNING! 
echo %DATE% 
echo %TIME% 
pause 
) || (
echo JOESMO PROCESS IS NOT RUNNING 
cmd /c start "JOESMO.exe" "C:\Users\xxxx\Documents\ 
Visual Studio 2010\Projects\Projects2013\JOESMO.exe" 
pause) 

我發現這個建議CMD/K myscript.bat但對於Windows Server 2008的具有開創任務調度任務,我不知道在哪裏應用它。我在任務中的編輯動作中的添加參數框中添加了/ k。

回答

18

在計劃任務對話框,只是它會運行(它的標記Program/script批處理文件的名稱之前,您現在有這樣的事情:

myscript.bat 

將其更改爲

cmd 

將以下內容添加到**添加參數(可選)條目:

/k "C:\My Batch File Folder\MyScript.bat" 

Teste d在我的系統上(Win7 64位),並且它工作得很完美。我正在查看它在我輸入此文本時創建的打開命令窗口。 :-)

+0

感謝您的回覆。我這樣做了,並得到了一個問題,我是否希望使用以下參數運行任務/ k「c:\ .. bat」。我說是的,試過了,任務仍在運行,沒有控制檯窗口。 – vbNewbie

+0

@vbNewbie:看我的編輯 –

+0

非常感謝。得到它的工作..是一個錯誤的參數字段 – vbNewbie

4

遺憾的是肯的解決方案並沒有爲我在Windows 2008 R2標準服務器上運行,我能夠通過修改計劃任務使用SchTasks.exe會

設置在命令窗口中啓動一個交互窗口我做了下面的命令:

schtasks /Change /TN "My Task" /IT 

但是,這確實需要您作爲執行計劃任務的相同用戶上下文登錄。因此,如果您的計劃任務使用本地系統「taskaccount」,那麼您將不得不以「taskaccount」用戶身份登錄系統。

奇怪的是,當我手動運行任務時它工作正常,但它在預定的時間啓動時沒有彈出。

0

創建批處理文件的快捷方式並將其放入操作中。爲我工作

0

肯的答案沒有爲我工作。

發現這樣做的:

在BAT文件(創建一個如果你只有一個EXE):

start C:/Absolute/Path/To/MyScript.exe myScriptArg 

的作品就像一個魅力!

注意:在計劃任務時,必須檢查「EXEC只有當用戶登錄」

0

我嘗試了所有的方法,但他們並沒有爲我工作。這是我獲得這項工作:

平臺 的Windows Server 2003 R2 SP2 的activeperl V5.10。1

步驟

  1. 創建DOS批處理腳本 - 這個運行實際的程序,即myscript.bat
  2. 創建Perl腳本調用DOS批處理腳本,即myscript.pl
  3. myscript.pl是一個單行腳本:system(「e:\ scripts \ myscript.bat」);
  4. 創建計劃任務:perl的myscript.pl

的DOS現在命令提示符窗口總是打開。更重要的是,這項任務現在已經成功運行並完成。注意:計劃任務RunAs用戶是登錄到服務器的

+0

請嘗試以下操作: 'CMD/C C:\ MyScript.bat' 並取消選中「僅在用戶登錄時執行」。 –

相關問題