【问题标题】:is it possible to automatically escape variables in xp bath (cmd) scripts?是否可以在 xp Bath (cmd) 脚本中自动转义变量?
【发布时间】:2012-05-18 18:47:52
【问题描述】:

所以在 *.cmd 文件中我有:

set /p variable=user input here

现在我应该用这个变量做某事,但用户可以在这里放任何东西,甚至是如果未转义则不允许的字符。所以我在 CMD 工具箱中有任何东西来处理这种可能性。那就是现在自动创建(用户不知道什么是允许的,什么是不允许的)另一个包含所有必要字符的变量已转义,以便我可以在我的脚本中安全地使用它?

【问题讨论】:

    标签: command-line windows-xp escaping cmd


    【解决方案1】:

    SET /P 将正确接受任何输入,包括未转义的特殊字符。当需要使用(可能)包含特殊字符的变量时,您只需要使用延迟扩展即可。

    @echo off
    setlocal enableDelayedExpansion
    set /p "test=Enter something: "
    echo test=!test!
    

    SET /P 语句中的引号不需要允许特殊字符输入。它们只是为了在提示符末尾启用一个空格。

    【讨论】:

      猜你喜欢
      • 2020-01-02
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 2012-12-20
      • 2013-01-19
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      相关资源
      最近更新 更多