【发布时间】:2017-11-19 17:03:20
【问题描述】:
我遇到了有关 powershell 脚本的问题。脚本设置参数并尝试执行传入参数的 .bat 文件。
$app='test.bat';
$appLoc='C:\scripts';
$arg1='userid';
$arg2='password';
$arg3='filelocation';
$arg= $arg1 + $arg2 + $arg3;
Set-Location $appLoc;
我已经尝试了所有方法来运行传入参数的批处理脚本
& $app $arg
& $app -ArgumentList $arg
Start-Process $app -ArgumentList $arg -wait -passthru
& $app $arg1 $arg2 $arg3
以上四个语句都失败了。貌似只是执行批处理脚本,没有传入参数。
【问题讨论】:
-
真的像
$app=test.bat;那样不加引号吗? -
$app=test.bat正在立即运行批处理文件,除非它在当前文件夹中,否则它会引发错误。$arg1=userid;不是有效的 powershell,它是一个错误(或者它正在运行一个名为 'userid' 的命令?)。-ArgumentList接受一个列表(数组),然后您将其传递给一个字符串。请编辑以包含一些实际代码,以演示您在做什么以及出了什么问题..
标签: powershell batch-file