Как создать пакетный скрипт в Windows для поиска и замены строки из config.json в несколько минимизированных файлов - PullRequest
0 голосов
/ 14 марта 2019

Я впервые создаю файл пакетного скрипта. Мой вопрос может быть повторен, но я не нашел ни одного вопроса или решения, которое бы соответствовало моему требованию.

Мне нужно создать файл пакетного скрипта в 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", найти и заменить текст из этого файла.

1 Ответ

0 голосов
/ 14 марта 2019

Если имя файла test.json, мы можем сделать следующее.

cat test.json | jq '.APIUrl="test123"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...