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)

 

posted on 2017-12-14 21:22  无果分飞  阅读(2586)  评论(0编辑  收藏  举报

导航