Powershell小技巧之使用Get-ChildItem得到指定扩展名文件
当你使用Get-ChildItem获取输出文件列表时,你可能会发现即使用了-Filter参数也会比你预期的结果要多得多。
这里有一个例子,它不仅返回.ps1扩展名文件同时也返回.ps1xml扩展名文件:
Get-ChildItem -Path C:windows -Recurse -ErrorAction SilentlyContinue -Filter *.ps1
为了限制结果集只是你设置后的扩展名,可以添加一个命令的过滤器,以完善的结果:
Get-ChildItem -Path C:windows -Recurse -ErrorAction SilentlyContinue -Filter *.ps1 | Where-Object { $_.Extension -eq '.ps1' }
这将只返回指定的扩展名文件。
混合使用Get-ChildItem 参数
可以在同一命令中使用 Get-ChildItem cmdlet 的多个参数。在混合使用参数之前,请确保您了解通配符匹配。例如,以下命令将不会返回完整的结果:
PS> Get-ChildItem -Path C:Windows*.dll -Recurse -Exclude [a-y]*.dll
它只会返回C:Windows下的不以a-y开头的dll。原因是你给的是具体的只是C:Windows下的*.dll,而这与递归的参数-recurse矛盾,因为-recurse将返回的是C:Windows目录及递归目录下所有符合要求的dll。
以下是正确的代码:
若要为名称与特定模式相匹配的文件指定递归搜索,请使用 -Include 参数。
PS> Get-ChildItem -Path C:Windows -Include *.dll -Recurse -Exclude [a-y]*.dll
Windows Powershell 定义变量
变量可以临时保存数据,因此可以把数据保存在变量中,以便进一步操作。#定义变量$a=10$b=4#计算变量$result=$a*$b$msg="保存文本"#输出变量$result$msg40保存
Windows Powershell 自动化变量
Powershell自动化变量是那些一旦打开Powershell就会自动加载的变量。这些变量一般存放的内容包括用户信息:例如用户的根目录$home配置信息:例如powershell
Windows Powershell 环境变量
传统的控制台一般没有象Powershell这么高级的变量系统。它们都是依赖于机器本身的环境变量,进行操作。环境变量对于powershell显得很重要,因为它涵
标签:变量,递归,扩展名,参数,的是