|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Перенос символов на новую строку из текстового вайла |
|
|
VBS/WSH/JS - [решено] Перенос символов на новую строку из текстового вайла
|
![]() Старожил Сообщения: 175 |
Привет всем.
Нужна ваша помощь, у меня есть файл текстовый, в нем есть строка количество символов может быть любым как русские так и английские символы. Нужно создать скрипт который бы эту строчку в файле делил на символы и каждый символ переносил на новую строку, например строка "таракан" эту строчку нужно сделать так: т а р а к а н И сохранить файл. Заранее благодарю. |
|
------- Отправлено: 17:41, 31-05-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:36, 31-05-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 793
|
(function(file, enc) { // enc Default = -2, Unicode = -1, ASCII = 0 var f = null, arr = []; with (new ActiveXObject('Scripting.FileSystemObject')) { try { f = OpenTextFile(file, 1, false, enc); while (!f.AtEndOfStream) { arr.push(f.ReadLine().split('').join('\n')); } f.Close(); f = OpenTextFile(file, 2, false, enc); f.Write(arr.join('\n')); } catch (e) { WScript.echo(e.message); } finally { if (f !== null) f.Close(); } } })( WScript.Arguments.length !== 2 ? (function() { WScript.echo('Синтаксис: ' + WScript.ScriptName + ' <файл кодировка>\n' + '.e.g.: C:\\> cscript ' + WScript.ScriptName + ' file.txt 0' ); WScript.Quit(1); })() : WScript.Arguments.Unnamed(0), WScript.Arguments.Unnamed(1) ); |
Отправлено: 18:52, 31-05-2017 | #3 |
![]() Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
------- Отправлено: 20:32, 31-05-2017 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать angel_lyucifer, тогда просто воспользуйтесь кодом, предложенным коллегой greg zakharov, только замените в двух местах '\n' на '\r\n', иначе получите концы строк в формате Unix. Это JScript.
|
|
Отправлено: 21:17, 31-05-2017 | #5 |
Забанен Сообщения: 793
|
Iska, для одной единственной строки использовать коды выше... как-то однако. Этот код мной был накидан исходя из соображений, что в файле может быть несколько строк (вызов функции ReadLine по достижении окончания файла). Но раз файл представляет из себя однострочник, цикл следует выкинуть, да и код можно значительно ужать. А если бы автор темы пользовался Vim, вся его задача сводилась бы к команде:
|
Отправлено: 22:31, 31-05-2017 | #6 |
![]() Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
|
|
------- Отправлено: 23:14, 31-05-2017 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
![]() Цитата greg zakharov:
Цитата angel_lyucifer:
|
|||
Отправлено: 03:41, 01-06-2017 | #8 |
Забанен Сообщения: 793
|
И отчего уверенность в том, что все начнется с WSH, но в итоге будет подведено к bat, не покадала меня с самого начала?
Iska, в идеале вообще было бы здорово отказаться от архаичного WSH, в пользу какого-нибудь интерпретируемого языка или технологии вроде NodeJS. Последний, к слову, в виду своей переносимости и единофайловой сущности (один единственный экзешник) для операций чтения\записи с\на диск(а)? очень даже ничего. Однако, в виду штатности PowerShell (начиная с Win7) проще использовать последний, ибо решением будет нечто вроде: angel_lyucifer, как заметин Iska, Vim не является штатным текстовым процессором, поэтому если у Вас возникло желание воспользоваться приведенным решением, нужно позаботиться прежде об установке\сборке из исходников Vim самостоятельно. От себя же могу добавить еще несколько примеров решения Вашей задачи. Например, grep (есть порт под Windows): Или сам командный язык Windows: Вообще, решений у задачи великое множество, в том числе и штатными средствами, доступными практически в каждой версии Windows. Личным же выбором в данном случае был бы Vim или Perl. |
Отправлено: 09:36, 01-06-2017 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
Цитата greg zakharov:
Цитата greg zakharov:
Цитата greg zakharov:
|
||||
Отправлено: 10:33, 01-06-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Перевод каретки на новую строку | sov44 | Скриптовые языки администрирования Windows | 15 | 08-12-2020 20:39 | |
2010 - Перенос значений из столбца в строку | VanUliK | Microsoft Office (Word, Excel, Outlook и т.д.) | 14 | 22-09-2014 23:02 | |
2008 R2 - Перенос AD на новую ОС | akulanikolay | Windows Server 2008/2008 R2 | 1 | 07-08-2013 17:21 | |
CMD/BAT - [решено] Перенос и удаление строк из текстового файла | sk8ter | Скриптовые языки администрирования Windows | 15 | 03-10-2010 19:35 | |
CMD/BAT - [решено] Перенос из заданных директорий в новую файлы, содержащие заданное слово | Lil Crazy | Скриптовые языки администрирования Windows | 11 | 14-05-2010 20:46 |
|