[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]请问批处理set /p=中的变量是哪个?

set /p=123
那输入的123赋给了哪个变量?

[ 本帖最后由 abcdshenji 于 2011-3-16 20:56 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 3楼 的帖子

可是你看这个:
  1. @echo off&setlocal EnableDelayedExpansion
  2. set "th=1"&set /p=请输入一个数:
  3. for /l %%i in (1,1,!p!) do (
  4.   set "str=!str!1"
  5. )
  6. rem 也可以加上先判断是否偶数。
  7. for /l %%i in (3,2,!p!) do (
  8.     set "th=!th!11"
  9.     for /f %%j in ("!th!") do (
  10.         if "!str:%%j=!"=="" set "flag=非素"&goto :end
  11.     )
  12. )
  13. :end
  14. if defined flag (
  15.   echo 非素数
  16. ) else (
  17.   echo 素数
  18. )
  19. pause>nul
复制代码
如果纯粹是显示的话。。这句“set /p=请输入一个数:”的作用是什么?它怎么引用输入的变量的值?还有下面的!p!是什么?变量p都还没定义呢,它是怎么引用的?难道说变量是p?如果是的话
  1. set /p=请输入一个数:
  2. echo\&echo %p%
  3. pause>nul
复制代码
结果是ECHO处于关闭状态

搞不懂啊。。。希望大哥指点一下下啊

TOP

回复 7楼 的帖子

唉。。真的是错的。。

TOP

回复 8楼 的帖子

恩。。明白。。验证过了。。就算是改成“set "th=1"&set /p p=请输入一个数:”。。这段P也还是错的。。。。

TOP

返回列表