Re: [問題] WebAPI 呼叫 Bat檔

作者: OpenGoodHate (什麼東西什麼東西)   2018-06-13 19:32:51
感謝有大大寄站內信來一起討論這個問題
今天改寫成PS呼叫
後來我直接把Code 搬到測試環境用本機呼叫IIS Express 的方式跑
發現一切在Visual Studio下都可以過
另外開的CONSOLE 也可以呼叫起來
但是丟到IIS 上面跑就不會過了
目前想到可能是下面兩個
1. 權限問題(但是可以順利的印出DIR,代表可以叫PS 去作事)
2. 32/64位元問題(但是PS 叫的起來應該就沒這問題)
暫時沒更進一步的想法
但是VS 會過應該就是流程沒問題…吧
己經把 application pool 的權限加到要呼叫bat 檔的資料夾裡
※ 引述《OpenGoodHate (什麼東西什麼東西)》之銘言:
: 手機好像無法回推文@@
: 這幾天想辦法單步執行
: 把外部呼叫exe檔的部份卡掉就可以過了
: 所以就想說寫一支 call exe 的bat 檔
: 給api呼叫
: 結果模擬失敗
: 我寫的程式竟然會很順利的跑完
: 看來只能想辦法追一下原始碼
: 那支bat 跟exe 都還滿復雜的
: 目前除了追原始碼想不到什麼好方法XD
: ※ 引述《OpenGoodHate (什麼東西什麼東西)》之銘言:
: : 如題
: : 原本有一支程式是bat檔寫的
: : 現在的操作方法是用復製的把呼叫檔跟參數
: : 貼在命令列
: : 現在的需求是要開個串口給外部呼叫
: : 所以自然就想到用WebAPI來接受參數
: : 再組出原本在命令列的字串貼上去跑
: : 但是用
: : System.Diagnostics.Process.Start
: : 呼叫cmd.exe之後一直都卡住
: : 我就去看了bat原始的寫法
: : 發現bat 的中間有再去呼叫另一支exe程式
: : 只要呼叫到這支EXE就會卡住
: : 原始動作用手貼上的時後
: : 跑到這支程式,會再彈一個新的命令列視窗
: : 做完就關掉
: : 我猜是因為這樣卡死
: : 因為程式很簡單就
: : Process.Start 呼叫cmd.exe
: : 再把參數丟進去
: : 丟個DIR或是PING 都可以正常執行
: : 這樣看來就是卡死了
: : 有什麼方法可以解Bat 包exe的呼叫嗎
: : 目前google 都只有用Process的做法
: : 有人試過其它做法嗎
: :

Links booklink

Contact Us: admin [ a t ] ucptt.com