batch-file - 为什么会打印“ECHO 已关闭”?
问题描述
运行此代码后,我希望只收到一个输出“NO User exists for *”:
FOR /F "tokens=* delims= " %%A IN ('C:\windows\System32\query.exe user /server:<some_IP_address>') DO SET NumDoc1=%%A
echo %NumDoc1%
但我不断得到:
No User exists for *
ECHO is off.
如何从输出中消除“ECHO 已关闭”?
谢谢
解决方案
当没有找到用户时,输出被发送到标准错误。FOR 命令只是捕获标准输出。所以你需要将标准错误重定向到标准输出。
for /f "delims=" %%G IN ('"query user /server:servername 2>&1"') do set NumDoc1=%%G
推荐阅读
- postgresql - 在 Spring Data R2DBC 中覆盖数组(列表)类型转换
- android - SearchView 的 onClose 监听器从不运行
- python - 具有不同大小和颜色深度(RGB 和灰度)的两个输入的神经网络
- swift - 使用 RxSwift 从 ViewController 向 ViewModel 传递值
- c# - 异常 gecko.utils.saveimage.convertimagetopng
- javascript - 如何在不删除现有事件但阻止表单提交的情况下添加事件
- python - Linux epoll 系统调用,等待数据可用
- azure-log-analytics - 在日志分析中使用包含 XML 的数据字段来汇总 Windows 事件
- r - 如何查找购买物品及其组合的次数?
- fullcalendar - EXDATE 是否不包含在完整日历的规则中