ansible.windows.win_file – Creates, touches or removes files or directories

Note

This plugin is part of the ansible.windows collection (version 1.8.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install ansible.windows.

To use it in a playbook, specify: ansible.windows.win_file.

Synopsis

  • Creates (empty) files, updates file modification stamps of existing files, and can create or remove directories.

  • Unlike ansible.builtin.file, does not modify ownership, permissions or manipulate links.

  • For non-Windows targets, use the ansible.builtin.file module instead.

Parameters

Parameter

Comments

path

aliases: dest, name

path / required

Path to the file being managed.

state

string

If directory, all immediate subdirectories will be created if they do not exist.

If file, the file will NOT be created if it does not exist, see the ansible.windows.win_copy or ansible.windows.win_template module if you want that behavior.

If absent, directories will be recursively deleted, and files will be removed.

If touch, an empty file will be created if the path does not exist, while an existing file or directory will receive updated file access and modification times (similar to the way touch works from the command line).

Choices:

  • absent

  • directory

  • file

  • touch

See Also

See also

ansible.builtin.file

The official documentation on the ansible.builtin.file module.

ansible.windows.win_acl

The official documentation on the ansible.windows.win_acl module.

ansible.windows.win_acl_inheritance

The official documentation on the ansible.windows.win_acl_inheritance module.

ansible.windows.win_owner

The official documentation on the ansible.windows.win_owner module.

ansible.windows.win_stat

The official documentation on the ansible.windows.win_stat module.

Examples

- name: Touch a file (creates if not present, updates modification time if present)
  ansible.windows.win_file:
    path: C:\Temp\foo.conf
    state: touch

- name: Remove a file, if present
  ansible.windows.win_file:
    path: C:\Temp\foo.conf
    state: absent

- name: Create directory structure
  ansible.windows.win_file:
    path: C:\Temp\folder\subfolder
    state: directory

- name: Remove directory structure
  ansible.windows.win_file:
    path: C:\Temp
    state: absent

Authors

  • Jon Hawkesworth (@jhawkesworth)