#batch-file #findstr
#пакетный файл #findstr
Вопрос:
Мне нужно использовать команду findstr без новой строки.
Мой файл «prova.txt «содержит:
La#
Do#
Fa#
Мой пакетный файл содержит:
@echo off
FINDSTR Do# prova.txt
Результатом выполнения команды является:
Do#
//second empty line
Вместо этого я хотел бы, чтобы это было:
Do#
Как мне это получить?
Я объясняю лучше:
Мне не нужна новая строка (клавиши Enter) после команды findstr.
Комментарии:
1. Вы имеете в виду, что вам не нужна завершающая новая строка?
2. каждая команда (почти) выдает завершающую пустую строку. У вас с этим особая проблема? Вы могли бы написать скрипт для вывода без этой пустой строки, но я сомневаюсь, что оно того стоит, возможно, у вас в этом особая потребность.
3. Что вы пытаетесь сделать? Каков конечный результат вашего кода?
4. Не существует волшебного, (если вы не используете соответствующую оболочку) , решения echo -n. Для решения с использованием командного скрипта NT потребовалась бы реальная задача с реальными строками и подлинным конечным продуктом.
5. точно @aschipfl
Ответ №1:
Я не понимаю, что вы пытаетесь сделать. Но попробуйте вот так :
@echo off
for /f "delims=" %%a in ('FINDSTR "Do#" "prova.txt"') do echo|set /p="%%a"
echo.
Комментарии:
1. Я думаю, вы разрушаете эффект, записывая CRLF впоследствии
:D
2. @Stephan Ты пробовал это? Если вы не введете ее, результат будет таким:
Do#C:UserspcDesktop>
вот почему я вставил echo. после…..3. на самом деле, да, я сделал. Кстати: работает только в том случае, если совпадений не более одного.
4. @SachaDee Это не непонятно, это ясно показывает, что я не хочу новую строку (клавиши Enter) после команды findstr. Что неясно?