所以在* .cmd文件中我有:
set /p variable=user input here
现在我应该用这个变量做某事,但是用户可能会放任何东西,甚至是未转义的字符。那么在CMD工具箱中我有什么可以处理这种可能性。那就是现在自动创建(没有用户意识到什么是允许的,什么不是)另一个包含所有必要字符转义的变量,以便我可以在我的脚本中安全地使用它?
答案 0 :(得分:0)
SET / P将正确接受任何输入,包括未转义的特殊字符。当需要使用包含特殊字符的变量(可能)时,您只需要使用延迟扩展。
@echo off
setlocal enableDelayedExpansion
set /p "test=Enter something: "
echo test=!test!
不需要SET / P语句中的引号来允许特殊字符输入。它们只是在提示结束时启用空格。