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')

相关文章
|
3月前
|
Ruby
|
3月前
|
Ruby
|
2月前
|
数据采集 Web App开发 数据处理
Ruby网络爬虫教程:从入门到精通下载图片
Ruby网络爬虫教程:从入门到精通下载图片
|
3月前
|
JSON 数据格式 Ruby
|
3月前
|
JSON Ubuntu Linux
|
3月前
|
存储 JSON 数据格式
|
3月前
|
安全 Ruby
|
3月前
|
调度 Ruby
|
3月前
|
人工智能 BI 计算机视觉
|
3月前
|
Ruby