2017-11-08 1 views
0

폴더에있는 파일 수를 얻으 려하고 카운트를 기준으로 추가 자원을 건너 뛰거나 실행하려고합니다.Chef : 폴더에있는 파일 수를 계산하십시오.

file 'C:\Users\Desktop\Chef-file\count.txt' do 
      dir = 'C:\Users\Desktop\Chef-Commands' 
       count = Dir[File.join(dir, '**', '*')].count { |file| File.file?(file)} 
       content count 
      end 

그러나 다음과 같은 오류

Chef::Exceptions::ValidationFailed: Property content must be one of: String, nil! You passed 0. 

을 받고 난 요리사 꽤 새로운 오전 루비 그렇게/수정이 문제를 해결하는 방법을 궁금 해서요.

카운트가 확보되면 다른 리소스에서 해당 값을 확인하는 방법은 무엇입니까?

이 방법이 올바른지 알고 싶습니다.

감사

답변

1

count0 (Fixnum이라는)가 될 것으로 보인다.

당신이 시도 싶어 수 있습니다

file 'C:\Users\Desktop\Chef-file\count.txt' do 
    dir = 'C:\Users\Desktop\Chef-Commands' 
    count = Dir[File.join(dir, '**', '*')].count { |file| File.file?(file)} 
    content count.to_s 
end 
+2

이 컴파일시 확인도 시간을 수렴합니다 유의하십시오. – coderanger

+0

이것은 효과적이지만 항상 파일 수로서 0을 제공합니다. 알아 내야합니다. – Manas

관련 문제