TOPIC about_Wildcards SHORT DESCRIPTION Describes how to use wildcard characters in Windows PowerShell. LONG DESCRIPTION In many cases, you will want to run a cmdlet against a group of items rather than an individual item. For example, you might want to locate all the files in the C:\Techdocs directory that have a .ppt file name extension. If you were to run the following command, it would return all the items in the directory: Get-ChildItem c:\techdocs The problem with this command is that you would have to visually inspect all the documents listed in the directory to determine which files use the .ppt file name extension. However, you can limit the items that are returned by using wildcard characters in a cmdlet's parameters. A wildcard character is a type of placeholder that allows you to search unknown values in order to return specific results. The process of using wildcard characters is sometimes referred to as "globbing". For example, you can recast the previous example so that only .ppt files are returned: Get-ChildItem c:\techdocs\*.ppt In this case, the asterisk (*) is used as a wildcard character to specify that any characters can exist before the .ppt file name extension. Because the file name extension is included, all files returned by the command must have that file name extension, but the files can have any name. As a result, only the files that you are looking for are returned. Windows PowerShell supports several wildcard characters in addition to the asterisk wildcard character. Wildcard Description Example Match No match -------- ------------------ -------- ----------------- -------- * Matches zero or a* A, ag, Apple banana more characters ? Matches exactly ?n an, in, on ran one character in the specified position [ ] Matches a range [a-l]ook book, cook, look took of characters [ ] Matches specified [bc]ook book, cook hook characters Most cmdlets accept wildcard characters in some of their parameters. The Help topic for each cmdlet describes which parameters, if any, permit wildcard characters. For parameters in which wildcard characters are accepted, their use is case insensitive. For example, ?n will return An, an, In, in, On, and on. You can also mix wildcard characters within a single parameter. For example, suppose that you want to display all the .txt files in the C:\Techdocs directory that begin with the letters a through l. You can use the following command: Get-ChildItem c:\techdocs\[a-l]*.txt The command uses a range wildcard ([a-l]) to specify that the file name should begin with the letters a through l. The command then uses the asterisk wildcard character to provide a placeholder for any characters between the first letter and the file name extension. SEE ALSO about_Language_Keywords