Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
PowerShell - [решено] Размножить каждую строку в txt файле n количество раз

Ветеран


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

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


Здравствуйте, подскажите как можно размножить строки в txt файле n количество раз?

к примеру:
был txt:

Код: Выделить весь код
qqqqqqq
rrrrrrrr
222222
ggggggggg
ggggg
мы указываем в скрипте количество дубликатов "3" и должно получиться так:
Код: Выделить весь код
qqqqqqq
qqqqqqq
qqqqqqq
rrrrrrrr
rrrrrrrr
rrrrrrrr
222222
222222
222222
ggggggggg
ggggggggg
ggggggggg
ggggg
ggggg
ggggg
Решение нужно powershell или BAT

Отправлено: 23:04, 06-07-2019

 

Ветеран


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

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


YuS_2, спасибо, ясно.

Отправлено: 21:59, 07-07-2019 | #11



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

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


Ветеран


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

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


Спасибо всем за ответы, теперь куча вариантов

А как можно взять текст прямо из скрипта? (не из txt файла, а текст в самом скрипте), текст будет как и в txt файле.. несколько строк, каждую нужно размножить, количество размножений нужно также указать в скрипте.

пример:

Код: Выделить весь код
n=3
кодкодкодкодкодкодкодкод
кодкодкодкодкодкод
кодкодкодкодкодкодкодкод
кодкодкодкодДальше строки для размножения

qwerty
111
2222

output > result.txt
результат:

result.txt
Код: Выделить весь код
qwerty
qwerty
qwerty
111
111
111
2222
2222
2222

Отправлено: 01:54, 10-07-2019 | #12


Ветеран


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

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


Например, так:
Код: Выделить весь код
$iCount = 3

$sContent = @"
qwerty
111
2222
"@


(
    $sContent -split "`r`n" |`
        ForEach-Object -Process {
            ($_ + "`r`n") * $iCount
        }
) -join '' | Set-Content -Path 'C:\Мои проекты\0268\0002.txt'
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:41, 10-07-2019 | #13


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls
	Call :Mult "%~dpnx0" "Out1=====" 5 "Z:\Box_Out\OutFile1.txt"
	Call :Mult "%~dpnx0" "Out2=====" 8 "Z:\Box_Out\OutFile2.txt"
Pause
Exit /B

:Mult
	FOR /F "usebackq tokens=1* delims=:" %%a IN (`2^>nul FINDSTR /I /L /B /N %2 %1`) DO (
		>%4 (FOR /F "usebackq delims=" %%s IN (`2^>nul More +%%a %1`) DO (
			Echo %%s|>nul 2>nul FINDSTR /I /L /B %2&&Exit /B
			FOR /L %%i IN (1,1,%3) DO (Echo %%s)
		))
	)
Exit /B

Out1=====

У попа была собака.
	Поп её любил.
Она съела кусок мяса - 
	Поп её убил.

Out1=====

Out2=====

Ехала деревня
Мимо мужика.
Вдруг из-под собаки
Лают ворота.

Out2=====

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 06:45, 10-07-2019 | #14


Ветеран


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

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


Спасибо всем за ответы, куча вариантов на разных языках

Отправлено: 10:17, 10-07-2019 | #15


Аватара для YuS_2

Crazy


Contributor


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

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


Цитата Iska:
-join '' »
кстати, существует более понятный вариант (без -join '' и без "`r`n"), с точки зрения синтаксиса:
Код: Выделить весь код
'строка1','строка2','строка3'|%{[array]$_*3}

-------
scio me nihil scire. Ѫ

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

Отправлено: 13:45, 10-07-2019 | #16


Ветеран


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

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


Цитата YuS_2:
кстати, существует более понятный вариант (без -join '' и без "`r`n"), с точки зрения синтаксиса: »
спасибо, самый сокращенный вариант, скрипт в одну строку, тоже в коллекцию сохраню, хотя строки, которые нужно размножать, у меня всегда в столбик прописаны.

Отправлено: 19:09, 10-07-2019 | #17



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Удалить пустую строку в файле .txt denntl Скриптовые языки администрирования Windows 2 18-07-2013 11:48
Любой язык - [решено] Как выделить каждую определенною строку в текстовом файле KooDI Скриптовые языки администрирования Windows 6 05-03-2013 21:47
CMD/BAT - [решено] Запись названия файла в каждую строку Knopppka Скриптовые языки администрирования Windows 5 02-03-2013 13:33
CMD/BAT - _Вписывание на каждую строку lukas_endigo_91@vk Скриптовые языки администрирования Windows 1 21-12-2012 15:56
CMD/BAT - [решено] Каждую секунду отображать точку, не перенося строку. RomanLis Скриптовые языки администрирования Windows 5 05-04-2012 12:21




 
Переход