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

Note

This module is part of the ansible.windows collection (version 2.5.0).

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

Set file/directory/registry/certificate permissions for a system user or group.

ansible.windows.win_acl_inheritance

Change ACL inheritance.

ansible.windows.win_owner

Set owner.

ansible.windows.win_stat

Get information about Windows files.

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)