1

いくつかの数字が次のように表示されている Excel シートがあるとします。

  • 77787
  • 45877
  • 78985など...

これで、Windows 7 マシンに「D://Filehosting」というディレクトリができました。そのディレクトリの下には、約 500 個のフォルダーがあり、それぞれに 120 個のファイルが含まれています。現在の日付から 2 か月前の各フォルダーの内容を削除したいと考えています。これで、フォルダーは次のように配置されます。

  • D://Filehosting/Document77787
  • D://Filehosting/Document45877 ..など

スクリプトは上記のように番号を取得し、それに応じて適切なディレクトリを見つけ、それに応じてコンテンツを削除する必要があります。コンテンツの削除アプローチの前に、フォルダーが存在するかどうかを確認する必要があります。

Rubyを使用して実行できますか?

4

1 に答える 1

4
  def del_dir id
    Dir["D:/Filehosting/Document#{id}/*"].each do |fname|
      next unless File.file?(fname)                # skip accident dirs
      if Time.now-File.mtime(fname) > 2*30*24*3600 # nearly 2 months
        puts "[!] will delete #{fname}, mtime=#{File.mtime(fname)}"
        # File.unlink(fname)                       # uncomment this to actually delete
      end
    end
  end
于 2013-01-10T08:54:06.583 に答える