【问题标题】:How to create a folder on a server in Ruby? [duplicate]如何在 Ruby 中的服务器上创建文件夹? [复制]
【发布时间】:2016-12-06 01:22:10
【问题描述】:

我正在编写脚本以使用模块net/scp 将文件夹从客户端上传到服务器,但如果服务器上尚不存在 ruby​​,我不知道如何使用 ruby​​ 自动创建新文件夹。我该怎么做?以及如何使用net/scp 在服务器上运行任何 Ruby 脚本?

这是我目前的代码:

def upload(fileName_upload,pathLocalFolder,pathRemoteFolder)
  pathLocalFolder=pathLocalFolder + '/'+fileName_upload
  Net::SCP.start($host, $username, :password => $pass_Word) do |scp|
  scp.upload! pathLocalFolder, pathRemoteFolder
  channel = scp.upload(pathLocalFolder, pathRemoteFolder)
  channel.wait
end

def uploadFolder(pathLocalFolder,nameFolderInServer)
  # I want to create a folder on the server, but I don't know how to do it
  #Dir.mkdir(nameFolderInServer) unless File.exists?(nameFolderInServer)
  Dir.glob(pathLocalFolder) do |item|
    name=File.basename item,''
    if File.directory?(name)
      uploadFolder(pathLocalFolder+'/'+name,name)
    end
    if File.file?(name)
      upload(name,pathLocalFolder,$remote_Path+'/'+nameFolderInServer)
    end
  end
end

【问题讨论】:

  • 欢迎来到 SO。感谢您改进您的问题——您的关心真是太好了!这个问题真的是两个问题;我发现了一个可以回答其中一个问题的现有问题,因此我将这个问题与那个问题联系起来。如果其他地方尚未回答您的其他问题(关于 net/scp),则应单独提出。

标签: ruby scp


【解决方案1】:

使用FileUtils.mkdir_p。无需检查它是否已经存在,因为如果给定目录已经存在,此方法将不执行任何操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-08
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多