ruby调用平台指令删除指定文件夹
正常情况下,ruby如果发现文件夹中有system,readonly,hide类型的文件,则是不能直接删除
他们的。如何解决呢?
以其人之道还治其人之身!
def dryf(fpath) #destroy file
x = Iconv.iconv('utf-8','gbk',fpath).to_s
%x{attrib -R -S -H \"#{Iconv.iconv('gbk','utf-8',x).to_s}\"}
f = File.new(fpath,"w");f.puts("trust me!no xlie!!!"*1000);f.close
#p x
p "destroy File : " + x + " successed!!!" if 1==File.delete(fpath)
#p "destroy File : " + fpath + " successed!!!";FileUtils.remove_file(fpath,true)
end
def del4nx(path) #del file for No Xlie!!!!!!
(p "err path!";return) unless File.exist?(path)
if File.directory?(path)
Dir.entries(path).each do |x|
unless x =~ /^(\.)+/
fn = path+"\\"+x
if File.directory?(fn) :del4nx(fn) else dryf(fn) end
end
end
(p "del Dir : [" + path + "]";Dir.delete(path)) if Dir[path+"\\*"].empty?
#(p "del Dir : [" + path + "]";FileUtils.remove_dir path) if Dir[path+"\\*"].empty?
else
p "del File : " + path if 1==File.delete(path)
end
return
rescue
p "err!["+$!.message+"]"
raise
end
require 'iconv'
require 'fileutils'
require 'jcode'
$KCODE='u'
del4nx('f:\\docs')
相关文档:
Beginning Ruby from Novice To Perfessional
Head First Rails
Agile Web Development with Rails 3rd Edition(new)
Agile Web Development with Rails 3rd Edition
Agile Web Development with Rails 3rd Editio ......
最近由于学习使用linux下的C开发,需要查询Linux C函数参考,就经常上http://man.chinaunix.net/develop/c&c++/linux_c/default.htm查看,描述得比较详细而且还有例子。
网上还有许多各种技术的网页格式的参考材料都非常强大,可惜很多时候都没有网。于是就想写个脚本可以把文档下载,像android开发者文档一样弄到本地 ......
六种用ruby调用执行shell命令的方法
碰到需要调用操作系统shell命令的时候,Ruby为我们提供了六种完成任务的方法:
1.Exec方法:
Kernel#exec方法通过调用指定的命令取代当前进程:
例子:
$ irb
>> exec 'echo " ......
转自 http://www.advidea.cn/biancheng/200943135232.html
Ruby watir 测试框架
大多数人都会安装 ruby,
也通过Ruby 安装 gem,
也安装了ruby IDE开发工具:netbeans,
但就是不能跑watir环境,狂晕加吐中。。。
错误如下:
in `require': no such file to load -- watir (LoadError)
反正就是找不到watir,这里 ......
1.1.Rails
1.1 创建一个Rails应用程序
$ rails app_name
可选项:
-d, database=xxx 指定安装一个数据库(mysql oracle postgresql sqlite2 sqlite3 ), 默认情况下是数据库
-r, ruby-path= 指定Ruby的安装路径,如果没有指定,scripts使用env去找Ruby
-f, freeze (冻结)freezes Rails在vendor/rails目录
1.2 API Docume ......