Files
RFB/replace.bat
Alexey Barabanov 2b5e4d76ce chcp 65001
2025-11-05 17:17:16 +03:00

53 lines
1.6 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
chcp 65001 >nul
setlocal enabledelayedexpansion
rem === Проверка аргументов ===
if "%~1"=="" (
echo ERROR: Укажите путь к XML-файлу.
echo Пример: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
exit /b 1
)
if "%~2"=="" (
echo ERROR: Укажите новый базовый URL.
echo Пример: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
exit /b 1
)
set "FILE=%~1"
set "NEWURL=%~2"
rem === Проверка существования файла ===
if not exist "%FILE%" (
echo ERROR: Файл не найден: %FILE%
exit /b 1
)
echo Обработка файла: %FILE%
echo Новый базовый URL: %NEWURL%
echo.
rem === Создание резервной копии ===
copy "%FILE%" "%FILE%.backup" >nul 2>&1
if !errorlevel! equ 0 (
echo Создана резервная копия: %FILE%.backup
) else (
echo Warning: Не удалось создать резервную копию
)
rem === Команда PowerShell с правильной кодировкой ===
powershell -Command "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8; ``
`$file = '%FILE%'; ``
`$newUrl = '%NEWURL%'; ``
`$content = Get-Content -Raw -Path `$file; ``
`$pattern = '(http[s]?://[^\s\<\"\>]+)'; ``
`$content = `$content -replace `$pattern, `$newUrl; ``
Set-Content -Path `$file -Value `$content -Encoding UTF8 -NoNewline; ``
Write-Host 'SUCCESS: Замена завершена'"
if errorlevel 1 (
echo ERROR: Произошла ошибка при выполнении PowerShell
)
echo.
pause