Это должно делать именно то, что вы хотите.
@echo off
setlocal enabledelayedexpansion
(for /f "usebackq tokens=* delims= " %%i in ("test.txt") do (
set "_br=%%i"
echo(!_br: =^
!
)
)>_tmp
(for /f "delims=$ tokens=*" %%a in ('type _tmp ^| find "$"') do echo %%a)>result.txt
Обратите внимание , что вы должны скопировать скрипт как есть. Выдержка из сценария, как показано ниже, заменяет пробел новой строкой и, следовательно, не может измениться вообще, позиция и дополнительная строка должны оставаться как есть, чтобы это работало как задумано.
echo(!_br: =^
!
ThisСкрипт просто разделяет каждое слово, разделенное пробелом, и перенаправляет его в новый файл, затем мы специально ищем слова, содержащие $
, и перенаправляем только эти совпадения.