我想有它執行基於C我怎樣才能運行exe可執行文件(寫一個txt文件)在傳統的ASP
的exe文件filew.exe通過filew編譯生成一個exe文件的服務器頁面。 C;
filew.c>
#include <stdio.h>
int main()
{
FILE * fp;
fp = fopen("test.txt" , "w");
char* testStr = "this is test string";
fwrite(testStr , 1 , sizeof(testStr) , fp);
fclose(fp);
return 0;
}
我試過一些方法來做到這一點;
開始我嘗試用shellObject
Dim shellObj
Set shellObj = Server.CreateObject("WScript.Shell")
shellObj.run "E:\test\filew.exe"
set shellObj = nothing
它沒有工作運行..所以我想,執行此
Dim shellObj
shellObj = Server.CreateObject("Shell.Application")
shellObj.ShellExecute "E:\test\filew.exe"
Set shellObj = nothing
仍然沒有......所以我做了一個批處理文件exe文件
下的test.bat>
dir > e:\test\dir1.txt
E:\test\filew.exe
dir > e:\test\dir2.txt
//第一和第三行是爲了測試該批處理文件是否執行所有的正確與否
我通過
Dim shellObj
Set shellObj = Server.CreateObject("WScript.Shell")
shellObj.run "E:\test\test.bat"
set shellObj = nothing
叫這個批處理文件的結果是...只有dir1.txt和dir2.txt被創建,但沒有test.txt!
您檢查文件的權限?應該啓用IIS用戶來執行您所描述的操作(執行可執行文件和寫入文件)。 – misleadingTitle 2013-05-03 08:34:00
你沒有收到任何錯誤/消息嗎?嘗試將您的代碼塊(ASP)包裝在「On Error」塊中。 – Paul 2013-05-03 12:06:27
.exe文件是用於執行代碼的,只是將「this is test string」寫入文件並將其命名爲「something.exe」將不會實現任何內容,因爲它不會是有效的「機器代碼」,並且沒有正確的標題系統可能會忽略該文件的開始。 – 2013-05-03 15:13:59