Я использую system()
для итеративного запуска нескольких файлов через программу через CMD. Он помещает каждый вывод в подкаталог, предназначенный специально и только для этого входного файла. Таким образом, количество входов точно равно количеству выходных каталогов / выходов.
Мой код работает для первой итерации, но я вижу в консоли, что он не перейдет ко второму файлу после завершения первого. Знак остановки остается активным, поэтому я знаю, что R все еще «работает», но поскольку среда цикла for уникальна, я не могу точно сказать, на чем она застряла. Это просто так часами. Поэтому я не уверен, как начать диагностировать проблему, которая у меня возникла. Есть ли способ отследить, что произошло после отмены кода, например?
Если вам интересно, код выглядит следующим образом. Я не знаю, как сделать это воспроизводимым, поэтому я просто прокомментировал каждую строку:
for (i in 1:length(flist)) {
##flist is a vector of character strings. Each
row of characters is both the name of the input file and the name of the
output directory
setwd(paste0(solutions_dir, "\\", flist[i]))
#sets the appropriate dir
system(paste0(program_dir,"\\program.exe I=",
file_dir, "\\", flist[i], " O=",solutions_dir, "\\", flist[i],
"\\solv"))
##line that inputs program's exe file and the appropriate input/output
locations
}