什么是最好的PowerShell超级生产力脚本?

时间:2010-08-08 23:36:07

标签: powershell

我正在进入PowerShell脚本,并对其肌肉,灵活性和砂砾印象深刻,特别是与微软的经典DOS命令行实现相比。基本上我希望社区能够从你的经验中获得快速的胜利。

什么是最好的PowerShell超级生产力脚本?
脚本的参与规则:

  • 每个答案只有一个脚本 - 最好的,
  • 最好短而甜,
  • 一般来说足以适用于群众,否则它可能不会得到很多投票的适用性,
  • 还提供使用脚本所需的任何上下文。 THX。

发出此问题的决定基于this questionthis question,因为它们都没有专门针对PowerShell。

我期待使用您提供的脚本,并且也知道其他人也会这样做,尤其是最好的脚本将被选为顶级以便轻松选择 - 这是对社区评估的一种很好的使用。

免责声明:我意识到像这样的问题的优点经常被高度辩论,但会发布并让社区决定。感谢。

3 个答案:

答案 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