0

現在、以下のコードを使用して、パス内の「.svn」フォルダーを検索しています。

require 'find'
svn_folders = []
@folder_path = 'C:\my_repositories\'
Find.find(@folder_path) do |path|
  svn_folders << path if path =~ /.*\.svn$/
end

上記のコードは、内部のすべてのフォルダーを検索@folder_pathし、パスをリストしsvn_foldersます。

しかし、大きな問題は、これらのフォルダーが大きい (50GB 以上) ため、「.svn」フォルダーの検索に時間がかかることです。

質問 : 特定のレベルのサブ フォルダー (私の場合は 3 つのサブ フォルダー) のみを検索することはできますか?

例:私のフォルダパスがC:\my_repositories

3つのレイヤー(サブフォルダー)を下に検索したい、つまり、C:\my_repositories\project_name\repository_name\repository

また、repository という名前のフォルダーの下を検索したくありません。

どんな提案も本当に役に立ちます。事前にどうもありがとうございました。

4

1 に答える 1

1

ただじゃないですか

Dir.glob("*/*/*/.svn")
于 2015-03-30T06:30:33.693 に答える