回声[特殊字符]之间的区别

时间:2017-01-14 05:13:02

标签: batch-file special-characters

编写批处理文件时, 我发现有些人使用Echo.Echo/Echo(等...这些回显空行,那么这些Echo[Special Character]之间有什么区别?

1 个答案:

答案 0 :(得分:6)

您可以使用echo使用许多不同的字符。 .[]+\:/,;=(之一。

良好的选择有多种要求。

  1. 它应该创建一个空行(不是ECHO iS OFF

    1. 如果与(延迟)变量一起使用,它应该能够输出任何内容
    2. 当当前目录中存在特殊名称文件时,它不应该失败
  2. 第一点适用于所有角色(来自列表) 对于\:.

    等内容的\..\..\..\windows\system32\calc.exe,第二点失败
    @echo off
    setlocal EnableDelayedExpansion
    set var=\..\..\..\windows\system32\calc.exe
    echo.!var!
    

    ,;=/?而失败而/?

    而失败
    @echo off
    setlocal EnableDelayedExpansion
    set var=/?
    echo=!var!
    

    .[]+

    的第三点失败
    echo echo HELLO FROM %~f0 > echo[.bat
    echo[ This fails
    

    唯一有效的方法是echo(