Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - С помощью bat-скрипта удалить в текстовом файле все строчки, кроме первой, при UTF-8

Ответить
Настройки темы
CMD/BAT - С помощью bat-скрипта удалить в текстовом файле все строчки, кроме первой, при UTF-8

Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как с помощью bat-скрипта удалить в текстовом файле все строчки, кроме первой, при условии что содержимое текста в кодировке UTF-8 ?

Отправлено: 16:53, 25-06-2021

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Например так
Код: Выделить весь код
powershell -c 'for ($i = 0; $i -lt 1; $i++) {  (Get-Content -Encoding utf8 ./file.txt)[$i] | Out-File -Encoding utf8 ./file.txt}'

Отправлено: 17:42, 25-06-2021 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Elven:
powershell -c 'for ($i = 0; $i -lt 1; $i++) { (Get-Content -Encoding utf8 ./file.txt)[$i] | Out-File -Encoding utf8 ./file.txt}' »
Спасибо Elven, но нужно в bat

из интернета откопал как удалить первую строчку, а остальные строчки оставить,

more +1 "file.txt" > "a"
move /Y "a" "file.txt"
exit /b 0

Вот что-то типа такого, только мне нужно на оборот - оставить только самую первую строку, через bat команды

Отправлено: 18:07, 25-06-2021 | #3


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


KOD65001, в bat. Вызываем через bat встроеную в винды тулу "powerrshell" и скармливаем ему через -c команду. Так что код можно скопировать в файл, оставить ему расширение cmd (или bat) и запустить нужной папке. Если на голом pwsh, то было бы на полтора десяка символов меньше.

Отправлено: 19:01, 25-06-2021 | #4


Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


Elven, наверно у меня руки кривые скармливание в "powerrshell" не работает у меня, ничего в текстовом файле не меняется. Вопрос еще актуален!

Отправлено: 20:52, 25-06-2021 | #5


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


sed'ом:
Код: Выделить весь код
sed -i.bak "1!d" file.txt
или
Код: Выделить весь код
sed -i.bak q file.txt
pwsh:
Код: Выделить весь код
pwsh -c "gc file.txt -to 1" > result.txt
Разумеется вместо file.txt указываете свой файл с корректным путём.

Последний раз редактировалось greg zakharov, 25-06-2021 в 22:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:03, 25-06-2021 | #6


Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


greg zakharov, нету никаких изменений в текстовом файле (file.txt).
Цитата greg zakharov:
pwsh -c "gc file.txt -to 1" > result.txt »
В последним варианте - создается пустой без строк текстовый файл result.txt

Отправлено: 22:39, 25-06-2021 | #7


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
set "f=file.txt"
<"%f%" set /p Line1=
>"%f%" echo %Line1%
pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:43, 25-06-2021 | #8


Аватара для KOD65001

Новый участник


Сообщения: 27
Благодарности: 0

Профиль | Отправить PM | Цитировать


alpap, теперь все работает как надо, большое спасибо и всем остальным тоже за помощь

Отправлено: 00:44, 26-06-2021 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


alpap, я знал, я знал , что Вы не подкачаете!
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:10, 26-06-2021 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - С помощью bat-скрипта удалить в текстовом файле все строчки, кроме первой, при UTF-8

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удалить в текстовом файле все строки кроме одной нужной. 9119 Скриптовые языки администрирования Windows 40 18-12-2020 22:05
CMD/BAT - С помощью bat-ника перенести нужное количество строк в одну в текстовом файле Rz78 Скриптовые языки администрирования Windows 7 06-06-2015 15:10
CMD/BAT - [решено] CMD/BAT - С помощью bat-ника найти и удалить текст в файле InVariable Скриптовые языки администрирования Windows 4 22-05-2015 20:06
CMD/BAT - [решено] Отделить последние цифры из строчки в текстовом файле ZeroCrash Скриптовые языки администрирования Windows 4 29-06-2009 16:03
[решено] Как удалить строки в текстовом файле при отсутсвии файла в опрелеленном месте? Pozia AutoIt 23 14-05-2009 21:41




 
Переход