Skip to content
Powershell cmdlet to monitor file changes in a directory tree.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

This powershell cmdlet continuously monitors a directory tree and write to the output the path of the file that has changed.

This allows you to create an script that for instance, run a suite of unit tests when an specific file has changed using powershell pipelining.


Download the psm1 file in My documents\WindowsPowershell\Modules\pswatch or simply run this one line installation script:

iex ((new-object net.webclient).DownloadString(""))


A simple example will be:

Import-Module pswatch

watch "Myfolder\Other" | %{
	Write-Host "$_.Path has changed!"
	RunUnitTests.exe $_.Path

You can filter by using powershell pipelining as follows:

watch | Get-Item | Where-Object { $_.Extension -eq ".js" } | %{
	do the magic...


The wacth cmdlet has the following parameters:

  • location: the directory to watch. Optional, default to current directory.
  • includeSubdirectories: default to true.
  • includeChanged: default to true.
  • includeRenamed: default to true.
  • includeCreated: default to true.
  • includeDeleted: default to false.
You can’t perform that action at this time.