对于我这种一般用户也就是掌握普通命令该如何用,既然测试说明set/p 不支持显示以等号开始的字符那就遵循。从另一角度说,用“低”级形式硬是要做某特效也总是能做到的,例如debug是命令行可调用的程序命令——相当于用CMD命令编了一短程序并运行,没用第三方程序却完全是隐形的第三方嘛, 除此方法外对于显示效果也还有别的手段,总体说为此深入研究已无必要
我是水平不高废话多,标题所提问题原来也弄过, 凑合在xp上测验通过, 可能不能达到网友要求
@echo off
set "n0= 0 1 2 3 4 5 6 7 8 9"
for /L %%i in (10,1,99)do call set "n0=%%n0%%%%i"
set "x=""
set "y=!"
setlocal enabledelayedexpansion
set "str=#$%%^^&!x!*(~)_+-#/:\ !y!=<|>abc123.百分号转义符感叹号引号"
set "std=%n0%!str!!str!"
set/a "n=!std:~-200,2!-1"
echo 原串为
echo.!str! 共%n%+1个字符
for /L %%i in (0 1 %n%)do (
set "a=!str:~%%i,1!"
set/p= !a!
echo/&pause
加引号:
set "a=%str:~n,1%"