【发布时间】:2022-10-17 17:09:23
【问题描述】:
我有一个字符串
<?define customGUID= "DA7C36F0-A749-4CC5-9575-398C06039325"?>
我正在尝试从这条线上删除DA7C36F0-A749-4CC5-9575-398C06039325。
首先,我尝试将此字符串设置在一个变量中,但我无法做到这一点,这可能是因为字符串中的< 和?,我尝试了:
set "var=<?define customGUID= "DA7C36F0-A749-4CC5-9575-398C06039325"?>"
但后来我能够在运行时以某种方式获取字符串,现在我有了变量
line=<?define customGUID= "DA7C36F0-A749-4CC5-9575-398C06039325"?>
我无法弄清楚如何使用批处理脚本从该变量中仅修剪值,即 DA7C36F0-A749-4CC5-9575-398C06039325。
我尝试了至少用以下方式修剪后缀:
set "line=%line:"?>%"
但是遇到错误,任何人都可以提供更好的方法吗? 注意:空格包含在字符串中
【问题讨论】:
-
要直接从文件
myFile.xml中获取您的 GUID,并将其保存为名为strGUID的变量的字符串值,您可以这样做:@For /F Tokens^=2^ Delims^=^" %%G In ('%SystemRoot%\System32\find.exe /I " customGUID=" 0^<"myFile.xml" 2^>NUL') Do @Set "strGUID=%%G"。最好在该行之前加上@Set "strGUID="以确保不存在具有该名称的现有变量,然后您可以使用If和Defined strGUID添加第三行以确定该行是否在命名文件,然后再继续执行其余代码。
标签: batch-file