Zee之LR腳本練習之五:用system函數執行系統命令

參考資源:LR幫助

前提:windows系統
實現功能:用LR中的system函數執行系統命令
相關功能:在LR中利用C函數建立文件,寫文件,讀文件。
主要相關函數:sprintf/fopen/fgetc/fread/fclose
Action()
 {
      int count,total=0,i;
      char buffer[1000];
      long file_stream;
     char filename[1024], command[1024],line[100];
     char new_dir[] = "C://test";
     if (mkdir(new_dir))
          lr_output_message("Create directory %s failed", new_dir);
     else
          lr_output_message("Created new directory %s", new_dir);
     sprintf (filename, "%s//%s", new_dir, "newfile.txt");
     sprintf (command, "dir /b c:// > %s /w", filename );
     system(command);
     lr_output_message("Created new file %s", filename);
   if((file_stream=fopen(filename,"r"))==NULL)
       {
       lr_error_message("can not open %s",filename);
       return -1;
   }
   for(i=1;i<10;i++)
    {
       if (fgets(line, 100, file_stream) == NULL)
          lr_output_message("fgets error" );
     else
          lr_output_message( "The first line is /"%s/"", line);
    }
    while(!feof(file_stream))
              {
      count=fread(buffer,sizeof(char),1000,file_stream);
       lr_output_message("%3d read",count);
    if(ferror(file_stream))
              {
    lr_output_message("error reading file %s",filename);
    break;
        }
   total+=count;
        }
      lr_output_message("Total number of bytes read = %d",total);
     if(fclose(file_stream))
      lr_error_message("Error closing file %s",filename);
     return 0;
}
後注:在LR中可以執行任意windows的系統內部命令和外部命令。可以查看一下環境變量中的參數,是否還支持其他命令。
如果有java環境,也可以執行java命令,舉例如下:
Action()
{
       char command[1024];
     sprintf(command,"java -javaagent:D:/testtools/Mercury/MercuryDiagnostics/JAVAProbe/lib/probeagent.jar" );
     system(command);
    return 0;
}
 
如有錯誤之處,請指正。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章