小编Jef*_*rom的帖子

如何保护批处理文件中的引号?

我想在批处理文件中包装一个Perl单行程序.对于(平凡的)示例,在Unix shell中,我可以引用如下命令:

perl -e 'print localtime() . "\n"'
Run Code Online (Sandbox Code Playgroud)

但DOS使用这个有用的错误消息扼杀了它:

在-e第1行的EOF之前的任何地方都找不到字符串终结符"'".

.bat文件中执行此操作的最佳方法是什么?

quotes perl batch-file

5
推荐指数
2
解决办法
5161
查看次数

如何在msbuild中使用目标批处理时处理错误?

我正在使用批处理目标,我希望能够执行OnError清理,该清理特定于发生错误的迭代.这是一个完全通用的例子:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0" DefaultTargets="Build">

<ItemGroup>
    <Example Include="Item1">
        <Color>Blue</Color>
    </Example>
    <Example Include="Item2">
        <Color>Red</Color>
    </Example>
</ItemGroup>

<Target Name="Build"
    Inputs="@(Example)"
    Outputs="%(Example.Color).txt">
    <Error Text="An error occurred during %(Example.Color)" />
    <OnError ExecuteTargets="HandleErrors" />
</Target>

<Target Name="HandleErrors">
    <Message Text="Do some cleanup about %(Example.Color)" Importance="high" />
</Target>

</Project>
Run Code Online (Sandbox Code Playgroud)

当Color为Blue时,Build目标失败.但HandleErrors目标运行两次,每种颜色一次.有没有办法让它只运行失败期间活动的颜色?

msbuild

4
推荐指数
1
解决办法
2632
查看次数

标签 统计

batch-file ×1

msbuild ×1

perl ×1

quotes ×1