有人可以帮我解释一下这里发生了什么吗?抱歉,如果这是一个基本问题, 我从我正在尝试编写的管道表达式中简化了它:
$foo = pwd
$cmd = "dir"
& $cmd $foo #Works
dir $foo #Works
& "dir $foo" #Error
*术语“dir C:\”未被识别为 cmdlet、函数、可运行程序或脚本文件。验证术语并重试。
在行:1 字符:2 + & <<<< "dir $foo"*
dir pwd #Error
*Get-ChildItem:找不到路径“C:\pwd”,因为它不存在。
第 1 行字符:4 + 目录 <<<< 密码*
我希望所有这四个都产生相同的结果
最佳答案
引号中的表达式被解释为单个参数。在第三条命令中,shell 将其解释为对不带参数的命令“dir C:\
”的请求,而不是对命令“dir
”的请求参数为“C:\
”。
关于powershell - 关于powershell命令执行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1412733/