在Powershell中连接多个cmdlet

时间:2014-08-07 10:06:52

标签: powershell format cmdlets powershell-v1.0

我是Powershell脚本的新手,我在将cmdlet连接成一个字符串时遇到了麻烦。我使用Powershell V1.0(由于公司限制......)

我尝试将日,月和年连在一起而没有任何分隔符来生成像07082014这样的结果。我开始使用:

$strDate = get-date -Format "dd" + get-date -Format "MM" + get-date -Format "yyyy"

这会产生错误:

  

无法绑定参数,因为参数'格式'被指定不止一次。要为可以接受多个值的参数提供多个值,请使用数组语法。例如," - 参数value1,value2,value3"。 System.Management.Automation.CommandNotFoundException:术语' foobar'不被识别为cmdlet,函数,可操作程序或脚本文件。验证该术语,然后重试。

所以我试过了:

$strDay = get-date -Format "dd"
$strDay = $strDay + get-date -Format "MM"
$strDay = $strDay + get-date -Format "yyyy"

但这会导致另一个错误:

  

您必须在' +'的右侧提供值表达式。操作

我的理解是,通过对-Format使用get-date参数,将返回一个字符串值,从而允许连接到另一个字符串。

任何人都可以帮助我出错的地方吗?

1 个答案:

答案 0 :(得分:3)

每次调用Get-Date时都需要括号,以便它知道它们是分开的:

$strDate = (Get-Date -Format "dd") + (Get-Date -Format "MM") + (Get-Date -Format "yyyy")

虽然如果您只是想以这种格式获取日期,那么您真正需要做的就是:

$strDate = Get-Date -Format "ddMMyyyy"