我想檢測一個服務器輸出在另一個提示符下運行在Windows cmd提示符下,並觸發其他提示。可能嗎?Windows批處理 - 檢測控制檯輸出
回答
你在找什麼叫做Named Pipe
或"FIFO"
我不知道如何在windows中做到這一點。我在linux上只在大學學過一次。繼承人的鏈接,好運
命名管道是一個命名的,單向或用於管道服務器和一個或多個管道客戶端之間的通信 複式管。
任何進程都可以充當服務器和客戶端,使對等通信成爲可能。如這裏所使用的,術語管道服務器指的是創建命名管道的過程,而術語管道客戶端指代連接到命名管道的實例的過程 。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365590(v=vs.85).aspx
我想你可能能夠做到這一點使用腳本/自動化工具,如AutoIt的。雖然它沒有完全解決,你可以看到下面的鏈接對這個問題的一些想法 - http://www.autoitscript.com/forum/topic/64872-read-from-command-prompt-window/
你是不是真的很清楚你的意思是「服務器輸出」。這是你寫的一個應用程序嗎?如果是這樣,而不是僅僅依靠解析屏幕文本,爲什麼不登錄到一個平面文件,另一個進程可以更容易地讀取內部發現的內容。更好的辦法是登錄到一個數據庫,在那裏你的文件鎖定問題更少。
如果服務器應用程序不是您自己創建的,那麼它是否寫入系統事件日誌?與控制檯窗口相比,這將更容易做出反應。
如果我使用文件進行日誌記錄,我該如何不斷檢查這個文件是否有字符串,並且一旦它出現觸發事件? –
您的「監控程序」將不得不循環,您可以創建計劃任務,並重新啓動您的監控程序,並在發現觸發文本時執行「其他」任務。 –
我你是幸運的,這可能工作:
theOriginalProcess | theWatcherProcess.bat
這是theWatcherProcess.bat
@echo off
rem Wait for output from theOriginalProcess and read it
set /P outputLine=
rem Trigger something else
echo Output from theOriginalProcess detected!
如果沒有作品,然後theWatcherProcess.bat要求theOriginalProcess與它的一些合作辦法。您可以在this post以及解決方案this one上閱讀關於此問題的更多描述。
編輯:我開發了一個新版本的異步Tee.bat程序,可以輕鬆修改以解決您的請求。在this post找到它。
@Sairam Sankaran:在我的回答中查看編輯... – Aacini
- 1. 讀控制檯處理輸出
- 2. 處理許多控制檯的輸出
- 3. C#控制檯調用批處理多個批處理文件
- 4. 批處理文件控制檯
- 5. 批處理並不阻止控制檯
- 6. Windows批處理腳本輸出日誌
- 7. Windows批處理
- 8. 如何爲英特爾ManyCore Lab批處理作業提供控制檯輸出?
- 9. C#控制檯來自多個批處理文件的相同輸出
- 10. 將從批處理文件調用的bash輸出重定向到控制檯
- 11. 在WinSCP中調用外部批處理來捕獲控制檯輸出
- 12. 將整個控制檯輸出輸出到文本文件
- 13. 如何處理Eclipse控制檯輸入和輸出(Java)?
- 14. 處理控制檯輸入(換行符)
- 15. Java - windows/linux中的控制檯輸出
- 16. 將輸出重定向到控制檯
- 17. 控制檯輸出
- 18. 輸出控制檯
- 19. 如何控制批處理文件中的輸出文件名?
- 20. 批處理文件輸出
- 21. Ruby和控制檯輸出
- 22. 顯示控制檯輸出?
- 23. Aerospike管理控制檯:無批處理查詢吞吐量
- 24. Spring批處理管理控制檯 - com.thoughtworks.xstream.mapper.CannotResolveClassException「class:java.util.HashMap」
- 25. C#UTF8控制檯輸出
- 26. 爲什麼控制檯上的信號處理沒有輸出?
- 27. 重複自我處理的控制檯輸出
- 28. 在處理冗長的腳本時php-capture控制檯輸出
- 29. 檢測控制檯窗口?
- 30. 控制Python輸出到控制檯
*** wingardium leviosa ****是否做到了這一點? –
@AMR它是wingardium LeviOsa,而不是LevioSA – Eonasdan
lmao .... touche'..... –