选项 - 未预期类别

问题描述 投票:0回答:1

我是 Windows 批处理 cmd 脚本的完全初学者,所以也许这是一个微不足道的问题,但 Google 没有给我答案。

当我在 cmd 或 powershell 提示符中运行以下命令时,它可以正常工作:

if([bool](Get-WmiObject -Class Win32_Share -ComputerName AMD -Filter "Path='I:\\popsi'") -ne $true)
{
  net share popsi=i:\popsi /GRANT:Igor,FULL
}

在批处理脚本中运行相同的命令时,会打印错误

-Class was unexpected at this time
。我试图将
-Class
转义为
\-Class
但它并没有解决问题。该命令在批处理文件中应如何显示?

powershell batch-file cmd
1个回答
0
投票

此功能需要 PowerShell。如果您需要从 cmd 脚本中运行它,您可以使用 -command 开关调用 PowerShell,如下所示:

powershell -c "if(Get-WmiObject -Class Win32_Share -ComputerName AMD -Filter 'Path=I:\popsi') { net share popsi=I:\popsi /GRANT:Igor,FULL }"
© www.soinside.com 2019 - 2024. All rights reserved.