Testing existence

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

Test-Path HKLM:SoftwarePublisher 

Test-path distinguishes between item types with the PathType parameter. The terms container and leaf 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 the 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, to the extent where 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
3.133.133.233