【发布时间】:2018-06-17 21:55:29
【问题描述】:
在PowerShell 中尝试执行一个命令时出现此错误:
我正在尝试exec这个命令:
powershell.exe Start-Process -FilePath "C:\Windows\System32\attrib +h +s "%CD%"" -Verb runAs
谁能帮我弄清楚为什么会发生这种情况以及如何解决它?
【问题讨论】:
-
您的问题标题是询问如何在 PowerShell 中执行命令,但您似乎正在通过 cmd.exe 中的 PowerShell 执行带有 cmd.exe 参数的 cmd.exe 文件! 为什么?
-
如果这个问题和你的lastest one有关,那就没有意义了,因为你可以直接从右键上下文菜单注册表位置运行
PowerShell Start-Process ...命令,你不需要cmd.exe 完全参与其中! -
同样在PowerShell中,你也可以在没有
attrib.exe的情况下设置当前目录属性!$(Get-Item $(Get-Location)).Attributes='Hidden,System'. -
@Compo: 是的,
cmd.exe不会在您调用通过注册表定义的文件资源管理器上下文菜单命令时隐式涉及。由于您因此无权访问环境变量,因此必须将%CD%替换为%V,这是右键单击文件夹的完整路径的占位符。然而,关于引用,基本上与从cmd.exe调用时的规则相同,并且引用是 OP 的主要问题。 -
@mklement0,我知道creating a context menu entry 中的过程,但这个问题仍然是关于“当前目录”的。 OP 尚未确认这两个问题是否相关。
标签: powershell batch-file syntax quoting