[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  玩了那么久,今天才发现退格符号居然能跑到字符串头部去删除字符,对这段代码的执行过程百思不得其解:

  首先生成70个|,然后,用70个退格符号去删除,那么以前的字符串应该都不能看到了才是,怎么还会停留在屏幕上呢?在第二个for后加上pause查看显示结果,发现"按任意键继续..."的提示居然跑到那70个|前面去了,真是倍感疑惑;就算是光标能定位到那70个|前面,最后一个for生成的>应该把那70个|往后挤才对啊,怎么会逐个"吃"掉后面的|呢?

  看来,set /p=<nul 语句和退格符号的执行机制充满了神秘啊。

TOP

  如果 <nul 前面是0到9的数字的话,就要加^,除此之外的其他非特殊字符无须添加^,因为 <nul 前面的0到9的数字会被默认为是句柄,就像我们常用 2>nul 来屏蔽错误输出中的 2 一样。

  关于句柄的详情,请运行 hh.ntcdms.chm::ntcmds.htm,查阅 Redirection Operators(重定向运算符) 一节。

TOP

返回列表