使用参数从Powershell调用Batchfile会导致错误

时间:2018-03-14 07:11:01

标签: powershell powershell-v3.0 powershell-v4.0

我有一个简单的批处理文件,如下所示

set argument1=%1
set argument2=%2
echo Argument1 [%argument1%]
echo Argument1 [%argument2%]
pause

如果我从Powershell执行以下行,则可以正常工作。

cmd.exe /c '"C:\test path\Sample.bat"  "C:\Program Files" "test2"'

让我们说现在我将批处理文件路径存储在一个变量中,但它失败了。

$path = "C:\test path\Sample.bat"
cmd.exe /c $path '"C:\Program Files" "test2"' #This command fails
cmd.exe /c '$path "C:\Program F" "test2"' #This command fails

$arg1 = "C:\Program Files"
$arg2 = "testArg"
cmd.exe /c $path $arg1 $arg2 # This also fails

从power shell抛出错误

' C:\测试'不被视为内部或外部命令, 可操作程序或批处理文件。

我犯了一些错误,我不知道错了什么。有人可以帮我解决这个问题吗?

0 个答案:

没有答案