【问题标题】:Multiple Variables for "-name" parameter in "New-Item"“New-Item”中“-name”参数的多个变量
【发布时间】:2014-06-28 05:23:18
【问题描述】:

我在使用以下 PS 脚本时遇到问题:

New-Item -name $InfoLog -path $LogPath -Name ("Info Log - ",$DateStamp," - ",$TimeStamp) -type file

它给了我错误-

无法绑定参数,因为指定的参数“名称”超过 一次。为可以接受的参数提供多个值 多个值,使用数组语法。例如,“-参数 值1,值2,值3”。

有什么想法吗?我也试过不带括号。

【问题讨论】:

  • “New-Item”是否只接受一个名称参数?如果是这样,我该怎么做才能写出带有日期和时间以及字符串的文件?

标签: powershell parameters


【解决方案1】:

所有 PowerShell cmdlet 每个参数只接受一个参数。但是,您将两个参数传递给New-Item-Name 参数:

New-Item -name $InfoLog -path $LogPath -Name ("Info Log - ",$DateStamp," - ",$TimeStamp) -type file
# One argument ^^^^^^^^     Another argument ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

因为这是一个非法的函数调用,PowerShell 会引发您的错误。


看来你是要写这个的:

New-Item -Path $LogPath -Name "Info Log - $DateStamp - $TimeStamp" -Type File

字符串"Info Log - $DateStamp - $TimeStamp" 中的变量将扩展为它们所代表的值:

PS > $a = 123   
PS > $b = "abc"
PS > "$a -- $b"
123 -- abc

PS > 

【讨论】:

  • 啊!多么愚蠢的错误!不敢相信我错过了。谢谢,很抱歉浪费了时间。我得等5分钟才能给你正确答案。
猜你喜欢
  • 2016-11-25
  • 1970-01-01
  • 2020-01-10
  • 2018-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
相关资源
最近更新 更多