如何解决如何自动找到当前目录中指定类型的文件或Ruby中任何指定的子文件夹?
| 我正在使用以下代码将文件从php转换为html。为了使其正常工作,我必须在第二行输入每个文件的名称。p \"convert files\"
%w(file1 file2 file3).each do |name|
system %(php #{DIR}/#{name}.php > #{DIR2}/#{name}.htm)
end
有人可以告诉我如何制作它,以便它会自动在主目录中找到任何.php文件,并在任何定义的文件夹及其子文件夹中查找其他.php并将它们保存在相似的文件夹名称中吗?
例如:
file1.php -> file1.htm
about-us/file2.php -> about-us/file2.htm
contact-us/department/file3.php -> contact-us/department/file3.htm
解决方法
最简单的方法是使用
Dir
:
Dir.chdir(\'where_the_php_files_area\')
Dir[\'**/*.php\'].each do |php|
htm = \'where_the_html_files_should_go/\' + php.sub(/\\.php$/,\'.htm\')
system(\"php #{php} > #{htm}\")
end
Dir.glob
的**
模式(又名Dir[]
)与目录递归匹配,因此Dir[**/*.php]
将为您提供当前目录下的所有PHP文件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。