Как я могу использовать R для замены базовых имен файлов в сценарии для CMD? - PullRequest
0 голосов
/ 21 ноября 2018

Я хотел бы использовать R, чтобы перейти к имеющемуся у меня текстовому документу и итеративно заменить базовые имена файлов в первых двух строках (входные и выходные) на имена из списка, который я сохранил в R. Текстовый файлвыглядит следующим образом:

parameter  input "C:\Users\inputdirectory\20090522_104644_r2_0_DVJ_50.k"
parameter  output "C:\Users\outputdirectory\20090522_104644_r2_0_DVJ_50.k"
parameter  meshsize 60.0
parameter  zlength 500.0
parameter  zelem 10
runscript "meshoutline.scl"  &input &output &meshsize &zlength &zelem

Идея состоит в том, чтобы заменить входные и выходные файлы (они должны быть одинаковыми именами, поскольку они хранятся в разных каталогах), а затем отправить сценарий для запуска в CMD.Затем повторите цикл со следующим именем файла в списке, которое выглядит следующим образом в R:

flist <- c("20080715_160601_es_2_KOE_50", "20080806_162049_es_0_JSX_50", "20080810_004229_es_0_WIB_50")

Я никогда раньше не использовал R для системных вещей.Это возможно?

1 Ответ

0 голосов
/ 22 ноября 2018

Вот как вы можете это сделать:

s0 <-
c('parameter  input "C:\\Users\\inputdirectory\\"',
'parameter  output "C:\\Users\\outputdirectory\\"',
'parameter  meshsize 60.0',
'parameter  zlength 500.0',
'parameter  zelem 10',
'runscript "meshoutline.scl"  &input &output &meshsize &zlength &zelem')

flist <- c("20080715_160601_es_2_KOE_50", "20080806_162049_es_0_JSX_50", "20080810_004229_es_0_WIB_50")

for (file in flist) {
  s <- s0
  s[1:2] <- paste0(s[1:2], file)
  sapply(s, system)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...