# Ansible 删除多个文件或目录

**删除一个文件**

```yaml
- name: Ansible delete file example
  file:
    path: /etc/delete.conf
    state: absent
```

> 注意：当你知道一个文件名的时候，可以这样删除这个文件。

**删除多个文件**

```yaml
- name: Ansible delete multiple file example
  file:
    path: "{{ item }}"
    state: absent
  with_items:
    - hello1.txt
    - hello2.txt
    - hello3.txt
```

> 注意：当你知道多个文件名的时候，可以这样删除这些文件。

**删除一个目录或文件夹**

```yaml
- name: Ansible delete directory example
  file:
    path: removed_files
    state: absent
```

> 上面这个例子讲删除指定的目录，如果这个目录不存在，不会抛出错误。

**使用shell 脚本删除多个文件**

```yaml
- name: Ansible delete file wildcard example
  shell: rm -rf hello*.txt
```

> 上面这个例子讲删除指定的目录，如果这个目录不存在，不会抛出错误。

**使用find和file模块结合linux shell模糊搜索删除文件**

```yaml
- hosts: all
  tasks:
  - name: Ansible delete file glob
    find:
      paths: /etc/Ansible
      patterns: *.txt
    register: files_to_delete

  - name: Ansible remove file glob
    file:
      path: "{{ item.path }}"
      state: absent
    with_items: "{{ files_to_delete.files }}"
```

**使用find和file模块结合python的正则表达式删除文件**

```yaml
- hosts: all
  tasks:
  - name: Ansible delete file wildcard
    find:
      paths: /etc/wild_card/example
      patterns: "^he.*.txt"
      use:regex: true
    register: wildcard_files_to_delete

  - name: Ansible remove file wildcard
    file:
      path: "{{ item.path }}"
      state: absent
    with_items: "{{ wildcard_files_to_delete.files }}"
```

**移除晚于某个日期的文件**

```yaml
- hosts: all
  tasks:
  - name: Ansible delete files older than 5 days example
    find:
      paths: /Users/dnpmacpro/Documents/Ansible
      age: 5d
    register: files_to_delete

  - name: Ansible remove files older than a date example
    file:
      path: "{{ item.path }}"
      state: absent
    with_items: "{{ files_to_delete.files }}"
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://close.gitbook.io/yun-wei-bi-ji/centos/ansible/ansible-shan-chu-duo-ge-wen-jian-huo-mu-lu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
