Batch file 使用Windows将带引号的参数批写入文件

Batch file 使用Windows将带引号的参数批写入文件,batch-file,Batch File,首先,我尝试删除文件的内容,并使用Windows批处理重新写入它们。 这是我到目前为止所做的 break>params.xml echo "<test>testid="test"<test>" > params.xml pause break>params.xml echo“testid=“test”“>params.xml 暂停 如何删除外部测试标记周围的引号,但保留testid参数上的引号 最后,我的params XML文件应该只包含: <te

首先,我尝试删除文件的内容,并使用Windows批处理重新写入它们。 这是我到目前为止所做的

break>params.xml

echo "<test>testid="test"<test>" > params.xml
pause
break>params.xml
echo“testid=“test”“>params.xml
暂停
如何删除外部测试标记周围的引号,但保留testid参数上的引号

最后,我的params XML文件应该只包含:

<test>testid="test"<test>
testid=“测试”

谢谢

一种方法是使用建议的转义序列。 如果您不喜欢,可以使用以下命令:

C:\>set "string=<test>testid="test"<test>"

C:\>for /f "tokens=* delims=" %# in ("%string%") do ((@echo(%#)>>params.xml)

一种方法是使用建议的转义序列。 如果您不喜欢,可以使用以下命令:

C:\>set "string=<test>testid="test"<test>"

C:\>for /f "tokens=* delims=" %# in ("%string%") do ((@echo(%#)>>params.xml)
@ECHO关闭
SETLOCAL
设置“string=testid=“test”
对于/f“令牌=1*delims==”('set string')中的%%a,执行回显%%b
设置“字符串=%string:%”
回音(%string%)
后藤:EOF
这里有两种方法,假设您的字符串是文本,并且不在变量中。

@ECHO Off
SETLOCAL
设置“string=testid=“test”
对于/f“令牌=1*delims==”('set string')中的%%a,执行回显%%b
设置“字符串=%string:%”
回音(%string%)
后藤:EOF

这里有两种方法,假设您的字符串是文本,并且不在变量中。

您不应该只使用
^
来分隔它们吗

echo ^<test^>testid^=^"test^"^<test^> > params.xml
echo^testid^=^“test^”^>params.xml
或者,如果你感到非常谨慎:

echo ^<test^>testid^=^"test^"^<test^> > params.xml
echo^testid^=^“test^”^>params.xml

难道你不能用
^
来界定它们吗

echo ^<test^>testid^=^"test^"^<test^> > params.xml
echo^testid^=^“test^”^>params.xml
或者,如果你感到非常谨慎:

echo ^<test^>testid^=^"test^"^<test^> > params.xml
echo^testid^=^“test^”^>params.xml

您可以尝试转义字符。这里有一个参考:我想把它作为答案,但我现在没有办法测试它。希望它可以,因为您的引号字符串在变量中,包括包围引号吗?不,我确实想输出testid=“test”您可以尝试转义字符。这里有一个参考:我想把它作为答案,但我现在没有办法测试它。希望它能做到,因为您的引号字符串在变量中,包括包围引号?不,我确实想输出testid=“test”