65.9K
CodeProject 正在变化。 阅读更多。
Home

Microsoft Windows PowerShell快速指南 - 第二部分

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.68/5 (20投票s)

2010年8月16日

CPOL

4分钟阅读

viewsIcon

55285

本文(第二部分)的目的是向您介绍在 Microsoft Windows PowerShell 脚本中使用 VB / .NET 库、函数和方法。

目录

  • 引言
  • 背景
  • VB 脚本迁移到 PowerShell
    • 函数 / 方法
  • 致所有银牌会员及以上级别会员的通知
  • 结论
  • 参考文献
  • 关注点
  • 历史

引言

VBA 开发者以及 VB 脚本编写者非常熟悉使用最常见的内置库或函数,例如 CInt()CStr()Abs() 等。在本节中,我们不会讨论如何在 VB 脚本中使用这些库或函数。我们将讨论如何在MicrosoftWindows PowerShell 中转换和使用它们。

背景

因此,本文的主要目标是将所有最常用的库或函数及其在MicrosoftWindows PowerShell 中的用法整合到一篇文章中。

了解以下内容非常重要:MicrosoftWindows PowerShell 没有内置方法,但我们可以通过使用 .NET Framework 库来实现此目的。

注意

本文是大家参与并提供正确代码片段和完整解释的通用平台。

VB 脚本迁移到 PowerShell

在本节中,我们将讨论如何转换和使用 VB 脚本中广泛使用的所有库或函数。

函数 / 方法

下面列出了一些函数/方法

