当前位置:  开发笔记 > 后端 > 正文

使用ruby以递归方式在目录中运行文件

如何解决《使用ruby以递归方式在目录中运行文件》经验,为你挑选了1个好方法。

我正在编写脚本,它必须在目录及其子文件夹中运行每个ruby脚本.

例如

run-all.rb
- scripts
  - folder1
    - script1.rb
    - script2.rb
  - folder2
    - script3.rb
    - script4.rb

由于服务器是Windows服务器,我通常会使用批处理文件,但是头部开发人员坚持认为一切都必须在ruby中完成,因为有些成员有Mac并且可能不了解Windows批处理文件.

由于问题可能已经解决,我对Ruby的了解非常基础.



1> pjb3..:

取决于"跑"的意思.要在同一个ruby进程中执行每个脚本中的代码,这将解决问题:

Dir["scripts/**/*.rb"].each{|s| load s }

但是你想在它自己的ruby进程中运行每个脚本,然后试试这个:

Dir["scripts/**/*.rb"].each{|s| puts `ruby #{s}` }

只需将其中任何一个放入命令行的内容中,run-all.rb然后运行即可ruby run-all.rb.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有