首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用<角度Brackets>批量写入文本文件

用<角度Brackets>批量写入文本文件
EN

Stack Overflow用户
提问于 2015-01-08 17:49:27
回答 4查看 2.1K关注 0票数 3

我正在尝试使用批处理脚本动态创建一个小型XML文件,但在编写行开始和结尾时出现问题。

1)如果我做的事情如下:

代码语言:javascript
复制
set foo=^<bar^>
echo %foo% > test.txt

这会导致

代码语言:javascript
复制
> was unexpected at this time.
echo <bar> > test.txt

2)如果我用引号:echo "%foo%" > test.txt包围回显状态变量,它将成功地写入文本文件。但是,很明显,它包含了我无法拥有的引号。

3)然后我想“好吧,那一定是开头和结尾的尖括号.”因此,我在尖括号前后添加了一个字符:

代码语言:javascript
复制
set foo=a^<bar^>a
echo %foo% > test.txt

这导致了一些奇怪的输出,看起来像是我的括号被编号了,然后它在寻找一个文件?

代码语言:javascript
复制
echo a 0<bar 1>test.txt
The system cannot find the file specified.

我以前写过初级批次剧本,但我觉得我在这里太过分了……任何帮助都是非常感谢的!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-01-08 17:54:47

试试这个:

代码语言:javascript
复制
setlocal ENABLEDELAYEDEXPANSION

set foo=^<bar^>
echo !foo! > test.txt

endlocal

使用延迟扩展,并将%替换为!,会使它对其进行不同的评估。

票数 4
EN

Stack Overflow用户

发布于 2015-01-08 17:54:12

如果使用管道,则需要:

代码语言:javascript
复制
set foo=^^^<bar^^^>
票数 3
EN

Stack Overflow用户

发布于 2015-01-08 17:54:45

您需要说明双重替代:

代码语言:javascript
复制
set foo=^^^<bar^^^>
echo %foo% > test.txt
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27846423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档