# win_stat – Get information about Windows files¶

New in version 1.7.

## Synopsis¶

• Returns information about a Windows file.
• For non-Windows targets, use the stat module instead.

## Parameters¶

checksum_algorithm
-
Choices:
• md5
• sha1 ←
• sha256
• sha384
• sha512
Algorithm to determine checksum of file. Will throw an error if the host is unable to use specified algorithm.
get_checksum
boolean
Choices:
• no
• yes ←
Whether to return a checksum of the file (default sha1)
get_md5
boolean
Choices:
• no ←
• yes
Whether to return the checksum sum of the file. Between Ansible 1.9 and 2.2 this is no longer an MD5, but a SHA1 instead. As of Ansible 2.3 this is back to an MD5. Will return None if host is unable to use specified algorithm.
The default of this option changed from yes to no in Ansible 2.5 and will be removed altogether in Ansible 2.9.
Use get_checksum=true with checksum_algorithm=md5 to return an md5 hash under the checksum return value.
path
path / required
The full path of the file/object to get the facts of; both forward and back slashes are accepted.

## Notes¶

Note

• For non-Windows targets, use the stat module instead.

## Examples¶

- name: Obtain information about a file
win_stat:
path: C:\foo.ini
register: file_info

- name: Obtain information about a folder
win_stat:
path: C:\bar
register: folder_info

- name: Get MD5 checksum of a file
win_stat:
path: C:\foo.ini
get_checksum: yes
checksum_algorithm: md5
register: md5_checksum

- debug:
var: md5_checksum.stat.checksum

- name: Get SHA1 checksum of file
win_stat:
path: C:\foo.ini
get_checksum: yes
register: sha1_checksum

- debug:
var: sha1_checksum.stat.checksum

- name: Get SHA256 checksum of file
win_stat:
path: C:\foo.ini
get_checksum: yes
checksum_algorithm: sha256
register: sha256_checksum

- debug:
var: sha256_checksum.stat.checksum


## Return Values¶

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
changed
boolean
always
Whether anything was changed

Sample:
True
stat
complex
success
dictionary containing all the stat data

attributes
string
success, path exists
Attributes of the file at path in raw form

Sample:
Archive, Hidden
checksum
string
success, path exist, path is a file, get_checksum == True checksum_algorithm specified is supported
The checksum of a file based on checksum_algorithm specified

Sample:
09cb79e8fc7453c84a07f644e441fd81623b7f98
creationtime
float
success, path exists
The create time of the file represented in seconds since epoch

Sample:
1477984205.15
exists
boolean
success
If the path exists or not

Sample:
True
extension
string
success, path exists, path is a file
The extension of the file at path

Sample:
.ps1
filename
string
success, path exists, path is a file
The name of the file (without path)

hlnk_targets
list
success, path exists
List of other files pointing to the same file (hard links), excludes the current file

Sample:
['C:\\temp\\file.txt', 'C:\\Windows\\update.log']
isarchive
boolean
success, path exists
If the path is ready for archiving or not

Sample:
True
isdir
boolean
success, path exists
If the path is a directory or not

Sample:
True
ishidden
boolean
success, path exists
If the path is hidden or not

Sample:
True
isjunction
boolean
success, path exists
If the path is a junction point or not

Sample:
True
islnk
boolean
success, path exists
If the path is a symbolic link or not

Sample:
True
boolean
success, path exists
If the path is read only or not

Sample:
True
isreg
boolean
success, path exists
If the path is a regular file

Sample:
True
isshared
boolean
success, path exists
If the path is shared or not

Sample:
True
lastaccesstime
float
success, path exists
The last access time of the file represented in seconds since epoch

Sample:
1477984205.15
lastwritetime
float
success, path exists
The last modification time of the file represented in seconds since epoch

Sample:
1477984205.15
lnk_source
string
success, path exists and the path is a symbolic link or junction point
Target of the symlink normalized for the remote filesystem

Sample:
lnk_target
string
success, path exists and the path is a symbolic link or junction point
Target of the symlink. Note that relative paths remain relative

Sample:
md5
string
success, path exist, path is a file, get_md5 == True
The MD5 checksum of a file (Between Ansible 1.9 and 2.2 this was returned as a SHA1 hash), will be removed in 2.9

Sample:
09cb79e8fc7453c84a07f644e441fd81623b7f98
integer
success, path exists

Sample:
1
owner
string
success, path exists
The owner of the file

Sample:
path
string
success, path exists, file exists
The full absolute path to the file

Sample:
C:\foo.ini
sharename
string
success, path exists, file is a directory and isshared == True
The name of share if folder is shared

Sample:
file-share
size
integer
success, path exists, file is not a link
The size in bytes of a file or folder

Sample:
1024

## Status¶

### Red Hat Support¶

More information about Red Hat’s support of this module is available from this Red Hat Knowledge Base article.

### Authors¶

• Chris Church (@cchurch)

Hint

If you notice any issues in this documentation you can edit this document to improve it.