@stepanof23
DevOps/DataOps

Как экранировать символы перенаправления ввода/вывода в cmd?

У меня есть file.txt в котором содержится:
< Hello World >
Как я могу вытащить из этого файла строку Hello World без спец.символов?

Прочитать и сократить файл не удается из-за символов перенаправления ввода/вывода ( < и > ).

Знаю, что есть экранирующий символ ^, но он не особо помогает при чтении строки из файла.
  • Вопрос задан
  • 473 просмотра
Решения вопроса 2
@azarij
В меру опытный никто
((get-content C:\test\hello.txt) -replace "[^a-zA-Z0-9 -]").trim()
Ответ написан
@res2001
Developer, ex-admin
Никак вы не экранируете символы, которые находятся в файле.
Вместо этого возьмите утилиту типа sed, которая сама вытащит то что вам нужно и уже ее вывод можете дальше обрабатывать батником. Правда подходящих утилит по умолчанию в винде нет.
Другой вариант использовать другой язык программирования, у которого по легче со спец.символами. Например из коробки в винде еще есть powershell, jscript, vbscript
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov Куратор тега PowerShell
На CMD тоже можно при желании :)

что-то типа того
for /f "tokens=*" %%a in ('type "test.txt"') do (
	call :extract "%%a"
)
goto :EOF
:extract
set l=%1
@set "line2=%l:~2,-2%"
echo %line2%
goto :EOF
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы