Batch file 批处理命令";设置/p";韩元';t将用户输入存储到变量中

Batch file 批处理命令";设置/p";韩元';t将用户输入存储到变量中,batch-file,scripting,set,Batch File,Scripting,Set,这就是我要测试的代码。我总结说,这是行不通的,因为当我输入一个字符串时,当我回显它时,它不会输出变量(带引号或不带引号)。我只是用Notepad++来写这个,我在Windows8.1上运行它 @ECHO OFF set /p name = Enter a name: echo "%name%" pause exit 键入“Bob”时的精确输出: Enter a name:Bob "" Press any key to continue . . . Enter a name:Bob "Bo

这就是我要测试的代码。我总结说,这是行不通的,因为当我输入一个字符串时,当我回显它时,它不会输出变量(带引号或不带引号)。我只是用Notepad++来写这个,我在Windows8.1上运行它

@ECHO OFF

set /p name = Enter a name:
echo "%name%"

pause
exit
键入“Bob”时的精确输出:

Enter a name:Bob
""
Press any key to continue . . .
Enter a name:Bob
"Bob"
Press any key to continue . . .

尝试键入
set/?
。你为什么不那样做呢

 SET /P variable=[promptString]
您的命令所做的就是写入您键入的内容


在set命令中可能有空格
set/p name=无论什么

这应该适合您:

@echo off

set /p name=Enter a name:
echo "%name%"

pause
exit
键入“Bob”时的精确输出:

Enter a name:Bob
""
Press any key to continue . . .
Enter a name:Bob
"Bob"
Press any key to continue . . .

使用
set/p name=…
,您正在定义一个变量
%name%
,而不是
%name%

我确实尝试过,但它没有给我想要的。看看产生的输出,我添加了它。我知道这是一个简单的程序,但那只是因为我正在测试一个功能。当人们告诉你事情时,你似乎没有注意到。你假设你知道他们在说什么,而你不知道。这和批处理或编码有什么关系?我们一直告诉你,但你不听。您没有定义变量名(您的答案是“我确实尝试过”)。现在你使用了错误的变量名。哎呀,我确实在其中存储了一个变量,name。当我在问题上输入那部分时,我只是忘了加上它。它还是不起作用。@Twonty2你确定它不起作用吗?对我来说效果很好。是的,我直接复制了你的代码,同样的事情也发生了。我不知道我做错了什么。你用什么写代码?我的文件名是
test.bat
是的,相同。我不知道。它以前工作过,现在不工作了。