2
渡された名前と一致するファイルを保持するために、次のコードを書いて、フォルダ内の残りのファイルを削除します。名前を使用しているファイルを削除するにはRubyに含まれています
def removeFiles2(path, namePart)
aft_logger=AFTLogger.new
Dir[path+'/*'].each do |fname|
break if !(fname.include? namePart)
else File.delete(fname)
end
end
end
end
しかし、以下のエラーが発生しています。
Operation not permitted - Operation not permitted - //CSLK-CISP-81-01/jboss/server/TeamCI_CEPHEUS_OR_R81_Spider_110/home/RoSModule/XML/In/Error:
Operation not permitted - Operation not permitted - //CSLK-CISP-81-
01/jboss/server/TeamCI_CEPHEUS_OR_R81_Spider_110/home/RoSModule/XML/In/Error tempDevMode.rb line 37 in function test
私はここで間違っていますか?どんな助けでも大歓迎です。ファイルのベース名を使用すると、コードの下
def remove_files(path, exclude)
Dir.glob("#{path}/*").each do |file|
File.delete(file) unless File.basename(file).include?(exclude)
end
end
あなたは実際のコードですか?修飾子 'if-else'の構成のために_syntax error_を発生させます(そのようなものはありません)。 'break if condition'と書くことができますが、' else else ...ならば中断しないでください。 ' – Stefan
@Stefanあなたはミスアライメントされた' end'を見逃しました:)実際は 'break(else .. end)'です。 – mudasobwa
ええ、そのブレークは非常に混乱しています:)そして、間違いなく文法エラーです(書かれているように、if/elseの周りに明示的なかっこはありません)。 –