Test-Path
Bir yolun tüm öğelerinin mevcut olup olmadığını belirler.
Syntax
Path (Varsayılan)
Test-Path
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <PSCredential>]
[-OlderThan <DateTime>]
[-NewerThan <DateTime>]
[<CommonParameters>]
LiteralPath
Test-Path
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PathType <TestPathType>]
[-IsValid]
[-Credential <PSCredential>]
[-OlderThan <DateTime>]
[-NewerThan <DateTime>]
[<CommonParameters>]
Description
Test-Path cmdlet'i, yolun tüm öğelerinin var olup olmadığını belirler. Tüm öğeler mevcutsa $True, eksik olan varsa $False döndürür. Ayrıca, yol söz diziminin geçerli olup olmadığını ve yolun bir kapsayıcıya mı, terminale mi yoksa yaprak öğeye mi yol açtığını da anlayabilir.
Yol bir boşluk veya boş bir dize ise, döndürülür$False.
Yol, dizisi $null veya boş dizi ise$null, sonlandırılmayan bir hata döndürülür.
Örnekler
Örnek 1: Yolu test edin
Test-Path -Path "C:\Documents and Settings\DavidC"
True
Bu komut, yoldaki tüm öğelerin, yani dizinin, C: dizinin Documents and Settings ve dizinin DavidC var olup olmadığını denetler. Eğer herhangi bir şey eksikse, cmdlet $Falsedöndürür. Aksi takdirde $Truedeğerini döndürür.
Örnek 2: Profilin yolunu test edin
Test-Path -Path $profile
False
Test-Path -Path $profile -IsValid
True
Bu komutlar PowerShell profilinin yolunu test eder.
İlk komut, yoldaki tüm öğelerin mevcut olup olmadığını belirler. İkinci komut, yolun söz diziminin doğru olup olmadığını belirler. Bu durumda, yol $False'dır, ancak söz dizimi $Truedoğrudur. Bu komutlar, profil mevcut olmasa bile profilin konumuna işaret eden otomatik değişken $profilekullanır.
Otomatik değişkenler hakkında daha fazla bilgi için bkz. about_Automatic_Variables.
Örnek 3: Belirtilen tür dışında herhangi bir dosya olup olmadığını denetleyin
Test-Path -Path "C:\CAD\Commercial Buildings\*" -Exclude *.dwg
False
Bu komut, Ticari Binalar dizininde .dwg dosya dışında herhangi bir dosya olup olmadığını denetler.
Komut, yolu belirtmek için Path parametresini kullanır. Boşluk içerdiği için bağlam tırnak işaretleri içine alınır. Yolun sonundaki yıldız işareti, Ticari Yapı dizininin içeriğini gösterir. Bunun gibi uzun yollarla, yolun ilk birkaç harfini yazın ve ardından yolu tamamlamak için SEKME tuşunu kullanın.
komutu, değerlendirmeden atlanacak dosyaları belirtmek için Exclude parametresini belirtir.
Bu durumda, dizin yalnızca .dwg dosyaları içerdiğinden sonuç $Falseolur.
Örnek 4: Dosya olup olmadığını denetleme
Test-Path -Path $profile -PathType leaf
True
Bu komut, $profile değişkeninde depolanan yolun bir dosyaya yol açıp açmadığını denetler. Bu durumda, PowerShell profili .ps1 bir dosya olduğundan, cmdlet $Truedöndürür.
Örnek 5: Kayıt Defteri'nde yolları denetleme
Bu komutlar PowerShell kayıt defteri sağlayıcısıyla Test-Path kullanır.
İlk komut, Microsoft.PowerShell kayıt defteri anahtarının kayıt defteri yolunun sistemde doğru olup olmadığını sınar. PowerShell doğru yüklenirse, cmdlet $Truedöndürür.
Önemli
Test-Path tüm PowerShell sağlayıcılarıyla düzgün çalışmıyor. Örneğin, bir kayıt defteri anahtarının yolunu test etmek için Test-Path kullanabilirsiniz, ancak bunu bir kayıt defteri girdisinin yolunu test etmek için kullanırsanız, kayıt defteri girişi mevcut olsa bile her zaman $Falsedöndürür.
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
Örnek 6: Bir dosyanın belirtilen tarihten daha yeni olup olmadığını test edin
Bu komut, bilgisayardaki "PowerShell.exe" dosyasının "13 Temmuz 2009"dan daha yeni olup olmadığını belirlemek için NewerThan dinamik parametresini kullanır.
NewerThan parametresi yalnızca dosya sistemi sürücülerinde çalışır.
Test-Path $pshome\pwsh.exe -NewerThan "July 13, 2009"
True
Örnek 7: Değeri null olan bir yolu test edin
nulliçin, null dizisi veya boş dizi ile ilgili döndürülen hata, bitişsiz bir hatadır.
-ErrorAction SilentlyContinuekullanılarak gizlenebilir. Aşağıdaki örnekte, NullPathNotPermitted hatasını döndüren tüm durumlar gösterilmektedir.
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
Örnek 8: Bir yolu değer olarak boşlukla test edin
Path parametresi için bir boşluk dizesi sağlandığında, False döndürür. Bu, Windows PowerShell 5.1'den bir değişikliktir. Boş bir dize sağlandığında Test-Path bir hata döndürür.
Aşağıdaki örnekte boşluk ve boş dize gösterilmektedir.
Test-Path ' '
Test-Path ''
False
False
Parametreler
-Credential
Uyarı
Bu parametre, PowerShell ile yüklenen hiçbir sağlayıcı tarafından desteklenmez. Başka bir kullanıcının kimliğine bürünmek veya bu cmdlet'i çalıştırırken kimlik bilgilerinizi yükseltmek için Invoke-Commandkullanın.
Parametre özellikleri
| Tür: | PSCredential |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Exclude
Bu cmdlet'in hariç tuttuğu öğeleri belirtir. Bu parametrenin değeri, Path parametresini niteler. "*.txt" gibi bir yol öğesi veya deseni girin. Joker karakterlere izin verilir.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Filter
Sağlayıcının biçiminde veya dilinde bir filtre belirtir. Bu parametrenin değeri, Path parametresini niteler. Joker karakterlerin kullanımı da dahil olmak üzere filtrenin söz dizimi sağlayıcıya bağlıdır. Sağlayıcı, nesneleri aldıktan sonra PowerShell'in filtrelemesini yapmak yerine nesneleri aldığında filtreler diğer parametrelerden daha verimlidir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Include
Bu cmdlet'in test yaptığı yolları belirtir. Bu parametrenin değeri, Path parametresini niteler. "*.txt" gibi bir yol öğesi veya deseni girin. Joker karakterlere izin verilir.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-IsValid
Bu cmdlet'in, yolun öğelerinin var olup olmadığına bakılmaksızın yolun söz dizimini test ettiğini gösterir. Bu cmdlet, yol söz dizimi geçerliyse $True ve geçerli değilse $False döndürür.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-LiteralPath
Test edilecek yolu belirtir. Pathaksine, LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol, PowerShell tarafından kaçış dizileri olarak yorumlanabilir karakterler içeriyorsa, yorumlanmalarını önlemek için yolu tek tırnak işareti içine almanız gerekir.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | PSPath, LP |
Parametre kümeleri
LiteralPath
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-NewerThan
DateTime nesnesi olarak bir saat belirtin.
Parametre özellikleri
| Tür: | |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-OlderThan
DateTime nesnesi olarak bir saat belirtin.
Parametre özellikleri
| Tür: | |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Path
Test edilecek yolu belirtir. Joker karakterlere izin verilir. Dosya yolu boşluk içeriyorsa, tırnak işareti içine alın.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | True |
| DontShow: | False |
Parametre kümeleri
Path
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-PathType
Yoldaki son öğenin türünü belirtir. Bu cmdlet, öğe belirtilen türdeyse $True ve değilse $False döndürür. Bu parametre için kabul edilebilir değerler şunlardır:
- Konteyner. Dizin veya kayıt defteri anahtarı gibi diğer öğeleri içeren bir öğe.
- Yaprak. Dosya gibi başka öğeler içermeyen bir öğe.
- Herhangi biri Bir kapsayıcı veya yaprak.
Yoldaki son öğenin belirli bir türe ait olup olmadığını bildirir.
Dikkat
PowerShell sürüm 6.1.2'ye kadar, IsValid ve PathType anahtarları birlikte belirtildiğinde, Test-Path cmdlet'i PathType anahtarını yoksayar ve yol türünü doğrulamadan yalnızca ilgili yolu doğrular.
#8607
Parametre özellikleri
| Tür: | TestPathType |
| Default value: | None |
| Kabul edilen değerler: | Any, Container, Leaf |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Türü |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
String
Bu cmdlet'e bir yol içeren ancak kelime anlamıyla bir yol olmayan bir dize aktarabilirsiniz.
Çıkışlar
Boolean
Cmdlet bir Boole değeri döndürür.
Notlar
Yol adını içeren cmdlet'ler (Yolu cmdlet'leri) yol adlarıyla çalışır ve adları tüm PowerShell sağlayıcılarının yorumlayabildiği kısa bir biçimde döndürür. Bir yol adının tamamını veya bir bölümünü belirli bir biçimde görüntülemek istediğiniz programlarda ve betiklerde kullanılmak üzere tasarlanmıştır. Dirname, Normpath, Realpath, Joinveya diğer yol manipülatörlerini kullandığınız gibi kullanın.
Test-Path, herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda kullanılabilen sağlayıcıları listelemek için Get-PSProvideryazın. Daha fazla bilgi için bkz. about_Providers.