在asp.net中呼叫process.start執行程式,需要設定執行iis程序使用者的許可權,比較麻煩, ms的站點上有一篇說明:
(估計頁面404)
換種方法,可以先執行cmd.exe,然後以引數形式呼叫bat檔案即可,參考文章:
//.bat 的寫法:get the full file path
string strfilepath =「c:\\temp\\test.bat」;
//create the processinfo object
system.diagnostics.processstartinfo psi = new
system.diagnostics.processstartinfo(「cmd.exe」);
psi.useshellexecute = false
;psi.redirectstandardoutput = true
;psi.redirectstandardinput = true
;psi.redirectstandarderror = true
;psi.workingdirectory =「c:\\temp\\「;
//start the process
system.diagnostics.process proc =system.diagnostics.process.start(psi);
//open the batch file for reading
system.io.streamreader strm =system.io.file.opentext(strfilepath);
//attach the output for reading
system.io.streamreader sout =proc.standardoutput;
//attach the in for writing
system.io.streamwriter sin =proc.standardinput;
//write each line of the batch file to standard input
while(strm.peek() != -1
)strm.close();
//exit cmd.exe
string stechofmt = 「# run successfully. exiting」;
sin.writeline(string.format(stechofmt, strfilepath));
sin.writeline(「exit」);
//close the process
proc.close();
//read the sout to a string.
string results =sout.readtoend().trim();
//close the io streams;
sin.close();
sout.close();
//write out the results.
string fmtstdout = 「0>
」;this.response.write(string.format(fmtstdout,results.replace(system.environment.newline, 「
」)));
1、
@echo off:預設path = %path%;.\..\process\; 其中%path%是必須,.\..\process\是相對於2018.bat的路徑
uilessrevit2018.exe 是要執行的程式pause是防止窗體關閉而已。
讓程式 exe 以系統服務的方式執行
c instsrv.exe 服務的名稱 c srvany.exe 回車 執行登錄檔程式 regedit.exe 建立 hkey local machine system currentcontrolset services 服務的名稱 子項。選 服務的名稱 按右鍵,新建 項 取名 parameter...
ubuntu執行exe程式
以採集器舉例 1 更新源 sudo apt get update sudo apt get upgrade sudo apt get install python software properties sudo apt get install software properties common ...
python中執行cmd的方式
目前我使用到的python中執行cmd的方式有三種 1.使用os.system cmd 這是最簡單的一種方法,特點是執行的時候程式會打出cmd在linux上執行的資訊。使用前需要import os。python view plain copy print os.system ls 2.使用popen...