【问题标题】:Escape Path in Bat fileBat文件中的转义路径
【发布时间】:2013-12-10 03:15:20
【问题描述】:

我需要转义并在 .Bat 文件中写入当前目录文件夹路径。下面是我使用的代码。

@echo off
echo %CD% > path.txt
echo Done!

它在路径下输出:

C:\Users\Polo\Desktop\New folder

我需要将其转义如下:

C:\\Users\\Polo\\Desktop\\New folder

我怎样才能做到这一点?

【问题讨论】:

    标签: windows batch-file path


    【解决方案1】:

    我建议将\ 替换为\\

    @echo off
    echo %CD:\=\\% > path.txt
    echo Done!
    

    我在这里找到了这个(以及许多其他在批处理文件中处理字符串的方法):http://www.dostips.com/DtTipsStringManipulation.php

    【讨论】:

    • 谢谢。这是一种方式,但我更喜欢运行批处理文件一次。我知道可以通过在 bat 文件中设置变量来完成,但我没有这方面的知识。
    • 感谢您的反馈。我找到了更好的方法并编辑了我的答案。
    • 比旧的一个巨大的脚本好多了。我发现相反的方式。从 ECHO 行转义整个字符,而不是一对一,但不是:(
    • 在一种情况下,我不得不为 sed 转义反斜杠,以便为路径中的每个 1 获得 4:%PROJECT_DIR:\=\\\\% 就像一个魅力。我不知道批处理有像 bash 这样的变量替换,非常好的答案。
    猜你喜欢
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2011-11-27
    • 2013-08-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    相关资源
    最近更新 更多