diff --git a/replace.bat b/replace.bat index 188db51..428f38a 100644 --- a/replace.bat +++ b/replace.bat @@ -2,51 +2,40 @@ chcp 65001 >nul setlocal enabledelayedexpansion -rem === Проверка аргументов === if "%~1"=="" ( - echo ERROR: Укажите путь к XML-файлу. - echo Пример: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru" + echo ERROR: Specify file path + echo Example: 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" + echo ERROR: Specify new URL + echo Example: 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% +if not exist "!FILE!" ( + echo ERROR: File not found: !FILE! exit /b 1 ) -echo Обработка файла: %FILE% -echo Новый базовый URL: %NEWURL% +echo Processing: !FILE! +echo New URL: !NEWURL! echo. -rem === Создание резервной копии === -copy "%FILE%" "%FILE%.backup" >nul 2>&1 +copy "!FILE!" "!FILE!.backup" >nul 2>&1 if !errorlevel! equ 0 ( - echo Создана резервная копия: %FILE%.backup + echo Backup created: !FILE!.backup ) else ( - echo Warning: Не удалось создать резервную копию + echo WARNING: Backup failed ) -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: Замена завершена'" +powershell -Command "$content = [System.IO.File]::ReadAllText('%FILE%'); $content = $content -replace 'http[s]?://[^\s\<\"]+', '%NEWURL%'; [System.IO.File]::WriteAllText('%FILE%', $content, [System.Text.Encoding]::UTF8); Write-Host 'SUCCESS: Replacement completed'" if errorlevel 1 ( - echo ERROR: Произошла ошибка при выполнении PowerShell + echo ERROR: PowerShell command failed ) echo.