函数 / 方法 函数 / 方法 函数 / 方法 函数 / 方法
Abs() Cos() Split() LBound()
Asc() CSng() Eval() LCase()
CBool() CStr() Filter() Left()
CByte() Date() Hex() Len()
CCur() DateAdd() Hour() LTrim()
CDate() DateDiff() IsDate() RTrim()
CDbl() DatePart() IsEmpty() Mid()
Chr() DateSerial() IsNull() Minute()
CInt() DateValue() IsNumeric() Month()
CLng() Day() IsObject() MonthName()
Now() Replace() Right() Round()
  1. Abs(): 返回数字的绝对值。

    示例:

    $result = [math]::abs(-99) 

    输出: 99

  2. Asc(): 返回字符串中第一个字母对应的 ANSI 字符代码。

    示例:

    $result = [byte][char] "A"

    输出: 65

  3. CBool(): 返回一个已转换为布尔子类型的 Variant 的表达式。

    示例:

    $result = 0  // 0 is for false & 1 is for true
    $result = [bool] $result

    输出: False

  4. CByte(): 返回一个已转换为字节子类型的 Variant 的表达式。

    示例:

    $result = "99.45"
    $result = [byte] $result

    输出: 99

  5. CCur(): 返回一个已转换为货币子类型的 Variant 的表达式。

    示例:

    $result = "{0:C}" -f 100

    输出: $100.00

  6. CDate(): 返回一个已转换为日期子类型的 Variant 的表达式。

    示例:

    $result = '17/08/2010'
    $result = [datetime]$result  
  7. CDbl(): 返回一个已转换为双精度子类型的 Variant 的表达式。

    示例:

    $result = "10.99"
    $result = [double]$result

    输出: 10.99

  8. Chr(): 返回与指定 ANSI 字符代码关联的字符。

    示例:

    $result = [char]42 

    输出: *

  9. CInt(): 返回一个已转换为整数子类型的 Variant 的表达式。

    示例:

    $result = "99.96"
    $result = [int] $result  

    输出: 100

  10. CLng(): 返回一个已转换为长整型子类型的 Variant 的表达式。

    示例:

    $result = "123456789.45"
    $result = [long] $result

    输出: 123456789

  11. Date(): 返回当前的系统日期。

    示例:

    $result = get-date –format d

    输出: 1/2/2002

  12. Now(): 返回根据您的计算机系统日期和时间设置的当前日期和时间。

    示例:

    $result = get-date

    输出: Wednesday, January 02, 2002 1:32:08 AM

  13. Cos(): 返回角度的余弦值。

    示例:

    $result = [math]::cos(45)

    输出: 0.52532198881773

  14. CSng(): 返回一个已转换为单精度子类型的 Variant 的表达式。

    示例:

    $result = "99.45"
    $result =  [single] $result   

    输出: 99.45

  15. CStr(): 返回一个已转换为字符串子类型的 Variant 的表达式。

    示例:

    $result = 99
    $result = [string] $result     

    输出: "99"

  16. DateAdd(): 返回添加了指定时间间隔后的日期。
    在 Windows PowerShell 中,您可以通过使用 Get-Date Cmdlet 和相应的方法来确定这一点。例如,此命令计算当前日期之后的 37 天(使用 AddDays() 方法),并将该值存储在变量 $result 中。

    示例:

    $result = get-date
    $result
    $result = (get-date).AddDays(37)
    $result

    输出:

    Wednesday, January 02, 2002 2:31:06 AM
    Friday, February 08, 2002 2:31:06 AM
  17. DateDiff(): 返回两个日期之间的间隔数。
    示例:

    $result = New-TimeSpan $(Get-Date) $(Get-Date –month 12 -day 31 
    	-year 2006 -hour 23 -minute 30)

    输出:

    Days : 1824
    Hours : 20
    Minutes : 55
    Seconds : 0
    Milliseconds : 0
    Ticks : 1576689000000000
    TotalDays : 1824.87152777778
    TotalHours : 43796.9166666667
    TotalMinutes : 2627815
    TotalSeconds : 157668900
    TotalMilliseconds : 157668900000
  18. DatePart(): 返回给定日期的指定部分。

    示例:

    $result = (get-date).day
    $result = (get-date).dayofweek
    $result = (get-date).dayofyear
    $result = (get-date).hour
    $result = (get-date).millisecond
    $result = (get-date).minute
    $result = (get-date).month
    $result = (get-date).second
    $result = (get-date).timeofday
    $result = (get-date).year

    输出:

    2
    2
    Wednesday
    2
    2
    921
    41
    1
    50
    
    Days : 0
    Hours : 2
    Minutes : 41
    Seconds : 50
    Milliseconds : 953
    Ticks : 97109531250
    TotalDays : 0.112395290798611
    TotalHours : 2.69748697916667
    TotalMinutes : 161.84921875
    TotalSeconds : 9710.953125
    TotalMilliseconds : 9710953.125
  19. DateSerial(): 返回一个指定年、月、日的日期子类型的 Variant。

    示例:

    $result = get-date -y 2010 -mo 12 -day 31

    输出: Friday, December 31, 2010 2:46:44 AM

  20. DateValue(): 返回一个日期子类型的 Variant。

    示例:

    $result = [datetime] "12/1/2010"

    输出: Wednesday, December 01, 2010 12:00:00 AM

  21. Day(): 返回一个介于 1 到 31 之间的整数,表示月份中的第几天。

    示例:

    $result = (get-date).day

    输出: 2

  22. Replace(): 返回一个字符串,其中指定的子字符串已根据指定的次数被另一个子字符串替换。

    示例:

    $result = "Hallo"
    $result = $result -replace("a","e")

    输出:

     Hello
    ...... 
    
    
    .... 
    
    
    ... 
    
    
    
    '
    

致所有银牌会员及以上级别会员的通知

此目录和文章可供所有银牌会员及以上级别会员编辑。我希望您能替换目录中的条目,并添加您所了解的关于MicrosoftWindows PowerShell 的其他内容。这将真正帮助初学者在一个地方找到所有这些内容。

参考文献

  • Microsoft开发网络

结论

希望这对您有所帮助。尽情享受吧!

历史

  • 2010 年 8 月 17 日:初始帖子
© . All rights reserved.