R語言用shell語句執行exe文件


在做項目的過程中,要實現這樣一個目標:每執行一次exe文件就修改一次txt文件里的參數值。

糾結了很久,開始還打算用批處理來做,后來發現了shell語句能執行exe文件

代碼如下:

#格式轉換,轉換成,分隔的txt文件
for(i in 1:9){
  mark_text=paste("0.05HER0.2MAF_EDM-1_00",i,sep = "")
  mydata<- read.table(paste("E:\\qq\\MobileFile\\要跑的4個數據\\0.05HER0.2MAF_EDM-1\\",mark_text,".txt",sep = ""), header=TRUE)
  write.table(mydata,append = FALSE,file = paste("E:\\三個需要比較的工具\\MACOED\\test_",i,".txt",sep=""), row.names = F,quote = F,sep = ",")
}
for(i in 10:99){
  mark_text=paste("0.05HER0.2MAF_EDM-1_0",i,sep = "")
  mydata<- read.table(paste("E:\\qq\\MobileFile\\要跑的4個數據\\0.05HER0.2MAF_EDM-1\\",mark_text,".txt",sep = ""), header=TRUE)
  write.table(mydata,append = FALSE,file = paste("E:\\三個需要比較的工具\\MACOED\\test_",i,".txt",sep=""), row.names = F,quote = F,sep = ",")
}
mark_text="0.05HER0.2MAF_EDM-1_100"
mydata<- read.table(paste("E:\\qq\\MobileFile\\要跑的4個數據\\0.05HER0.2MAF_EDM-1\\",mark_text,".txt",sep = ""), header=TRUE)
write.table(mydata,append = FALSE,file = paste("E:\\三個需要比較的工具\\MACOED\\test_",100,".txt",sep=""), row.names = F,quote = F,sep = ",")
#--------------------------------------------------------------------------------------------------------------------------------------------------
#自動執行100次,程序每執行一次parameters.txt中的內容
#為了后面計數方便,在C++中屏蔽了最后輸出文檔(result.txt)中的中間過程
for(i in 1:99){
setwd("E:\\三個需要比較的工具\\MACOED")
shell("E:\\三個需要比較的工具\\MACOED\\MACOED.exe")
data <- readLines("E:\\三個需要比較的工具\\MACOED\\parameters.txt")
data=gsub(paste("test_",i,".txt",sep=""),paste("test_",i+1,".txt",sep=""),data)
data=gsub(paste("result_",i,".txt",sep=""),paste("result_",i+1,".txt",sep=""),data)
write.table(data,"E:\\三個需要比較的工具\\MACOED\\parameters.txt",row.names=F,col.names=F,quote=F)
}
shell("E:\\三個需要比較的工具\\MACOED\\MACOED.exe")
#-------------------------------------------------------------------------------------------------------
#將100個輸出文檔存到result.txt
#忽略前3行
mydata<-read.table("E:\\三個需要比較的工具\\MACOED\\result_1.txt",skip=3)
for(i in 2:100){
  newdata<-read.table(paste("E:\\三個需要比較的工具\\MACOED\\","result_",i,".txt",sep=""),skip=3)
  mydata<-rbind(mydata,newdata)
}
write.table(mydata,"E:\\result4.txt",row.names=F,col.names=F,quote=F)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM