我一直在寻找一个厨师ruby代码来删除与文件名字符串匹配的目录中的多个文件
让我们说如果我的D盘包含文件名 - eula1.txt, eula2.txt, res1.dll, res2.dll, pvn1.txt, pvn2.txt
在上面的例子中,我需要一个厨师ruby代码,我可以在cookbook中包含删除所有出现的以eula *和res *开头的文件,即它应该删除目录中的4个文件
我的最终输出应该只包含2个文件 - 目录中的pvn1.txt,pvn2.txt。
答案 0 :(得分:2)
您最好的选择是使用execute
资源,例如:
execute 'del eula* res*'
虽然可以通过直接删除文件来执行此操作,但它更复杂,可能超出了您的范围。
答案 1 :(得分:1)
我可以使用'FileUtils'删除匹配条件的文件。由于FileUtils是纯ruby命令,我必须将此代码嵌入到我的厨师食谱中的ruby_block中。
以下声明对我有用
ruby_block "Deleting the eula*,install* files...." do
block do
FileUtils.rm Dir["path/to/folder/eula*","path/to/folder/install*"]
end
end