在批处理中我想使用:
FOR /F "usebackq skip=1" %I IN (wmic datafile where Name^="D:\\TOTO.EXE" get Version) DO (ECHO %I)
并想限制 ECHO,不让ECHO is on.
最后一行为空。
我怎样才能做到这一点?
答案1
我不想ECHO
最后一行是空的
FOR /F "usebackq skip=1" %I IN (wmic datafile where Name^="D:\\TOTO.EXE" get Version) DO (ECHO %I)
要使上述内容在批处理文件中发挥作用,您需要更改一些内容:
将每个单打替换
%
为双打%%
。(`)
在 执行的命令周围添加反引号for
。通过管道将
|
命令发送wmic
到findstr /r /v "^$"
以删除空白行(这将删除输出ECHO is on.
。
综合起来,使用以下批处理文件(test.cmd):
@echo off
setlocal
for /f "usebackq skip=1" %%i in (`wmic datafile where Name^="D:\\TOTO.EXE" get Version ^| findstr /r /v "^$"`) do (echo %%i)
endlocal
您将获得一行输出,类似于以下内容:
F:\test>test
6.1.7600.16385
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 查找字符串- 在文件中搜索字符串。
- 对于/f- 循环命令以执行另一个命令的结果。
- 句法- 转义字符、分隔符和引号。