Helyettesítő karakterek támogatása parancsmag-paraméterekbenSupporting Wildcard Characters in Cmdlet Parameters

Gyakran olyan parancsmagot kell megterveznie, amely egy erőforrás-csoporton fut ahelyett, hogy egyetlen erőforrásra lenne szüksége.Often, you will have to design a cmdlet to run against a group of resources rather than against a single resource. Előfordulhat például, hogy egy parancsmagnak meg kell keresnie egy azonos nevű vagy kiterjesztésű adattár összes fájlját.For example, a cmdlet might need to locate all the files in a data store that have the same name or extension. Meg kell adnia a helyettesítő karakterek támogatását, ha olyan parancsmagot tervez, amely egy erőforrás-csoporton fog futni.You must provide support for wildcard characters when you design a cmdlet that will be run against a group of resources.

Megjegyzés

A helyettesítő karakterek használata más néven globbing .Using wildcard characters is sometimes referred to as globbing .

Helyettesítő karaktereket használó Windows PowerShell-parancsmagokWindows PowerShell Cmdlets That Use Wildcards

Számos Windows PowerShell-parancsmag támogatja a helyettesítő karaktereket a paraméter értékeinél.Many Windows PowerShell cmdlets support wildcard characters for their parameter values. Például szinte minden olyan parancsmag, amely a Name vagy a Path paraméterrel rendelkezik, helyettesítő karaktereket is támogat ezekhez a paraméterekhez.For example, almost every cmdlet that has a Name or Path parameter supports wildcard characters for these parameters. (Habár a paraméterrel rendelkező legtöbb parancsmag Path olyan LiteralPath paraméterrel is rendelkezik, amely nem támogatja a helyettesítő karaktereket.) A következő parancs bemutatja, hogyan használható helyettesítő karakter az aktuális munkamenetben lévő összes olyan parancsmag visszaküldéséhez, amelynek a neve tartalmazza a Get műveletet.(Although most cmdlets that have a Path parameter also have a LiteralPath parameter that does not support wildcard characters.) The following command shows how a wildcard character is used to return all the cmdlets in the current session whose name contains the Get verb.

Get-Command get-*

Támogatott helyettesítő karakterekSupported Wildcard Characters

A Windows PowerShell a következő helyettesítő karaktereket támogatja.Windows PowerShell supports the following wildcard characters.

HelyettesítőWildcard LeírásDescription PéldaExample EgyezikMatches Nem egyezikDoes not match
* Nulla vagy több karakternek felel meg, a megadott pozíciótól kezdveMatches zero or more characters, starting at the specified position a* A, AG, AppleA, ag, Apple
?? Minden karakternek megfelel a megadott pozícióbanMatches any character at the specified position ?n Egy, a, beAn, in, on futottran
[ ][ ] Számos karakterből állMatches a range of characters [a-l]ook könyv, Cook, Lookbook, cook, look Zug, elvittnook, took
[ ][ ] Megfelel a megadott karaktereknekMatches the specified characters [bn]ook könyv, Zugbook, nook Cook, Lookcook, look

A helyettesítő karaktereket támogató parancsmagok tervezésekor engedélyezze a helyettesítő karakterek kombinációját.When you design cmdlets that support wildcard characters, allow for combinations of wildcard characters. A következő parancs például a Get-ChildItem parancsmag használatával kéri le a c:\Techdocs mappában található összes. txt fájlt, amely az "a" betűvel kezdődik az "l" értékkel.For example, the following command uses the Get-ChildItem cmdlet to retrieve all the .txt files that are in the c:\Techdocs folder and that begin with the letters "a" through "l."

Get-ChildItem c:\techdocs\[a-l]\*.txt

Az előző parancs a tartomány helyettesítő karakterét használja [a-l] annak megadásához, hogy a fájlnév az "a" és "l" karakterrel kezdődjön, és a * helyettesítő karaktert használja helyőrzőként a fájlnév és a . txt kiterjesztés első betűje között.The previous command uses the range wildcard [a-l] to specify that the file name should begin with the characters "a" through "l" and uses the * wildcard character as a placeholder for any characters between the first letter of the filename and the .txt extension.

Az alábbi példa egy tartományhoz tartozó helyettesítő karaktert használ, amely kizárja a "d" betűt, de az "a" és az "f" közötti összes többi betűt is tartalmazza.The following example uses a range wildcard pattern that excludes the letter "d" but includes all the other letters from "a" through "f."

Get-ChildItem c:\techdocs\[a-cef]\*.txt

Literális karakterek használata helyettesítő karakteres mintákbanHandling Literal Characters in Wildcard Patterns

Ha a megadott helyettesítő karakter olyan literál karaktereket tartalmaz, amelyek nem értelmezendő helyettesítő karakterként, használja a kezdő karaktert ( ` ) Escape-karakterként.If the wildcard pattern you specify contains literal characters that should not be interpretted as wildcard characters, use the backtick character (`) as an escape character. Ha literál karaktereket ad meg a PowerShell API-val, egyetlen kezdő használjon.When you specify literal characters int the PowerShell API, use a single backtick. Ha literál karaktereket ad meg a PowerShell parancssorába, használjon két aposztrófokkal.When you specify literal characters at the PowerShell command prompt, use two backticks.

Az alábbi minta például két zárójelet tartalmaz, amelyeket szó szerint kell elvégeznie.For example, the following pattern contains two brackets that must be taken literally.

A PowerShell API használatakor használja a következőket:When used in the PowerShell API use:

  • "John Smith ` [*"] ""John Smith `[*`]"

A PowerShell-parancssorból való használat esetén:When used from the PowerShell command prompt:

  • "John Smith ` ` [* ` "] ""John Smith ``[*``]"

Ez a minta a következőnek felel meg: "John Smith [marketing]" vagy "John Smith [Development]".This pattern matches "John Smith [Marketing]" or "John Smith [Development]". Például:For example:

PS> "John Smith [Marketing]" -like "John Smith ``[*``]"
True

PS> "John Smith [Development]" -like "John Smith ``[*``]"
True

Parancsmag kimenete és helyettesítő karaktereiCmdlet Output and Wildcard Characters

Ha a parancsmag paraméterei helyettesítő karaktereket is támogatnak, a művelet általában egy tömb kimenetét állítja elő.When cmdlet parameters support wildcard characters, the operation usually generates an array output. Alkalmanként a tömb kimenetét nem érdemes támogatni, mivel a felhasználó csak egyetlen elem használatát teszi lehetővé.Occasionally, it makes no sense to support an array output because the user might use only a single item. A Set-Location parancsmag például nem támogatja a tömb kimenetét, mert a felhasználó csak egyetlen helyet állít be.For example, the Set-Location cmdlet does not support array output because the user sets only a single location. Ebben az esetben a parancsmag továbbra is támogatja a helyettesítő karaktereket, de egyetlen helyre kényszeríti a feloldást.In this instance, the cmdlet still supports wildcard characters, but it forces resolution to a single location.

Lásd még:See Also

Windows PowerShell-parancsmag írásaWriting a Windows PowerShell Cmdlet

WildcardPattern osztályWildcardPattern Class