lyohalyoha |
06-07-2021 14:57 2961532 |
Создать текстовые файлы из списка в .txt
Здравствуйте! Может кто знает маленьку программку,которая может из файла .txt со списком внутри-создать несколько текстовых файлов с названиями из .txt
Например: внутри .txt имеется список:
Понедельник
Вторник
Среда
и т.д. И нужно,чтобы программа создала файлы
Понедельник.txt
Вторник.txt
Среда.txt
и т.д. Может через батник как-то можно это реализовать.Подскажите,пожалуйста!
|
Цитата:
Цитата Z:\Box_In\внутри.txt
Понедельник
Вторник
Среда
Хроно синкластическая инфандибула
и т.д.
|
Код:
@Echo Off
>nul chcp 1251
FOR /F "usebackq delims=" %%s IN ("Z:\Box_In\внутри.txt") DO >"Z:\Box_Out\%%s.txt" cd.
Exit /B 0
Я предположил, что Ваш текстовый файл создан в кодировке 1251, поэтому и батник надо сохранить в кодировке 1251, иначе надо удалить >nul chcp 1251 и сохранить батник в 866 кодировке.
|
lyohalyoha |
06-07-2021 16:14 2961547 |
Цитата:
Цитата megaloman
@Echo Off
>nul chcp 1251
FOR /F "usebackq delims=" %%s IN ("Z:\Box_In\внутри.txt") DO >"Z:\Box_Out\%%s.txt" cd.
Exit /B 0 »
|
Всё работает,как надо.Спасибо большое!
|
greg zakharov |
06-07-2021 17:20 2961555 |
Цитата:
Цитата lyohalyoha
Например: внутри .txt имеется список:
Понедельник
Вторник
Среда
и т.д.
|
С днями недели ежели, то всё решается командой:
Код:
pwsh -nop -c "(Get-Culture ru-RU).DateTimeformat.DayNames.ForEach{New-Item -Name ""$($_).txt"" -ItemType File}"
pwsh делает это более наглядно, хотя и не является штатным.
|
lyohalyoha, Если список файлов небольшой, можно обойтись без текстового файла с именами, например:
Код:
@Echo Off
>nul chcp 1251
FOR %%s IN (Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье "Свод за неделю") DO >"Z:\Box_Out\%%~s.txt" cd.
Exit /B 0
Если в имени предполагаются пробелы, в списке взять его в кавычки.
|
Цитата:
Цитата megaloman
Хроно синкластическая инфандибула »
|
Я протестую :)! Инфандибулум!
|
Отклоняю: давайте не будем засорять русский язык иностранными словами. Моя пятилетняя дочь много лет тому назад изобразила красками именно инфандибулу. :biggrin:
|
greg zakharov |
06-07-2021 21:10 2961587 |
Цитата:
Цитата megaloman
...давайте не будем засорять русский язык... Моя пятилетняя дочь много лет тому назад...
|
Засорять то можете не засорять, но со стилистикой у вас что-то не очень: "пятилетняя дочь много лет назад", - а сколько лет наперёд она пятилетняя?
Между прочим, если допускается использование sed, можно не гонять for:
Код:
>nul chcp 1251 & (sed "s/^/cd.>/;s/$/.txt/" list.txt |>nul cmd) & chcp 866>nul
Вполне корректно отработает в командной строке. Если же строки содержат пробелы:
Код:
>nul chcp 1251 & (sed "s/^/cd.>\"/;s/$/.txt\"/" list.txt |>nul cmd) & chcp 866>nul
|
Цитата:
Цитата megaloman
Моя пятилетняя дочь много лет тому назад изобразила красками именно инфандибулу. »
|
Хочу-хочу-хочу. Покажите!
|
Время: 07:41.
© OSzone.net 2001-