在ANT任务中使用命令 - 转义百分比符号?
问题描述:
我有下面的.bat文件,它使用Confluence的命令行界面根据文本文件中的列表(Test.txt)为页面添加标签。以下是批处理文件,它工作正常的内容,必须从一个特定的位置在Atlassian的目录中运行:在ANT任务中使用命令 - 转义百分比符号?
cmd /k for /F "usebackq delims=" %%A in (Test.txt) DO (confluence --action addLabels --labels Expert --space CONTROL --title "%%A")
它拿起页面标题的Test.txt的一个列表,然后运行Confluence命令将标签“专家”添加到每个页面。
现在我试图将它作为ANT构建的一部分执行任务来运行。我成功地使用ANT exec任务来调用和运行.bat文件,但是我想看看我是否可以直接从ANT任务内运行命令,而不是直接运行.bat文件。
它似乎很接近,但我在%% A零件周围出现错误。这里的ANT任务我现在有:
<target name="runBat">
<exec os="Windows 7" dir="C:\Developer\atlassian-cli-3.9.0" executable="cmd">
<arg value="/c"/>
<arg value="cmd /k for /F "usebackq delims=" %%A in (FAS_Test.txt) DO (confluence --action addLabels --labels Expert --space confluenceSpaceName --title "%%A")"/></exec>
</target>
以下是通过命令行最新的错误消息:
runBat:
[exec] Current OS is Windows 7
[exec] Executing 'cmd' with arguments:
[exec] '/c'
[exec] 'cmd /k for /F "usebackq delims=" %%A in (FAS_Test.txt) DO (confluence --action addLabels --labels Expert --space CONTROL --title "%%A")'
[exec]
[exec] The ' characters around the executable and arguments are
[exec] not part of the command.
[exec] %%A was unexpected at this time.
[exec] Result: 1
我已经试过各种事情逃避百分号但没有任何工程。我认为百分号被加倍意味着它们已经被转义,但是以一种在.bat文件中工作的方式,但在我的ANT任务中不起作用。不确定。任何人都可以帮忙?我已经试过:
%A
|%A
\%A
|%|%A
\%\%A
答
好吧,我发现这个最后和它似乎工作
^%A
所以它需要%%A
.bat文件,并在它需要Ant任务命令^%A
。