1.创建文件夹
Dir.new %%1
Dir::mkdir #不指定目录全名称时,缺省为工作目录
Dir::chdir() 改变当前脚本工作目录
FileUtils.mkdir 'test'
file = File.new("cmd.txt")
file.each do |line|
puts line if line =~ /target/
end
2.创建文件
改变当前根目录
Dir.chdir("/home/guy/sandbox/tmp")
Dir.chroot("/home/guy/sandbox")
Dir.new %%1
#Dir::rmdir #不指定目录全名称时,缺省为工作目录
3.删除文件
改变当前根目录
Dir.chdir("/home/guy/sandbox/tmp")
Dir.chroot("/home/guy/sandbox")
Dir.new %%1
#Dir::rmdir #不指定目录全名称时,缺省为工作目录
4.删除文件夹
#require 'fileutils'
FileUtils.rm_r(%%1)
5.删除一个文件下夹所有的文件夹
Dir::chdir
Dir::pwd属性或者Dir.getwd()
#改变当前脚本工作目录
6.清空文件夹
Dir::chdir %%1 改变当前脚本工作目录
Dir::rmdir #不指定目录全名称时,缺省为工作目录
Dir.new %%1
#require 'ftools'
FileUtils.mkdir 'test'
file = File.new(%%1) #"cmd.txt"
file.each do |line|
puts line if line =~ /target/
end
7.读取文件
#require 'ftools'
File.open(%%1).readlines #'文件名'
#require 'ftools'
arr = IO.readlines(%%1) #"myfile"
lines = arr.size
#puts "myfile has #{lines} lines in it."
#longest = arr.collect {|x| x.length}.max
#puts "The longest line in it has #{longest} characters."
8.写入文件
f=open(%%1,"w")
f.puts(%%2)
9.写入随机文件
#require 'ftools'
file = File.open(%%1,"w")
file.seek(5)
str = file.gets # "fghi"
#require 'ftools'
File.open('文件名')
File.open("cmd.txt","r") do |file|
while line=file.gets
puts line
end
end
puts
file=File.new("cmd.txt","r")
file.each_line do |line|
puts line
end
IO.foreach("cmd.txt") do |line|
puts line if line =~ /target/
puts line if line !~ /target/
end
###
Dir#pos
返回当前子文件指针
Dir#pos=
设置子文件指针
Dir#rewind
设置子文件指针到起始位置
Dir#seek
设置子文件指针
Dir#tell
获取当前指针
10.读取文件属性
#文件中是否有内容,(返回false为有内容,返回true为空)
File.new('文件名').stat.zero?
#文件大小
File.size?('文件名')
flag1 = FileTest::zero?("file1")
flag2 = FileTest::size?("file2")
size1 = File.size("file1")
size2 = File.stat("file2").size
###
File::atime(filename)
返回指定文件的最后访问时间
11.写入属性
12.枚举一个文件夹中的所有文件夹
#require 'ftools'
puts Dir.glob('**/*').each { | file | file.downcase }
#要区分目录和普通文件我们这样使用
file1 = File.new("/tmp")
file2 = File.new("/tmp/myfile")
test1 = file1.directory? # true
test2 = file1.file? # false
test3 = file2.directory? # false
test4 = file2.file? # true
###
遍历目录
Dir.foreach(%%1) { |entry| puts entry}
13.复制文件夹
require "fileutils"
FileUtils.cp %%1,%%2
14.复制一个目录下所有的文件夹到另一个文件夹下
#require 'FileUtils'
list=Dir.entries(%%1)
list.each_index do |x|
FileUtils.cp "#{list[x]}",%%2 if !File.directory?(list[x])
end
15.移动文件夹
#require 'FileUtils'
FileUtils.mv %%1,%%2
16.移动一个目录下所有的文件夹到另一个目录下
#require 'FileUtils'
list=Dir.entries(%%1)
list.each_index do |x|
FileUtils.mv "#{list[x]}",%%2 if !File.directory?(list[x])
end
文件的遍历:
def traverse_dir(file_path)
if File.directory? file_path
Dir.foreach(file_path) do |file|
if file !="." and file !=".."
traverse_dir(file_path+"/"+file)
end
end
else
puts "File:#{File.basename(file_path)}, Size:#{File.size(file_path)}"
end
end
traverse_dir(' ')
分享到:
相关推荐
这通常意味着这个Ruby脚本包含了上述操作的示例或者是一个驱动程序,它会演示如何在命令行环境中使用Ruby操作文件系统。要运行这个脚本,确保你已经在命令行中导航到包含`main.rb`的目录,然后执行`ruby main.rb`。 ...
### Ruby 文件操作详解 在 Ruby 编程语言中,对文件进行操作是非常常见的需求之一,无论是简单的文件读写还是复杂的文件管理任务,都需要对 Ruby 的文件处理机制有一定的了解。本篇将详细介绍 Ruby 中如何进行文件...
ruby文件操作大全,主要是DIR,FILE和文件夹类的相关操作,比较实用
在Ruby编程语言中,文件对比...通过理解基本的文件操作以及利用`diff-lcs`库,你可以轻松地创建出满足各种需求的文件对比脚本和报告。在实践中不断探索和优化,你会发现Ruby在文件处理方面有着极高的灵活性和强大功能。
Ruby库如`roo`可以方便地读取Excel文件,而`Nokogiri`则可以用来创建和操作XML文档。 首先,我们需要了解`roo`库。`roo`是Ruby中用于读取不同类型的电子表格文件(如Excel、OpenOffice、Google Sheets)的库。安装`...
在Ruby编程语言中,文件上传是一项常见的任务,特别是在构建Web应用程序时。本项目提供了一些实用的文件上传功能,包括控制器(controller)、视图(view)和数据库交互部分。以下是对这些知识点的详细解释: 1. **...
在编程中,文件操作是一项基本而重要的任务。Ruby,作为一种灵活的脚本语言,提供了丰富的内置方法来处理文件的读写、属性修改以及其他相关的文件...通过这些方法,你可以有效地管理和操作文件,提高你的Ruby编程能力。
当我们谈论“Ruby读取INI文件”时,我们指的是使用Ruby代码解析和操作INI配置文件。INI文件是一种简单的文本文件格式,常用于存储软件配置数据,结构清晰,易于人阅读和编辑。每个部分由一个大写的键名定义,键值对...
在Ruby编程语言中,读取配置文件(如cfg文件)是一项常见的任务,这通常涉及到从文件中获取特定的键值对以供程序使用。...通过这种方式,你可以更好地理解和掌握在Ruby中读取和操作配置文件的方法。
或者是数据处理任务,让你学习如何使用Ruby操作文件系统和处理CSV数据。 “学习使用.pdf”文件可能是一个详细的指南,指导初学者如何逐步学习Ruby,包括推荐的学习路径、学习资源、常见问题解答,甚至可能包含一些...
在Ruby中,我们通常使用`File`类的方法来操作文件。读取txt文件时,可以使用`File.open`方法,传入文件路径和模式('r'表示读取,'w'表示写入,'a'表示追加)。例如,要打开名为"example.txt"的文件进行读取: ```...
下面我们将详细探讨如何使用`configparser`进行INI文件的操作。 1. **导入库**: 首先,你需要导入`configparser`库。在Ruby代码中添加以下行: ```ruby require 'configparser' ``` 2. **创建Ini文件**: 要...
以下是关于如何使用Ruby操作Excel的详细步骤和知识点: 1. **引入win32ole库** 首先,你需要在Ruby脚本的开头引入`win32ole`库。这行代码`require 'win32ole'`使得Ruby程序能够调用Excel的API。 2. **启动Excel...
在给定的场景中,"ruby操作flash窗口"主要涉及的是通过Ruby的Selenium WebDriver库来实现对Flash内容的自动化测试。Selenium WebDriver是一个强大的自动化测试工具,它允许我们控制浏览器并模拟用户行为,从而测试...
在Ruby编程语言中,对目录的操作是至关重要的,特别是在处理文件系统时。下面将详细介绍如何在Ruby中进行目录的创建、删除、查询、修改以及读取文件等操作。 1. 创建文件夹 Ruby提供了多种创建文件夹的方法。例如,...
在Ruby编程语言中,文件操作是非常基础且重要的部分,它允许开发者与文件系统进行交互,包括创建、读取、修改、删除以及管理目录。下面将详细阐述Ruby中的这些常用文件操作方法。 一、新建文件 在Ruby中,新建文件...
Ruby是一种面向对象、动态类型的脚本语言...如果你需要在Windows环境下使用Ruby,提供的“ruby-2.1.6”压缩包文件将包含所有必要的组件,包括Ruby解释器、标准库以及可能的开发工具,使得安装和使用Ruby变得更加简单。
标题中的"ruby 最新 安装文件"指的是Ruby的最新版本安装程序,这通常是针对特定操作系统的,比如在描述中提到的"ruby window 版本安装文件",是指适用于Windows平台的Ruby安装程序。RubyInstaller是为Windows用户...
Ruby在某些操作,如处理.gemspec文件或某些扩展时,可能会用到zlib。不过,由于这个版本的Ruby编译时没有包含zlib,这意味着你可能需要单独安装zlib库来实现这些功能。 4. **VC2017编译**:这意味着Ruby 2.5.3是...
1. **解压源码**:使用`tar -zxvf ruby-2.3.1.tar.gz`命令解压缩文件。 2. **进入解压后的目录**:`cd ruby-2.3.1` 3. **配置编译环境**:执行`./configure`,这个脚本会检查你的系统环境并生成适合的编译参数。 4. ...