Исправленно экранирование ковычек
This commit is contained in:
37
replace.bat
37
replace.bat
@@ -2,51 +2,40 @@
|
|||||||
chcp 65001 >nul
|
chcp 65001 >nul
|
||||||
setlocal enabledelayedexpansion
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
rem === Проверка аргументов ===
|
|
||||||
if "%~1"=="" (
|
if "%~1"=="" (
|
||||||
echo ERROR: Укажите путь к XML-файлу.
|
echo ERROR: Specify file path
|
||||||
echo Пример: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
|
echo Example: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
|
||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
if "%~2"=="" (
|
if "%~2"=="" (
|
||||||
echo ERROR: Укажите новый базовый URL.
|
echo ERROR: Specify new URL
|
||||||
echo Пример: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
|
echo Example: replace.bat "C:\path\to\file.xml" "https://gfx.tvstart.ru"
|
||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
set "FILE=%~1"
|
set "FILE=%~1"
|
||||||
set "NEWURL=%~2"
|
set "NEWURL=%~2"
|
||||||
|
|
||||||
rem === Проверка существования файла ===
|
if not exist "!FILE!" (
|
||||||
if not exist "%FILE%" (
|
echo ERROR: File not found: !FILE!
|
||||||
echo ERROR: Файл не найден: %FILE%
|
|
||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
echo Обработка файла: %FILE%
|
echo Processing: !FILE!
|
||||||
echo Новый базовый URL: %NEWURL%
|
echo New URL: !NEWURL!
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
rem === Создание резервной копии ===
|
copy "!FILE!" "!FILE!.backup" >nul 2>&1
|
||||||
copy "%FILE%" "%FILE%.backup" >nul 2>&1
|
|
||||||
if !errorlevel! equ 0 (
|
if !errorlevel! equ 0 (
|
||||||
echo Создана резервная копия: %FILE%.backup
|
echo Backup created: !FILE!.backup
|
||||||
) else (
|
) else (
|
||||||
echo Warning: Не удалось создать резервную копию
|
echo WARNING: Backup failed
|
||||||
)
|
)
|
||||||
|
|
||||||
rem === Команда PowerShell с правильной кодировкой ===
|
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'"
|
||||||
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 (
|
if errorlevel 1 (
|
||||||
echo ERROR: Произошла ошибка при выполнении PowerShell
|
echo ERROR: PowerShell command failed
|
||||||
)
|
)
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
|
|||||||
Reference in New Issue
Block a user