这是我第一次创建批处理脚本文件。我的问题可以重复,但是没有找到满足我要求的问题或解决方案。
我需要在Windows上创建一个批处理脚本文件,以便从config.json文件值中更改min.js中的URL多个文件和一个index.html文件。
例如,我有一个JSON文件:
{
"APIUrl": "http:\\service.test.com",
"BaseUrl": "http:\\www.test.com"
}
现在,我需要使用APIUrl更改“ http:\ service2.test.com”,并使用BaseURL更改“ http:\ www.test2.com”。
我找到了许多解决方案来查找和替换批处理文件的脚本。但是,当我运行批处理文件时,它是从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”文件,然后查找并替换该文件中的文本。
答案 0 :(得分:-1)
如果文件名为test.json,则可以执行以下操作。
cat test.json | jq '.APIUrl="test123"'