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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Как разбить одну строку на много строк

Ответить
Настройки темы
Любой язык - [решено] Как разбить одну строку на много строк

Аватара для KooDI

Пользователь


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


Конфигурация

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


Доброго времени суток всем
Есть одна строка, в ней есть некоторые числа, которые разделены запятой или двоима или тремя запятыми.
Надо сделать так чтоб каждое число было в отдельной строке, которые есть с минусом что б были без минула, только числа, если можно, если нет, то пусть будут с минусами .
Пример
читать дальше »
Было
11111111,2222222,,,444444,777,,555555,,-1,-1,-1
Стало
11111111
2222222
444444
777
555555
1
1
1

Отправлено: 23:50, 05-03-2013

 

Ветеран


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

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


PS Z:\> "11111111,2222222,,,444444,777,,555555,,-1,-1,-1".split("-,",[StringSplitOptions]::RemoveEmptyEntries)
11111111
2222222
444444
777
555555
1
1
1
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:20, 06-03-2013 | #2



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

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


Аватара для gora

Ушёл из жизни


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

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


Код: Выделить весь код
@Echo Off
Set line=11111111,2222222,,,444444,777,,555555,,-1,-1,-1

Set line=%line:-=%
For %%i In (%line:,= %) Do Echo %%i
Pause
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:11, 06-03-2013 | #3


Ветеран


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

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


До кучи :
Код: Выделить весь код
Option Explicit

Dim strLine
Dim elem

strLine = "11111111,2222222,,,444444,777,,555555,,-1,-1,-1"

For Each elem In Split(strLine, ",")
	If elem <> "" Then
		WScript.Echo Abs(elem)
	End If
Next

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

Отправлено: 12:35, 06-03-2013 | #4


Аватара для KooDI

Пользователь


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

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


Спасибо всем за ответы.
Вот только я ничего не понял, как с каждым кодом работать.
Если вам не трудно можете объяснить для каждого кода что делать.
Для первого я создал батник запустил, а он мне создал пустой файл и именем всех чисел.
Для второго тоже батник создал здесь уже лучше, запустил он выбил все числа по строках в консоли, но скопировать я их от туда не могу.
Уже подумал третий поможет, создал vbs, при запуске выбивают окошка с теме всеми числами по очереди и надо нажать на ок, но ничего не происходит, кидал файл с текстом на него тот же результат.

Отправлено: 14:15, 06-03-2013 | #5


Аватара для gora

Ушёл из жизни


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

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


KooDI, Вы ни чего в ТЗ не сказали о том:
- где находится эта строка (прописана в скрипте, в текстовом файле, или будет передаваться скрипту в виде параметра)
- если в файле, то сколько там таких строк (одна или много)
- куда нужно вывести результат (окно, файл)
- если строк не одна, то результаты должны быть выведены в один файл или для каждой строки создавать свой
- какие имена файлов должны быть в последнем случае
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:26, 06-03-2013 | #6


Аватара для KooDI

Пользователь


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

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


Цитата gora:
- где находится эта строка (прописана в скрипте, в текстовом файле, или будет передаваться скрипту в виде параметра) »
текстовом файле *.txt
Цитата gora:
- если в файле, то сколько там таких строк (одна или много) »
одна
Цитата gora:
- куда нужно вывести результат (окно, файл) »
если можно то в файл

Отправлено: 14:34, 06-03-2013 | #7


Аватара для gora

Ушёл из жизни


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

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


Код: Выделить весь код
@Echo Off
:: Файл со строкой 11111111,2222222,,,444444,777,,555555,,-1,-1,-1
Set list=e:\Temp\list.txt
:: Получаемый файл
Set OutFile=e:\Temp\OutFile.txt

For /F "tokens=* usebackq" %%i In ("%list%") Do Set line=%%i
Set line=%line:-=%
(For %%i In (%line:,= %) Do Echo %%i)>"%OutFile%"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:43, 06-03-2013 | #8


Аватара для KooDI

Пользователь


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

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


gora, спасибо все робатае

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

Отправлено: 15:02, 06-03-2013 | #9


Аватара для gora

Ушёл из жизни


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

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


Цитата KooDI:
хочу на кнопку повесить в тотале »
Скрипт KooDI.bat:
Код: Выделить весь код
@Echo Off
For /F "tokens=* usebackq" %%i In ("%~1") Do Set line=%%i
Set line=%line:-=%
(For %%i In (%line:,= %) Do Echo %%i)>"%~dpn1_New%~x1"
Код кнопки на панели ТС:
Код: Выделить весь код
TOTALCMD#BAR#DATA
e:\Temp\KooDI.bat
%P%N
E:\totalcmd64\Wcmicons.dll,67
Строка в столбик

1
-1
Пути в коде кнопки исправьте на свои
Новый файл создается рядом с исходным. Его имя формируется из имени исходного файла добавлением суффикса _New
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:24, 06-03-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Как разбить одну строку на много строк

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - запись ping в файл команда в одну строку... White-Lion Скриптовые языки администрирования Windows 7 06-04-2015 12:03
CMD/BAT - [решено] все команды в одну строку? super_bitard Скриптовые языки администрирования Windows 12 19-01-2014 17:29
CMD/BAT - [решено] Как построчно разбить текстовый файл на текстовые файлы содержащие одну строку binwatch@vk Скриптовые языки администрирования Windows 3 09-09-2012 19:59
CMD/BAT - [решено] как сделать запись в файл в одну строку? mitiya Скриптовые языки администрирования Windows 7 29-04-2010 09:00
разбить строку khvalera Программирование и базы данных 1 06-05-2004 12:48




 
Переход