aVitaliy
14-04-2025, 18:48
Добрый день.
Помогите доработать скрипт.
Мне нужно было сгенерировать все варианты почтового адреса v.i.t.a.l.i.k.an.tr.ak.xi.mo.v@yandex.kz меняя в адресе местами точки и тире с помощью скрипта PowerShell и вывести результат в отдельный файл. Но в нем во первых в самом начале после "v" удаляется "." и самом конце удаляется буква "v".
То есть выводит скрип так:
vi.t.a.l-i-k.an.tr.ak-xi-mo.@yandex.kz
vi.t.a.l-i-k.an.tr.ak-xi-mo-@yandex.kz
# Исходный почтовый адрес
$email = "v.i.t.a.l.i.k.an.tr.ak.xi.mo.v"
$parts = $email -split '\.|-' # Разделяем адрес на части, используя точку и тире как разделители
# Функция для генерации всех комбинаций точек и тире
function Get-Combinations {
param (
[int]$index,
[string]$currentString,
[string[]]$parts
)
if ($index -eq $parts.Length - 1) {
return $currentString # Возвращаем строку, когда достигли конца
} else {
$result = @()
$result += Get-Combinations -index ($index + 1) -currentString ($currentString + $parts[$index] + ".") -parts $parts # Добавляем точку
$result += Get-Combinations -index ($index + 1) -currentString ($currentString + $parts[$index] + "-") -parts $parts # Добавляем тире
return $result
}
}
# Запускаем генерацию комбинаций, начиная со второго элемента массива parts
$combinations = Get-Combinations -index 1 -currentString $parts[0] -parts $parts
# Добавляем "@yandex.kz" к каждой комбинации и выводим в файл
$combinations | ForEach-Object { $_ + "@yandex.kz" } | Out-File "email_combinations.txt"
Write-Host "Варианты почтовых адресов сохранены в файл email_combinations.txt"
Помогите доработать скрипт.
Мне нужно было сгенерировать все варианты почтового адреса v.i.t.a.l.i.k.an.tr.ak.xi.mo.v@yandex.kz меняя в адресе местами точки и тире с помощью скрипта PowerShell и вывести результат в отдельный файл. Но в нем во первых в самом начале после "v" удаляется "." и самом конце удаляется буква "v".
То есть выводит скрип так:
vi.t.a.l-i-k.an.tr.ak-xi-mo.@yandex.kz
vi.t.a.l-i-k.an.tr.ak-xi-mo-@yandex.kz
# Исходный почтовый адрес
$email = "v.i.t.a.l.i.k.an.tr.ak.xi.mo.v"
$parts = $email -split '\.|-' # Разделяем адрес на части, используя точку и тире как разделители
# Функция для генерации всех комбинаций точек и тире
function Get-Combinations {
param (
[int]$index,
[string]$currentString,
[string[]]$parts
)
if ($index -eq $parts.Length - 1) {
return $currentString # Возвращаем строку, когда достигли конца
} else {
$result = @()
$result += Get-Combinations -index ($index + 1) -currentString ($currentString + $parts[$index] + ".") -parts $parts # Добавляем точку
$result += Get-Combinations -index ($index + 1) -currentString ($currentString + $parts[$index] + "-") -parts $parts # Добавляем тире
return $result
}
}
# Запускаем генерацию комбинаций, начиная со второго элемента массива parts
$combinations = Get-Combinations -index 1 -currentString $parts[0] -parts $parts
# Добавляем "@yandex.kz" к каждой комбинации и выводим в файл
$combinations | ForEach-Object { $_ + "@yandex.kz" } | Out-File "email_combinations.txt"
Write-Host "Варианты почтовых адресов сохранены в файл email_combinations.txt"