如何自动找到当前目录中指定类型的文件或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文件。     

要回复问题请先登录注册