Test-Path
Meghatározza, hogy az elérési út minden eleme létezik-e.
Syntax
Path (Alapértelmezett)
Test-Path
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <PSCredential>]
[-UseTransaction]
[-OlderThan <DateTime>]
[-NewerThan <DateTime>]
[<CommonParameters>]
LiteralPath
Test-Path
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <PSCredential>]
[-UseTransaction]
[-OlderThan <DateTime>]
[-NewerThan <DateTime>]
[<CommonParameters>]
Description
A Test-Path parancsmag határozza meg, hogy az elérési út minden eleme létezik-e.
Visszaadja $True, ha az összes elem létezik, és ha hiányzik, $False.
Azt is meg tudja állapítani, hogy az elérési út szintaxisa érvényes-e, és hogy az elérési út tárolóhoz, terminálhoz vagy levélelemhez vezet-e.
Ha a Path szóköz, akkor $False lesz visszaadva.
Ha a Path egy üres sztring, $null, $null vagy üres tömb tömbje, a függvény nem végződő hibát ad vissza.
Példák
1. példa: Elérési út tesztelése
Test-Path -Path "C:\Documents and Settings\DavidC"
True
Ez a parancs ellenőrzi, hogy az elérési út összes eleme létezik-e, azaz a C: könyvtár, a Dokumentumok és beállítások könyvtár, valamint a DavidC könyvtár.
Ha valamelyik hiányzik, a parancsmag $Falsead vissza.
Ellenkező esetben $True-et ad vissza.
2. példa: Profil elérési útjának tesztelése
Test-Path -Path $profile
False
Test-Path -Path $profile -IsValid
True
Ezek a parancsok tesztelik a PowerShell-profil elérési útját.
Az első parancs határozza meg, hogy az elérési út összes eleme létezik-e.
A második parancs határozza meg, hogy az elérési út szintaxisa helyes-e.
Ebben az esetben az elérési út $False, de a szintaxis helyes $True.
Ezek a parancsok $profile, az automatikus változót használják, amely a profil helyére mutat, még akkor is, ha a profil nem létezik.
Az automatikus változókkal kapcsolatos további információkért lásd: about_Automatic_Variables.
3. példa: Ellenőrizze, hogy vannak-e fájlok a megadott típuson kívül
Test-Path -Path "C:\CAD\Commercial Buildings\*" -Exclude *.dwg
False
Ez a parancs ellenőrzi, hogy vannak-e olyan fájlok a Kereskedelmi épületek könyvtárban, amelyek nem .dwg fájlok.
A parancs a Path paramétert használja az elérési út megadásához. Mivel az elérési út szóközt tartalmaz, az elérési út idézőjelek közé kerül. Az útvonal végén lévő csillag a Kereskedelmi épület könyvtár tartalmát jelzi. Ha hosszú elérési utakat használ, például ezt, írja be az elérési út első néhány betűét, majd a TAB billentyűvel fejezze be az elérési utat.
A parancs megadja a Kizárás paramétert a kiértékelésből kihagyott fájlok megadásához.
Ebben az esetben, mivel a könyvtár csak .dwg fájlokat tartalmaz, az eredmény $False.
4. példa: Fájl keresése
Test-Path -Path $profile -PathType leaf
True
Ez a parancs ellenőrzi, hogy a $profile változóban tárolt elérési út egy fájlhoz vezet-e.
Ebben az esetben, mivel a PowerShell-profil egy .ps1 fájl, a parancsmag $Truead vissza.
5. példa: Elérési utak ellenőrzése a beállításjegyzékben
Ezek a parancsok a Test-Path-t használják a PowerShell beállításjegyzék-szolgáltatóval.
Az első parancs ellenőrzi, hogy a Microsoft.PowerShell beállításkulcs beállításjegyzék-elérési útja helyes-e a rendszeren.
Ha a PowerShell megfelelően van telepítve, a parancsmag $Truead vissza.
Fontos
Test-Path nem működik megfelelően az összes PowerShell-szolgáltatóval.
Például használhatja a Test-Path-t egy beállításkulcs elérési útjának tesztelésére, de ha egy bejegyzés elérési útját teszteli, az mindig a $Falseértéket adja vissza, még akkor is, ha a bejegyzés létezik.
Test-Path -Path "HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"
True
Test-Path -Path "HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy"
False
6. példa: Annak tesztelése, hogy egy fájl újabb-e egy megadott dátumnál
Ez a parancs a NewerThan dinamikus paramétert használja annak megállapítására, hogy a számítógépen található "PowerShell.exe" fájl újabb-e, mint a "2009. július 13.".
A NewerThan paraméter csak fájlrendszer-meghajtókon működik.
Test-Path $pshome\PowerShell.exe -NewerThan "July 13, 2009"
True
7. példa: Értékként null értékű elérési út tesztelése
A null, a null tömb vagy egy üres tömb esetében visszaadott hiba egy nem lezáruló hiba.
A -ErrorAction SilentlyContinuehasználatával letiltható.
Az alábbi példa az összes olyan esetet mutatja be, amely a NullPathNotPermitted hibát adja vissza.
Test-Path $null
Test-Path $null, $null
Test-Path @()
Test-Path : Cannot bind argument to parameter 'Path' because it is null.
At line:1 char:11
+ Test-Path $null
+ ~~~~~
+ CategoryInfo : InvalidData: (:) [Test-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand
8. példa: Elérési út tesztelése üres térrel értékként
Ha egy üres szóköz vagy üres sztring van megadva a -Path paraméterhez, akkor hamis értéket ad vissza.
Az alábbi példa a szóközt és az üres sztringet mutatja be.
Test-Path ' '
Test-Path ''
False
Test-Path : Cannot bind argument to parameter 'Path' because it is an empty string.
At line:1 char:11
+ Test-Path ''
+ ~~
+ CategoryInfo : InvalidData: (:) [Test-Path], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.TestPathCommand
Paraméterek
-Credential
Megjegyzés:
Ezt a paramétert a PowerShell-lel telepített szolgáltatók nem támogatják. Ha egy másik felhasználó szerepében szeretne fellépni, vagy emelni szeretné hitelesítő adatait a parancsmag futtatásakor, használja a Invoke-Command.
Paramétertulajdonságok
| Típus: | PSCredential |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-Exclude
Megadja azokat az elemeket, amelyeket ez a parancsmag kihagy. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például "*.txt". A helyettesítő karakterek használata engedélyezett.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Filter
A szűrőt a szolgáltató formátumában vagy nyelvén adja meg. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. A szűrő szintaxisa, beleértve a helyettesítő karakterek használatát is, a szolgáltatótól függ. A szűrők hatékonyabbak, mint a többi paraméter, mivel a szolgáltató azokat az objektumok lekérésekor alkalmazza ahelyett, hogy a PowerShell a lekérés után szűri az objektumokat.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Include
Megadja a parancsmag által tesztelt elérési utakat. Ennek a paraméternek az értéke a Elérési út paramétert minősíti. Adjon meg egy elérési út elemet vagy mintát, például "*.txt". A helyettesítő karakterek használata engedélyezett.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-IsValid
Azt jelzi, hogy ez a parancsmag teszteli az elérési út szintaxisát, függetlenül attól, hogy az elérési út elemei léteznek-e.
Ez a parancsmag $True ad vissza, ha az elérési út szintaxisa érvényes, és $False, ha nem.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-LiteralPath
A tesztelni kívánt elérési utat adja meg. A Path-tal ellentétben a LiteralPath paraméter értéke pontosan a beíráskor lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | PSPath |
Paraméterkészletek
LiteralPath
| Position: | Named |
| Kötelező: | True |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-NewerThan
Adjon meg egy időpontot DateTime objektumként.
Paramétertulajdonságok
| Típus: | DateTime |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-OlderThan
Adjon meg egy időpontot DateTime objektumként.
Paramétertulajdonságok
| Típus: | DateTime |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Path
A tesztelni kívánt elérési utat adja meg. A helyettesítő karakterek használata engedélyezett. Ha az elérési út szóközöket tartalmaz, tegye idézőjelek közé.
Paramétertulajdonságok
| Típus: | String[] |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | True |
| DontShow: | False |
Paraméterkészletek
Path
| Position: | 0 |
| Kötelező: | True |
| Folyamatból származó érték: | True |
| Folyamatból származó érték tulajdonságnév alapján: | True |
| Fennmaradó argumentumokból származó érték: | False |
-PathType
Megadja az elérési út utolsó elemének típusát.
Ez a parancsmag $True ad vissza, ha az elem a megadott típusú, és $False, ha nem.
A paraméter elfogadható értékei a következők:
- Konténer. Más elemeket, például könyvtárat vagy beállításkulcsot tartalmazó elem.
- Levél. Olyan elem, amely nem tartalmaz más elemeket, például egy fájlt.
- Bármely. Vagy egy tároló vagy egy levél.
Azt jelzi, hogy az elérési út utolsó eleme egy adott típusú-e.
Figyelmeztetés
A PowerShell 6.1.2-es verziójáig, amikor a IsValid és PathType kapcsolók együtt vannak megadva, a Test-Path parancsmag figyelmen kívül hagyja a PathType kapcsolót, és csak a szintaktikai útvonalat érvényesíti az elérési út típusának érvényesítése nélkül.
A 8607-es
Paramétertulajdonságok
| Típus: | TestPathType |
| Alapértelmezett érték: | None |
| Elfogadott értékek: | Any, Container, Leaf |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | Típus |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-UseTransaction
Tartalmazza a parancsot az aktív tranzakcióban. Ez a paraméter csak akkor érvényes, ha egy tranzakció folyamatban van. További információ: about_Transactions
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | False |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
| Aliasok: | usetx |
Paraméterkészletek
(All)
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
String
Ehhez a parancsmaghoz egy elérési utat tartalmazó, de nem literális elérési utat tartalmazó sztringet csövezhet.
Kimenetek
Boolean
A parancsmag egy logikai értéket ad vissza.
Jegyzetek
A Elérési út főnevét (az Elérési út parancsmagokat) tartalmazó parancsmagok az elérési utak neveivel dolgoznak, és a neveket tömör formátumban adja vissza, amelyet az összes PowerShell-szolgáltató értelmezni tud. Olyan programokban és szkriptekben való használatra készültek, amelyekben az elérési út nevének egy részét vagy egészét egy adott formátumban szeretné megjeleníteni. Használja őket úgy, mint a Dirname, Normpath, Realpath, Joinvagy más elérésiút-manipulátorokat.
A Test-Path úgy tervezték, hogy bármely szolgáltató által közzétett adatokkal működjön együtt.
A munkamenetben elérhető szolgáltatók listájához írja be a Get-PSProvider.
További információért lásd a about_Providerscímű részt.