gpt4 book ai didi

windows - 如何在批处理文件中获取两个引号之间的字符串?

转载 作者:可可西里 更新时间:2023-11-01 09:41:54 33 4
gpt4 key购买 nike

我在批处理文件中有一个字符串,其结构

[[status]]:{"01bcd123-1234-5678-0000-abcdefghijkl": "11"}

我只需要从中获取 01bcd123-1234-5678-0000-abcdefghijkl,但尝试使用 "作为分隔符结果并不好。\和 ^ 不似乎正确地逃避了它。

设置 i=1

set "x!i!=%x:"="& set/A i+=1 & set "x!i!=%"

我的意思是 x 是整个字符串,试图将它解析为 x1、x2 等,并以 "作为分隔符。

使用 "作为分隔符来分割这个字符串的正确方法是什么?

编辑:Powershell 标记是因为我在 Powershell 中将脚本作为更大编排的一部分运行,并且可以在必要时将批处理脚本的功能导出到其中。

最佳答案

这里有两种方法。第一个不会混淆 for 语法格式,但它有风险 - 对字符串的依赖太多(引号实际上被 %%~ 剥离)。第二个是丑陋的非直观语法,但实际上用引号分隔:

set "string=[[status]]:{"01bcd123-1234-5678-0000-abcdefghijkl": "11"}"
for /f "tokens=2 delims=:{" %%a in ("%string%") do @echo %%~a
for /f tokens^=2delims^=^" %%a in ("%string%") do @echo %%a

关于windows - 如何在批处理文件中获取两个引号之间的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57296724/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com