ansible.builtin.win_splitdrive filter – Split a Windows path by the drive letter

Note

This filter plugin is part of ansible-core and included in all Ansible installations. In most cases, you can use the short plugin name win_splitdrive. However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.win_splitdrive for easy linking to the plugin documentation and to avoid conflicting with other collections that may have the same filter plugin name.

Synopsis

  • Returns a list with the first component being the drive letter and the second, the rest of the path.

  • If the path contains a drive letter, drive will contain everything up to and including the colon.

  • If the path contains a UNC (Universal Naming Convention) path, drive will contain the host name and share, up to but not including the fourth separator.

Input

This describes the input of the filter, the value before | ansible.builtin.win_splitdrive.

Parameter

Comments

Input

string / required

A Windows path.

Examples

# To get the last name of a file Windows path, like ['C:', '\Users\asdf\foo.txt'] out of 'C:\Users\asdf\foo.txt'
{{ mypath | win_splitdrive }}

# To get path from UNC (Universal Naming Convention) path, like ['//host/computer', '/dir/a'] out of '//host/computer/dir/a'

# just the drive letter, like ['C:'] out of 'C:\Users\asdf\foo.txt'
{{ mypath | win_splitdrive | first }}

# path w/o drive letter, like ['\Users\asdf\foo.txt'] out of 'C:\Users\asdf\foo.txt'
{{ mypath | win_splitdrive | last }}

# just the hostname and share, like ['//host/computer'] out of '//host/computer/dir/a'
{{ mypath | win_splitdrive | first }}

# path w/o hostname and share, like ['/dir/a'] out of '//host/computer/dir/a'
{{ mypath | win_splitdrive | last }}

Return Value

Key

Description

Return value

list / elements=string

List in which the first element is the drive letter with colon and the second the rest of the path.

In case of UNC path, first element is the hostname and share and the second the rest of the path.

Returned: success

Authors

  • ansible core team

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.