如何在使用Ruby的目录中找到最近修改的文件夹(NOT A FILE)?如何使用Ruby在目录中找到最近修改的文件夹?
4
A
回答
21
Dir.glob("a_directory/*/").max_by {|f| File.mtime(f)}
Dir.glob("a_directory/*/")
返回所有的目录名中a_directory
(字符串)和max_by
回报这File.mtime
返回最大的(即最近的)日期目录的名称。
编辑:更新的答案,以配合更新的问题
1
查找当前目录下的最近修改的目录:
folders = Dir["*"].delete_if{|entry| entry.include? "."}
newest = folders[0]
folders.each{|folder| newest = folder if File.mtime(folder) > File.mtime(newest)}
1
扩大关sepp2k的回答有点添加递归检查的所有子目录未来跨越这样的:
#!/usr/bin/env ruby
if ARGV.count != 1 then raise RuntimeError, "Usage: newest.rb '/path/to/your dir'" end
Dir.chdir(ARGV[0])
newest_file = Dir.glob("**/").max_by {|f| File.mtime(f)}
if newest_file != nil then
puts newest_file.to_s + " " + File.mtime(newest_file).to_s
else
puts "No subdirectories"
end
,如果你想所有的文件,而不是用这个,而不是仅仅目录:
Dir.glob("**/*")
相关问题
- 1. 如何在目录(python)目录中找到最近修改过的文件夹?
- 2. 在最近一小时内修改过的目录中找到一个文件
- 3. 最近修改的文件夹
- 4. 如何在目录中找到最新创建的文件夹
- 5. 如何在ftp上找到最新的最后修改目录
- 6. 如何在目录中找到最新修改文件的时间戳(递归)?
- 7. 如何使用命令提示符找到目录中最后一个修改过的文件夹?
- 8. 在Python中找到一个目录中的最新文件夹
- 9. 找到文件的长列表中的3个最近修改的文件
- 10. 使用状态获取最近修改的目录
- 11. python:无法找到最近更改的目录(OSx)中的文件
- 12. WPF如何在运行时修改我的项目文件夹中的资源/内容文件(不在bin目录中)?实施“最近更改”部分
- 13. 如何在SVN中找到最早的修改文件
- 14. 查找文件夹中的最新修改文件
- 15. 获取最近30天内在目录中修改的所有文件
- 16. 使用vi打开目录中的最后修改文件
- 17. 如何在目录中找到子文件夹的名称
- 18. 如何在莲花笔记中找到最近修改过的文档5
- 19. 如何修改Silverlight项目中文件夹中的XML文件?
- 20. 在Windows控制台上查找最近修改的文件
- 21. 查找在Linux最近30分钟内修改过的文件
- 22. 打开目录中的最近文件夹
- 23. 如何使用Cakephp获取目录中的最新修改文件
- 24. 使用linux shell在目录中显示最近的文件
- 25. 如何在目录中找到文件
- 26. xcopy文件最近移动到一个文件夹,但没有其他修改
- 27. 如何在目录中找到最新的文件?
- 28. 如何在目录中找到两个最新的文件?
- 29. 如何在目录中找到最新的可执行文件
- 30. 如何在子目录中找到最大的文件?
实际上,我在寻找如何查找最近修改的文件夹,而不是文件,所以File.new抛出和错误,并没有Dir.mtime – Dasmowenator 2010-07-08 19:54:59
@Sam:'File.new'不出现在我的代码中的任何地方,'File.mtime'工作得很好,目录名称作为参数。不要试图“修复”我的代码,它的工作原理。 – sepp2k 2010-07-08 19:59:37
这真的很接近工作,但Dir.glob()返回目录和文件,我只想要目录。我发现 Dir.glob(“*”)。delete_if {| entry | entry.include? } {max_by “” |。F | File.mtime(f)} 适用于此,但它假设您的任何目录都不包含句号...... – Dasmowenator 2010-08-19 14:01:12