В партии я хочу использовать:
FOR /F "usebackq skip=1" %I IN (wmic datafile where Name^="D:\\TOTO.EXE" get Version) DO (ECHO %I)
и хотите ограничить ECHO, не включив ECHO is on.
для последней строки, которая пуста.
Как я могу это сделать?
В партии я хочу использовать:
FOR /F "usebackq skip=1" %I IN (wmic datafile where Name^="D:\\TOTO.EXE" get Version) DO (ECHO %I)
и хотите ограничить ECHO, не включив ECHO is on.
для последней строки, которая пуста.
Как я могу это сделать?
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