2013-07-10 31 views
1

\我已经尝试了一切,我可以在网上找到,但我不能使这项工作......真令人沮丧。我想要做的就是将命令行中的文件名传递给我的Powershell脚本test.ps1。PowerShell无法通过命令行字符串参数

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

我喜欢运行该脚本:

的PowerShell \ test.ps1 “输入”

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

+0

不应错误是'无法找到C:\工作\ .txt'?如果$ input没有在那里定义,powershell不会神奇地去掉$ inputpath中尾随的反斜杠。 –

+0

你说得对。刚刚编辑。我不知道我需要把“\\”放在“stackoverflow”中。 – user2502206

+0

那么$ args包含什么?转储它,我会说... – arkascha

回答

0

我会简单地使用这个建筑的路径:

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