以下是 Json 格式的文件内容
{
"FD_sfdsdf:ClientMasterBaseUrl": "http://example.com",
"FD_fsdfs:CommonAPIBaseUrl": "http://example.com",
"FD_sdfsadfsdf:Secret": "sdfsdf"
}
命令:
cat fd.json| jq -r 'to_entries[] | "setx \(.key) \"\(.value)\""'
我在 Windows CMD 中运行它。
输出:
setx FD_sfdsdf:ClientMasterBaseUrl "http://example.com"
以上是我在 MAC 和 Linux 中得到的期望输出,但相同的命令在 Windows 中不起作用。
错误:
'"setx \(.key) \"\' is not recognized as an internal or external command, operable program or batch file.
答案1
1.不使用:
要组成变量名,此字符用于变量名内部/旁边的多个操作,看看这里有谁
2.如果目标是定义一个从文件中获取字符串的变量.json
,那么您只需使用 cmd...
在你的 bat/cmd 文件中:
@echo off & cd /d "%~dp0" for /f tokens^=1-4delims^=^:^"^,^ %%i in (' type file.json^|find /i "FD_sfdsdf"')do setx FD_sfdsdf_%%~j "\"%%~k:%%~l\""
在您的命令行中:
for /f tokens^=1-4delims^=^:^"^,^ %i in ('type file.json^|find /i "FD_sfdsdf"')do setx FD_sfdsdf_%~j "\"%~k:%~l\""