|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Добавить текст до или после символа |
|
CMD/BAT - Добавить текст до или после символа
|
Новый участник Сообщения: 27 |
Нужны два скрипта, первый должен добавлять указанный текст до определённого символа (напимер "@" или ":"), а второй после этого символа в каждой строке.
Таких символов в строке может быть несколько. Это нужно делать после первого символа в строке, который попадётся |
|
Отправлено: 20:49, 12-02-2023 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата Serguei Kouzmine:
Цитата YuS_2:
|
||
Отправлено: 10:27, 14-02-2023 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата Asdshka:
Цитата Asdshka:
![]() Ок. Вот решение, powershell: $fin = 'test.txt' $fout = 'out.txt' [char]$p = "@" $insert = 'добаляемый текст' $reader = [io.streamreader]::new($fin) $writer = [io.streamwriter]::new($fout) while ($reader.peek() -ne -1) { $str = $reader.readline() $ind = $str.indexof($p) if ($ind -ge 0){ # Текст добавляется ПОСЛЕ первого символа: #$writer.writeline($str.insert($ind+1,$insert)) # Текст добавляется ДО первого символа: $writer.writeline($str.insert($ind,$insert)) } else {$writer.writeline($str)} } $reader.dispose();$reader.close() $writer.dispose();$writer.close() Чтобы текст вставлялся после указанного символа, необходимо закомментировать строку: и раскомментировать строку: |
||
------- Отправлено: 12:33, 14-02-2023 | #12 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата YuS_2:
![]() Я сделал пару своих вариантов, но они и рядом с твоим не стояли. Могу скинуть, если интересно. |
|
Отправлено: 22:07, 14-02-2023 | #13 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать очень интересно
|
Отправлено: 03:58, 15-02-2023 | #14 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата Serguei Kouzmine:
$inputFile = "C:\path\input.txt" $outputFile = "C:\path\output.txt" (Get-Content $inputFile) | ForEach-Object {$_ -replace "@", "asd@"} | Set-Content $outputFile $input_file = "C:\path\input.txt" $output_file = "C:\path\output.txt" Get-Content $input_file | ForEach-Object { $parts = $_ -split "@" $newLine = $parts[0] + "asd@" + $parts[1] $newLine | Add-Content $output_file } $inputFile = 'C:\path\input.txt' $outputFile = 'C:\path\output.txt' Get-Content $inputFile | ForEach-Object { $line = $_ $pos = $line.IndexOf('@') if ($pos -ge 0) { $line = $line.Insert($pos + 1, 'asd') } $line } | Set-Content $outputFile |
|
Отправлено: 07:49, 15-02-2023 | #15 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата Asdshka:
Цитата Asdshka:
|
||
------- Отправлено: 08:01, 15-02-2023 | #16 |
Crazy Сообщения: 1231
|
Профиль | Отправить PM | Цитировать Цитата Asdshka:
Цитата Asdshka:
в cmd варианте тоже будут проблемы со строками, в которых разделителей нет. В них будет добавляться текст с опорным символом в конец строки... |
||
------- Отправлено: 09:09, 15-02-2023 | #17 |
Старожил Сообщения: 250
|
Профиль | Отправить PM | Цитировать |
Отправлено: 06:33, 16-02-2023 | #18 |
fascinating rhythm Сообщения: 6680
|
Профиль | Отправить PM | Цитировать Пора обязать авторов тем в этом разделе добавлять примеры. Так надоело уже - задают вопрос, а предмета не предоставляют.
|
------- Отправлено: 08:59, 16-02-2023 | #19 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Обрезать переменную до символа обратной косой черты | Steklopaket | Скриптовые языки администрирования Windows | 10 | 15-02-2023 09:09 | |
Любой язык - Вырезать начало/ заголовок файла до определённого символа | NickM | Скриптовые языки администрирования Windows | 6 | 05-03-2022 17:19 | |
CMD/BAT - Сверка 2 текстовых фалов до определенного символа | greenco | Скриптовые языки администрирования Windows | 3 | 28-07-2016 01:15 | |
Разное - Как измененить или добавить текст в документ при его открытии | eboue | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 02-07-2015 03:19 | |
[решено] Обрезать строку до указанного символа | rimm | AutoIt | 5 | 25-09-2009 16:32 |
|