Files
RFB/replace.bat

37 lines
1.2 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
setlocal
rem === Проверка аргументов ===
if "%~1"=="" (
echo ❌ Укажите путь к XML-файлу.
echo Пример: replace_url.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
exit /b 1
)
if "%~2"=="" (
echo ❌ Укажите новый базовый URL.
echo Пример: replace_url.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
exit /b 1
)
set "FILE=%~1"
set "NEWURL=%~2"
echo 🔄 Обработка файла: %FILE%
echo 🔗 Новый базовый URL: %NEWURL%
echo.
powershell -NoLogo -NoProfile -Command ^
$file = '%FILE%'; ^
$newUrl = '%NEWURL%'; ^
$content = Get-Content -Raw $file; ^
# шаблон: ищем http(s)://домен или IP:порт и сохраняем хвост, если есть
$pattern = '(?s)(https?:\/\/\w{3,}\.\w+\.\w{2,}|http:\/\/\d+\.\d+\.\d+\.\d+:\d+)(\/[^\s<"]*)?'; ^
# замена: если есть хвост — добавляем его обратно, иначе только базовый URL
$content = [regex]::Replace($content, $pattern, {
if ($matches[2]) { "$newUrl$($matches[2])" } else { "$newUrl" }
}); ^
Set-Content -Path $file -Value $content -Encoding UTF8
echo ✅ Замена завершена.
pause