当 cmd 打印命令而不是运行命令时,该如何修复?

当 cmd 打印命令而不是运行命令时,该如何修复?

我正在尝试自动为 Windows 设置 Chef。所以我.bat按照

call winrm quickconfig -q
call winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
call winrm set winrm/config @{MaxTimeoutms="1800000"}
call winrm set winrm/config/service @{AllowUnencrypted="true"}
call winrm set winrm/config/service/auth @{Basic="true"}
call netsh advfirewall firewall set rule name="Windows Remote Management (HTTP-In)" profile=public protocol=tcp localport=5985 remoteip=localsubnet new remoteip=any

所以我将其保存winrm.bat并运行。但控制台一直打印:

C:\Users\Administrator\Desktop>winrm quickconfig -q

如果call从所有行中删除命令,结果是相同的。如果我删除第一行,call winrm quickconfig -q结果是:

C:\Users\Administrator\Desktop>winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}

我注意到它会一直打印这些行,而不是一行。但是当我打开控制台并手动逐个复制和粘贴命令时,一切正常。

出了什么问题?如何“启用”这些命令从.bat文件运行?

Cmd 正在从 Windows Server 2008 x64 SP2 运行。系统刚刚安装。

答案1

如果您的批处理文件被调用winrm.bat并且您调用(使用或不使用call命令)winrm...可能您的批处理文件正在调用他自己。

最简单的解决方案是更改批处理文件名

相关内容