Project1

标题: 脚本创建多级文件夹的问题 [打印本页]

作者: 涵影_博    时间: 2015-7-21 21:25
标题: 脚本创建多级文件夹的问题
首先,我先说明创建文件夹就是多级文件夹
一共两级
然后我用的代码是这个(只贴一段

RUBY 代码复制
  1. class Game_KankageSimbo
  2.  
  3.  
  4.   #--------------------------------------------------------------------------
  5.   # ● 开始处理
  6.   #--------------------------------------------------------------------------
  7.   def start
  8.  
  9.  
  10.     if Dir.glob(Path::BASIC + Path::NAME).empty?
  11.        FileUtils.mkdir_p(Path::BASIC + Path::NAME)
  12.     end
  13.  
  14.     if Dir.glob(Path::BASIC + Path::NAME + Path::SAVE).empty?
  15.       Dir.mkdir(Path::BASIC + Path::NAME + Path::SAVE)
  16.     end
  17.  
  18.     if Dir.glob(Path::BASIC + Path::NAME + Path::PATCH).empty?
  19.       Dir.mkdir(Path::BASIC + Path::NAME + Path::PATCH)
  20.     end
  21.  
  22.  
  23.   end
  24.  
  25.  
  26. end
  27.  
  28.  
  29.   #--------------------------------------------------------------------------
  30.   # ● 开始执行
  31.   #--------------------------------------------------------------------------
  32.  
  33.   Game_KankageSimbo.new.start

上面的Path::BASIC等等都是路径
然后这个就出错了


这是我ruby来的FileUtils函数的用法
FileUtils.mkdir_p( dir, *options )
Options: noop verbose

将生成dir目录及其所有上级目录。
例如

  FileUtils.mkdir_p '/usr/local/lib/ruby'

将生成下列所有目录(若没有的话)。
    * /usr
    * /usr/local
    * /usr/local/bin
    * /usr/local/bin/ruby


然后求大神解决
@喵呜喵5 @VIPArcher @taroxd  
作者: taroxd    时间: 2015-7-21 21:48
本帖最后由 taroxd 于 2015-7-22 06:52 编辑

RGSS 并没有 fileutils 库,Ruby 才有……

你可以选择如下方法:
将 fileutils 标准库直接复制到 RM 中使用。我家是 Ruby 2.2 的,代码如下(未测试,不保证能用):


2. 自己重定义一下 mkdir_p 。要求不是太高的话应该不会太难,就是一些简单的字符串操作而已。
我写过类似的代码,但是代码的目的是在不存在的文件夹创建文件。代码未整理成方法,也没有测试和查错,仅供参考:
RUBY 代码复制
  1. # filename:目标文件
  2.     paths = File.dirname(filename).split('/') # 要求使用正斜杠(/)
  3.     1.upto(paths.size) do |i|
  4.       dir = paths.first(i).join('/')
  5.       Dir.mkdir(dir) unless Dir.exist?(dir)
  6.     end
   
作者: 涵影_博    时间: 2015-7-22 16:33
taroxd 发表于 2015-7-21 21:48
RGSS 并没有 fileutils 库,Ruby 才有……

你可以选择如下方法:

然而直接复制粘贴出现了大段紫色内容 只要是“/”后面都是……




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1