Powershell无法传递命令行字符串参数

时间:2013-07-10 16:20:31

标签: powershell

\我已尝试过我能在网上找到的所有内容,但我无法完成这项工作......真的很令人沮丧。我想要做的就是将命令行中的文件名传递给我的Powershell脚本test.ps1。

param([String]$input=$args[0])
$inputpath = 'C:\work\'
$inputfile = $($inputpath + $input+".txt")

我运行的脚本如下:

  
    
      

powershell。\ test.ps1“输入”

    
  

但是,在我打印出来的错误信息中,我不断收到“找不到c:\ work \ .txt”。显然我的命令行参数不正确。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

尝试将$Input更改为其他名称。因为$Input用于管道变量。

参见例如:

http://blogs.technet.com/b/heyscriptingguy/archive/2010/12/31/write-powershell-functions-that-accept-pipelined-input.aspx

答案 1 :(得分:0)

我只是用它来构建路径:

$inputpath = 'C:\work\'
$inputfile = Join-Path $inputpath ($args[0] + ".txt")