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)