Я пытаюсь создать пакет R для Windows 10, который позволит мне использовать клиент протокола защищенной передачи файлов (SFTP) PuTTY, PSFTP из консоли R для передачи файлов туда и обратнона сервер SFTP (да, я понимаю, что существуют другие пакеты, которые могут выполнять передачу SFTP, но я действительно хочу разработать это для работы именно с PSFTP). Я думаю, что я смогу заставить это работать, если я смогу просто преодолеть одно препятствие, которое я не знаю, как реализовать в R. Есть ли способ, которым я могу вызвать системную команду windows и запустить ее как своего рода сеанс, чтобы я мог продолжатьработать с ним в интерактивном режиме изнутри R? По сути, я просто хочу взять команды из консоли R и передать их в то же окно командной строки Windows, в котором одна команда выполняется после предыдущих команд.
Простой пример с игрушкой поможет мне объяснить, что я пытаюсь сделать. Допустим, мне нужно построчно выполнить несколько системных команд Windows в R, например, используя cd ..
, чтобы изменить каталог на один уровень, а затем перечислить содержимое с помощью dir
. Я мог бы попробовать это:
system("cmd.exe", input="cd ..")
system("cmd.exe", input="dir")
Очевидно, что это не сработает так, как я хочу, потому что нет «памяти» первой строки кода, выполненной в системе Windows, когда явыполнить вторую строку. Мне бы хотелось, чтобы в R был какой-то способ создания кода, подобного приведенному выше, чтобы он был эквивалентен моему запуску командной строки из одного окна cmd и вводу следующих команд по одной:
cd ..
dir
В конце я хочу создать своего рода Windows-сессию - вроде как работает пакет rvest
. В rvest
пользователи могут создавать сеанс, а затем последовательно отправлять команды сеансу, и каждая последующая команда начинает с того места, где остановилась последняя команда в сеансе:
library(rvest)
session <- html_session("http://hadley.nz")
jump_to(session, "hadley-wickham.jpg") #this continues with the session via first argument
Я в основном хочу реализоватьта же концепция, что и здесь, где мои последующие строки продолжаются с предыдущих. Это возможно? Как бы я поступил так с примером "cd ..", "dir" выше? Если я смогу понять это, я думаю, что я отправлюсь на гонки.
Спасибо.