題 如何刪除wmic命令的最後一個空行?


在我想要使用的批處理中:

FOR /F "usebackq skip=1" %I IN (wmic datafile where Name^="D:\\TOTO.EXE" get Version) DO (ECHO %I)

並希望限制ECHO,而不是 ECHO is on. 對於最後一行是空的。

我怎樣才能做到這一點?


4
2018-05-30 19:31


起源




答案:


我不想要 ECHO 對於最後一行是空的

FOR /F "usebackq skip=1" %I IN (wmic datafile where Name^="D:\\TOTO.EXE" get Version) DO (ECHO %I)

您需要更改以上內容以在批處理文件中工作:

  1. 替換每一個 % 有一個雙 %%

  2. 添加反引號 (`) 圍繞執行的命令 for

  3. | 該 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


3
2018-05-30 20:44