是否可以在xp bath(cmd)脚本中自动转义变量?

时间:2012-05-10 08:08:55

标签: command-line windows-xp escaping cmd

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

set /p variable=user input here

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

1 个答案:

答案 0 :(得分:0)

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

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

不需要SET / P语句中的引号来允许特殊字符输入。它们只是在提示结束时启用空格。