使用chef ruby删除目录中的多个文件

使用chef ruby删除目录中的多个文件,ruby,chef-infra,cookbook,Ruby,Chef Infra,Cookbook,我一直在寻找一个chef ruby代码来删除目录中与文件名字符串匹配的多个文件 假设我的D驱动器包含文件名- eula1.txt, eula2.txt, res1.dll, res2.dll, pvn1.txt, pvn2.txt 在上面的示例中,我需要一个chef ruby代码,我可以将其包含在cookbook中,以删除以eula*和res*开头的所有文件,即它应该删除目录中的4个文件 我的最终输出应该只包含2个文件-目录中的pvn1.txt、pvn2.txt。您最好使用执行资源,如: exe

我一直在寻找一个chef ruby代码来删除目录中与文件名字符串匹配的多个文件

假设我的D驱动器包含文件名- eula1.txt, eula2.txt, res1.dll, res2.dll, pvn1.txt, pvn2.txt

在上面的示例中,我需要一个chef ruby代码,我可以将其包含在cookbook中,以删除以eula*和res*开头的所有文件,即它应该删除目录中的4个文件


我的最终输出应该只包含2个文件-目录中的pvn1.txt、pvn2.txt。

您最好使用
执行
资源,如:

execute 'del eula* res*'

虽然直接删除文件可以做到这一点,但它要复杂得多,可能超出了您的范围。

您最好使用
执行
资源,如:

execute 'del eula* res*'

虽然可以通过直接删除文件来实现这一点,但它要复杂得多,可能超出了您的范围。

我可以使用“FileUtils”删除具有匹配条件的文件。由于FileUtils是纯ruby命令,因此我必须将此代码嵌入我的厨师烹饪书中的ruby_块中

下面的陈述对我有用

ruby_block "Deleting the eula*,install* files...." do    
  block do    
    FileUtils.rm Dir["path/to/folder/eula*","path/to/folder/install*"]    
  end
end

我可以使用“FileUtils”删除具有匹配条件的文件。由于FileUtils是纯ruby命令,因此我必须将此代码嵌入我的厨师烹饪书中的ruby_块中

下面的陈述对我有用

ruby_block "Deleting the eula*,install* files...." do    
  block do    
    FileUtils.rm Dir["path/to/folder/eula*","path/to/folder/install*"]    
  end
end