Install4j v10.04:如何用删除文件文件夹动作批量删除指定扩展名文件?
Install4j v10.04 删除指定文件夹下所有*.txt文件的解决方案
方案一:使用文件名通配符(最简单)
在“Delete Files and Directories”动作的配置界面按以下步骤操作:
- Files and directories字段填写
${installer.FileFolder}(仅填文件夹路径,不要附加通配符) - 找到File name pattern字段,填入
*.txt - 根据需求选择是否勾选Include subdirectories:仅删除当前目录下的txt文件就取消勾选,需要递归删除子目录内的文件则勾选
- 确认Execution policy设置为“Always execute”,避免因条件判断导致动作不执行
方案二:修正文件过滤脚本
如果偏好使用脚本过滤,之前的写法缺少文件类型判断(可能误匹配目录),需调整为符合Groovy规范的脚本:
- Files and directories字段依然填写
${installer.FileFolder} - File filter script字段填入以下脚本:
// 仅匹配文件(排除目录),且文件名以.txt结尾 return file.isFile() && file.getName().endsWith(".txt") // 若需不区分大小写匹配,可改为: // return file.isFile() && file.getName().toLowerCase().endsWith(".txt")
- 确认动作的Script language选项为“Groovy”(默认即为该选项,可核对确认)
- 同样根据需求设置Include subdirectories选项
额外注意事项
- 先验证
${installer.FileFolder}变量是否正确解析:可在删除动作前添加“Run script”动作,输出变量值确认路径有效 - 若目标文件夹不存在,删除动作会直接跳过,需确保该路径在执行删除动作前已存在
内容的提问来源于stack exchange,提问作者Regina
相关产品推荐
相关产品推荐

