Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R Shinyapp用于重命名多个文件_R_Shiny - Fatal编程技术网

R Shinyapp用于重命名多个文件

R Shinyapp用于重命名多个文件,r,shiny,R,Shiny,嗨,我正在尝试创建一个闪亮的应用程序,可以同时重命名多个文件。我想我的问题是如何在服务器中调用函数来更改指定目录中文件的名称 library(shiny) ui <- fluidPage( titlePanel("Rename Multiuple files"), sidebarLayout( sidebarPanel( textInput("input_dir", label = "Choose Input Directory"), textI

嗨,我正在尝试创建一个闪亮的应用程序,可以同时重命名多个文件。我想我的问题是如何在服务器中调用函数来更改指定目录中文件的名称

library(shiny)

ui <- fluidPage(
  titlePanel("Rename Multiuple files"),

  sidebarLayout(
    sidebarPanel(
      textInput("input_dir", label = "Choose Input Directory"),
      textInput("search_pattern", label = "Choose a search pattern"),
      textInput("replacement", label = "Choose a replacement pattern"),
      submitButton('Submit')
    ),
    mainPanel(
      h4("You're directory"),
      textOutput("directory"),
      textOutput("search_pattern")
    )
  )
)

rename.files = function(input_dir, search_pattern, replacement){

  filez = list.files(input_dir, pattern = search_pattern )
  sapply(filez,FUN=function(eachPath){
    file.rename(from=eachPath,to=sub(pattern = search_pattern,
                                     replacement = replacement,eachPath))})
}

server <- function(input, output, session) {
  output$directory = renderText({input$input_dir})
  output$search_pattern = renderText({input$search_pattern})
  output$replacement = renderText({input$replacement})


  reactive(rename.files(input$input_dir,input$search_pattern,input$replacement))

}

shinyApp(ui = ui, server = server)
库(闪亮)

ui这里有一种可能性可以为您指明正确的方向。注意,我使用
shinyFiles
中的
shinyDirPicker
从用户那里获取目录

希望这有帮助



库(闪亮)
图书馆(shinyFiles)

ui这里有一种可能性可以为您指明正确的方向。注意,我使用
shinyFiles
中的
shinyDirPicker
从用户那里获取目录

希望这有帮助



库(闪亮)
图书馆(shinyFiles)

谢谢!非常有用谢谢!很有帮助
library(shiny)
library(shinyFiles)

ui <- fluidPage(
  titlePanel("Rename Multiple files"),

  sidebarLayout(
    sidebarPanel(
      shinyDirButton('directory','Select Directory:','Select Directory:'),
      textInput("search_pattern", label = "Choose a search pattern"),
      textInput("replacement", label = "Choose a replacement pattern"),
      actionButton('submit','Submit')
    ),
    mainPanel(
      h4("Your directory"),
      textOutput("directory"),
      textOutput("search_pattern")
    )
  )
)


server <- function(input, output, session) {

  shinyDirChoose(input,'directory',roots=c(wd='.'))

  observeEvent(input$submit,{
    directory = parseDirPath(roots = c(wd='.'), input$directory)
    myfiles = list.files(directory)
    new_names = gsub(input$search_pattern,input$replacement,myfiles)
    file.rename(paste0(directory,'/',myfiles),paste0(directory,'/',new_names))
    })
}

shinyApp(ui = ui, server = server)