Я впервые создаю файл пакетного скрипта. Мой вопрос может быть повторен, но я не нашел ни одного вопроса или решения, которое бы соответствовало моему требованию.
Мне нужно создать файл пакетного скрипта в Windows для изменения URL-адреса в нескольких файлах min.js и одного файла index.html из значений файла config.json.
Например, у меня есть файл JSON:
{
"APIUrl": "http:\\service.test.com",
"BaseUrl": "http:\\www.test.com"
}
Теперь мне нужно изменить «http: \ service2.test.com» с помощью APIUrl и «http: \ www.test2.com» с помощью BaseURL.
Я нашел много решений, чтобы найти и заменить скрипт для командного файла. Но когда я запускаю командный файл, он удаляет весь скрипт из min.js без замены строки URL.
Возможно, логика скрипта проверяла конечную строку, а скрипт файла min.js всегда записывался в одну строку, поэтому замена текста удаляла весь сценарий, это только мое мнение, потому что сценарий конечной строки был написан в сценарии.
Я нашел Google и нашел ниже код из StackOverflow и вставил его в batchscript.bat, но при запуске batchscript.bat он удаляет весь скрипт и просто оставил последний комментарий строки "// # sourceMappingURL = app.min. карта "в файле. Вот почему я не публикую этот код.
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "search=<http://server/application/>0"
set "replace=<http://someurl.test.com>"
set "textFile=*.*.js"
set "rootDir=./js"
for /R "%rootDir%" %%j in ("%textFile%") do (
for /f "delims=" %%i in ('type "%%~j" ^& break ^> "%%~j"') do (
set "line=%%i"
setlocal EnableDelayedExpansion
set "line=!line:%search%=%replace%!"
>>"%%~j" echo(!line!
endlocal
)
)
endlocal
pause
Для этого вы можете взять любой файл ".min.js", найти и заменить текст из этого файла.