【问题标题】:Concatenating Multiple cmdlets in Powershell在 Powershell 中连接多个 cmdlet
【发布时间】:2018-12-06 19:14:39
【问题描述】:

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

我试图在没有任何分隔符的情况下将日、月和年连接在一起,以产生像07082014 这样的结果。我已经开始使用:

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

这会产生错误:

无法绑定参数,因为参数“格式”被指定了多次。要为可以接受多个值的参数提供多个值,请使用数组语法。例如,“-参数值 1,值 2,值 3”。 System.Management.Automation.CommandNotFoundException:术语“foobar”未被识别为 cmdlet、函数、可运行程序或脚本文件。验证术语并重试。

所以我尝试过:

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

但这会导致另一个错误:

您必须在“+”运算符的右侧提供一个值表达式。

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

谁能帮忙解决我哪里出错了?

【问题讨论】:

    标签: powershell format powershell-cmdlet powershell-1.0


    【解决方案1】:

    您需要在每次调用 Get-Date 前后加上括号,以便它知道它们是分开的:

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

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

    $strDate = Get-Date -Format "ddMMyyyy"
    

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 2016-01-10
      • 1970-01-01
      • 2020-02-27
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      相关资源
      最近更新 更多