废话不多说,直接上代码
def get_file_list(path)
Dir.entries(path).each do |sub|
if sub != '.' && sub != '..'
if File.directory?("#{path}/#{sub}")
puts "[#{sub}]"
get_file_list("#{path}/#{sub}")
else
puts " |--#{sub}"
end
end
end
end
get_file_list('C:/lib/thirdpart/')
输出效果
[struts2]
|--freemarker-2.3.8.jar
|--ognl-2.6.11.jar
|--sitemesh-2.3.jar
|--struts2-core-2.0.11.jar
|--struts2-sitemesh-plugin-2.0.11.jar
|--xwork-2.0.4.jar
[tomcat5]
|--catalina-optional.jar
|--catalina.jar
|--jasper-compiler-jdt.jar
|--jasper-compiler.jar
|--jasper-runtime.jar
|--jsp-api.jar
|--jstl.jar
|--naming-factory-dbcp.jar
|--naming-factory.jar
|--naming-resources.jar
实现类似功能还可以模拟shell脚本写法
puts Dir["#{path}/**/*"]
分享到:
相关推荐
该脚本可以扫描指定路径,将符合条件的文件全部找出。你可以添加自己的函数来处理符合条件的文件。如删除某个文件夹里的所有特定文件
这个方法首先获取`srcdir`下的所有文件,然后根据`file_per_dir`计算需要创建的子目录数量,并创建它们。最后,将文件按照指定的数量分配到各个子目录中。 ### 注意事项 1. **权限问题**:在执行这些操作时,确保...
可以先获取文件夹内所有文件,然后逐个删除: ```ruby Dir.foreach("folder_to_empty") do |filename| next if filename == '.' || filename == '..' File.delete(filename) end ``` 6. 读取文件 读取文件内容,...
这个脚本会将指定目录及其子目录下的所有TXT文件内容合并成一个名为'merged.txt'的新文件。 除了Python,其他编程语言如Java、C#、Ruby等也有类似的方法实现此功能。如果你对特定语言的实现有需求,可以根据相应的...
遍历文件夹是指从一个特定的起始目录开始,访问并处理每一个文件和子目录,包括它们的子目录中的所有文件。这通常通过递归的方式完成,即当遇到子目录时,再次调用相同的过程,直到遍历完所有的子目录和文件。 3. ...
总结来说,这个Ruby脚本提供了一种高效的方法来遍历指定目录及其子目录,对所有文件计算MD5哈希值,然后输出结果。这对于文件系统的备份验证、文件一致性检查等场景非常有用。通过调整和扩展此代码,可以实现更复杂...
一个Ruby脚本,它扫描指定文件夹和文件中的所有快速代码,并自动生成可在浏览器中查看的实体图(类似于类图)。 用法: 在终端运行中: $ ruby generateEntityDiagram . rb 如果您未指定任何命令行参数,则脚本将...
该示例代码展示了如何使用Ruby递归地遍历指定路径下的所有文件,并输出每个文件的基本信息(如文件名和文件大小)。 **代码详解:** ```ruby def traverse_dir(file_path) if File.directory?(file_path) Dir....
在Ruby中,你可以自定义一个递归函数来遍历目录及其子目录中的所有文件。这种方法直观地模拟了树形结构的遍历过程,对于理解和操作文件系统非常有帮助。 ```ruby def traverse_dir(file_path, &block) if File....
`Find.find`方法可以遍历指定路径下的所有文件和子目录,而无需显式递归。示例如下: ```ruby require 'find' Find.find('/usr/local/src') do |filename| puts filename end ``` 这段代码会遍历`/usr/local/src`...
3. **目录遍历**:工具能够递归地扫描指定的文件夹,找出其中的所有源代码文件,确保全面统计。 4. **结果展示**:可能会以报告的形式展示统计结果,包括每个文件或每个语言的代码行数,以及整个项目的汇总信息。...
- **展开所有子菜单**:使用`shift + o`键展开所有子菜单。 - **在右侧显示文件**:使用`i`键在右侧显示文件。 - **在新页签中显示文件**:使用`t`键在新页签中显示文件;使用`gt`从左到右切换页签,使用`gT`从右向...
- 文件系统:在操作系统中,如Windows资源管理器,树形菜单用于展示文件夹和文件的层级结构。 - 导航菜单:网页和应用程序中,菜单常以树形结构呈现,帮助用户快速定位到所需的功能或页面。 - 数据分类:在数据库...
generate path/to/scaffold path/to/target 此命令将递归地将文件和目录从脚手架文件夹复制并实例化到目标文件夹。 您最喜欢的编辑器会打开至少包含一个 TODO 的文件。 文件内容是使用一种非常简单但不是那么强大的...
文件夹中的代码可能包括单独的Ruby脚本,每个脚本对应一个特定的挑战日,或者一个集成了所有挑战的主脚本,通过参数来指定处理哪个挑战。 总的来说,通过参与AoC的挑战,开发者不仅能提升Ruby编程技能,还能学习到...
"Algorithm-practice-thy-algorithms.zip" 文件集合正是一个专门用于提升算法能力的实践平台,它包含了用JavaScript或Ruby实现的各种算法,旨在帮助开发者通过实际操作来深化对算法的理解。 算法的实践至关重要,...
3. `.gitignore`: 忽略特定文件或文件夹的配置文件,防止它们被版本控制。 4. `LICENSE`: 项目使用的开源许可协议,可能是MIT、Apache 2.0等。 5. `Gemfile`和`Gemfile.lock`: 如果项目依赖其他Ruby库,这两个文件会...
在Ruby语言中,可能实现的解决方案会利用到递归搜索、深度优先搜索或广度优先搜索等数据结构和算法,这些方法可以在搜索过程中逐步逼近目标状态——魔方被还原的那一刻。 关于“阿卡米”一词,虽然暂时缺乏确切信息...
标题中的“junk”可能指的是一个开发者用于存放各种实验性代码、学习材料或者不完整项目的文件夹。这个压缩包可能包含各种编程语言的学习过程、小项目以及一些难以归类的杂项内容。描述中提到的“主要来自学习语言和...