Bagikan melalui


Join-Path

Menggabungkan jalur dan jalur anak ke dalam satu jalur.

Sintaks

Default (Default)

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [-Extension <String>]
    [<CommonParameters>]

Deskripsi

Cmdlet Join-Path menggabungkan jalur dan sub-jalur ke dalam satu jalur. Penyedia menyediakan pemisah jalur.

Contoh

Contoh 1: Menggabungkan jalur dengan jalur anak

Join-Path -Path "path" -ChildPath "childpath"
path\childpath

Perintah ini menggunakan Join-Path untuk menggabungkan jalur dengan childpath.

Karena perintah dijalankan dari penyedia FileSystem, perintah ini menyediakan pemisah \ untuk bergabung dengan jalur.

Contoh 2: Menggabungkan jalur yang sudah berisi pemisah direktori

Join-Path -Path "path\" -ChildPath "\childpath"
path\childpath

Pemisah direktori yang ada \ ditangani sehingga hanya ada satu pemisah antara Jalur dan ChildPath.

Contoh 3: Menampilkan file dan folder dengan menggabungkan jalur dengan jalur anak

Join-Path "C:\win*" "System*" -Resolve

Perintah ini menampilkan file dan folder yang dirujuk dengan menggabungkan jalur C:\Win\* dan jalur turunan System\*. Program ini menampilkan file dan folder yang sama dengan Get-ChildItem, tetapi menampilkan jalur lengkap untuk setiap item. Dalam perintah ini, nama parameter opsional Path dan ChildPath dihilangkan.

Contoh 4: Gunakan Join-Path dengan penyedia PowerShell Registry

PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve
HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet

Perintah ini menampilkan kunci registri di subkunci registri HKLM\System yang menyertakan ControlSet.

Parameter Resolve, mencoba menyelesaikan jalur gabungan, termasuk wildcard dari jalur penyedia saat ini HKLM:\

Contoh 5: Menggabungkan beberapa akar jalur dengan jalur anak

Join-Path -Path C:, D:, E:, F: -ChildPath New
C:\New
D:\New
E:\New
F:\New

Perintah ini menggunakan Join-Path untuk menggabungkan beberapa akar jalur dengan jalur anak.

Nota

Drive yang ditentukan oleh Path harus ada atau gabungan entri tersebut akan gagal.

Contoh 6: Menggabungkan akar drive sistem file dengan jalur anak

Get-PSDrive -PSProvider FileSystem |
    ForEach-Object {$_.Root} |
    Join-Path -ChildPath "Subdir"
C:\Subdir
D:\Subdir

Perintah ini menggabungkan direktori root setiap drive sistem file PowerShell di konsol dengan jalur subdirektori Subdir.

Perintah menggunakan cmdlet Get-PSDrive untuk mendapatkan drive PowerShell yang didukung oleh penyedia FileSystem. Pernyataan ForEach-Object hanya memilih properti Root dari objek PSDriveInfo dan menggabungkannya dengan jalur turunan yang ditentukan.

Output menunjukkan bahwa drive PowerShell di komputer menyertakan drive yang dipetakan ke direktori C:\Program Files.

Contoh 7: Menggabungkan jumlah jalur yang tidak terbatas

Join-Path a b c d e f g
a\b\c\d\e\f\g

Parameter AdditionalChildPath memungkinkan bergabungnya sejumlah jalur yang tidak terbatas.

Dalam contoh ini, tidak ada nama parameter yang digunakan, dengan demikian "a" mengikat Jalur, "b" untuk ChildPath dan "c-g" untuk AdditionalChildPath .

Contoh 8: Menggabungkan jumlah jalur yang tidak terbatas

Parameter ChildPath memungkinkan penggambungan array jalur.

Join-Path -Path a -ChildPath b, c, d, e, f, g
a\b\c\d\e\f\g

Contoh 9: Menambahkan ekstensi ke file tanpa ekstensi

Join-Path C:\Temp myfile -Extension txt
C:\Temp\myfile.txt

Contoh 10: Mengubah ekstensi yang ada

Join-Path C:\Temp myfile.txt -Extension .log
C:\Temp\myfile.log

Contoh 11: Ekstensi tanpa titik depan

Join-Path C:\Temp file.txt -Extension log
C:\Temp\file.log

Contoh 12: Hapus ekstensi dengan string kosong

Join-Path C:\Temp file.txt -Extension ""
C:\Temp\file

Parameter

-AdditionalChildPath

Menentukan elemen tambahan untuk ditambahkan ke nilai parameter Jalur. Parameter ChildPath masih wajib dan juga harus ditentukan. Parameter ini ditentukan dengan properti ValueFromRemainingArguments, yang memungkinkan bergabung dengan jumlah jalur yang tidak terbatas.

Parameter ini ditambahkan di PowerShell 6.0.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:2
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-ChildPath

Menentukan elemen yang akan ditambahkan ke nilai parameter Path. Kartu liar diizinkan.

Dimulai di PowerShell 7.6-preview.4, parameter ini menerima array string. Ini memungkinkan Anda menentukan beberapa jalur anak untuk bergabung dengan jalur utama. Anda dapat menggunakan parameter ini alih-alih parameter AdditionalChildPath.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:1
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Credential

Nota

Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.

Properti parameter

Jenis:PSCredential
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Extension

Menentukan ekstensi yang akan digunakan untuk jalur yang dihasilkan. Jika tidak ditentukan, ekstensi asli dipertahankan. Titik terdepan dalam ekstensi bersifat opsional. Jika dihilangkan, perintah akan menambahkannya secara otomatis.

  • Jika jalur memiliki ekstensi yang ada, jalur akan diganti dengan ekstensi yang ditentukan.
  • Jika jalur tidak memiliki ekstensi, ekstensi yang ditentukan akan ditambahkan.
  • Jika Anda menyediakan string kosong, ekstensi yang ada akan dihapus.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:True
DontShow:False

Kumpulan parameter

(All)
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur utama (atau jalur-jalur) ke mana jalur anak digabungkan. Nilai Path menentukan penyedia mana yang bergabung dengan jalur dan menambahkan pembatas jalur. Kartu liar diizinkan.

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:True
DontShow:False
Alias:PSPath

Kumpulan parameter

(All)
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Resolve

Menunjukkan bahwa cmdlet ini harus mencoba menyelesaikan jalur gabungan dari penyedia saat ini.

  • Jika Anda menggunakan kartubebas, cmdlet mengembalikan semua jalur yang cocok dengan jalur yang digabungkan.
  • Jika Anda tidak menggunakan kartubebas, cmdlet mengembalikan kesalahan jika jalur tidak ada.

Properti parameter

Jenis:SwitchParameter
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

String

Anda dapat menyalurkan string yang berisi jalur ke cmdlet ini.

Output

String

Cmdlet ini mengembalikan string yang berisi jalur yang dihasilkan.

Catatan

Cmdlet yang berisi kata benda Jalur memanipulasi nama jalur dan mengembalikannya dalam format ringkas yang dapat ditafsirkan oleh semua penyedia PowerShell. Mereka dirancang untuk digunakan di mana Anda ingin menampilkan semua atau sebagian jalur dalam format tertentu. Gunakan seperti Anda akan menggunakan Dirname, Normpath, Realpath, Join, atau manipulator jalur lainnya.

Anda dapat menggunakan cmdlet untuk jalur dengan beberapa penyedia, termasuk penyedia FileSystem, Registry, dan Certificate.

Cmdlet ini dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia dalam sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat tentang_Penyedia.