我正在进入PowerShell脚本,并对其肌肉,灵活性和砂砾印象深刻,特别是与微软的经典DOS命令行实现相比。基本上我希望社区能够从你的经验中获得快速的胜利。
什么是最好的PowerShell超级生产力脚本?
脚本的参与规则:
发出此问题的决定基于this question和this question,因为它们都没有专门针对PowerShell。
我期待使用您提供的脚本,并且也知道其他人也会这样做,尤其是最好的脚本将被选为顶级以便轻松选择 - 这是对社区评估的一种很好的使用。
免责声明:我意识到像这样的问题的优点经常被高度辩论,但会发布并让社区决定。感谢。
答案 0 :(得分:4)
减少打字,减少错误并降低噪音。
Function ql {$args}
ql tom john harry | % {$_}
如果没有 ql 功能,您需要添加引号“和逗号,
"tom", "john", "harry" | % {$_
}
月份清单
$months = ql Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
答案 1 :(得分:3)
递归返回当前目录中的所有 文件 ,但 不 目录:
gci . *.* -rec | where { ! $_.PSIsContainer }
答案 2 :(得分:2)
考虑到参与规则从我的武器库中选择一个最喜欢的东西并不容易......嗯,这不是我最好的超级生产力剧本,确实,但它符合所有规则和它确实可以节省几秒钟的时间,将数据导出到CSV,我经常以交互方式进行。
这是Export-Csv的一个简单包装器,它将.CSV扩展名添加到指定的输出路径,并告诉不要写入类型信息(默认情况下写入并使.CSV文件不能被除PowerShell之外的所有应用程序读取)。
<#
.SYNOPSIS
Export-Csv + auto CSV extension + NoTypeInformation
.DESCRIPTION
Parameters are standard Export-Csv parameters but:
-Path: extension .CSV is added if not yet
-NoTypeInformation: the switch is added if not yet
#>
param
(
$Path
)
if ($Path -and $Path -notlike '*.csv') {
$PSBoundParameters['Path'] = $Path + '.csv'
}
if (!$PSBoundParameters.ContainsKey('NoTypeInformation')) {
$PSBoundParameters.Add('NoTypeInformation', $true)
}
$input | Export-Csv @PSBoundParameters