Testing for existing items

The Test-Path command may be used to test for the existence of a specific item under a drive:

Test-Path HKLM:SoftwarePublisher 

Test-path distinguishes between item types with the PathType parameter. The container and leaf terms are used across providers to broadly classify items.

When working with the filesystem, a container is a directory (or folder) and a leaf is a file. In the registry, a key is a container and there are no leaves. In a certificate provider, a store or store location is a container and a certificate is a leaf.

The following commands test for items of differing types:

Test-Path C:Windows -PathType Container 
Test-Path C:WindowsSystem32cmd.exe -PathType Leaf 

The Test-Path command is often used in an if statement prior to creating a file or directory:

if (-not (Test-Path C:TempNewDirectory -PathType Container)) { 
    New-Item C:TempNewDirectory -ItemType Directory
}
Get-Item, Test-Path, and pagefile.sys

Some files in Windows are locked, with the result that Get-Item and Test-Path are unable to correctly return results. The pagefile.sys file is one of these.

Get-Item returns an error, indicating that the file does not exist, even when the Force parameter is used. Test-Path always returns false.

This may be considered to be a bug. To work around the problem, Get-ChildItem is able to get the file: Get-ChildItem C: -Filter pagefile.sys -Force.

To replace the functionality of Test-Path, the static method Exists may be used: [System.IO.File]::Exists('c:pagefile.sys').
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.30.253