1

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

set /p variable=user input here

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

4

1 回答 1

0

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

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

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

于 2012-05-10T11:22:58.527 回答