rem [1] goto:eof
rem 功能: 可以在不定义标签的情况下将控制传送到当前批处理脚本文件的末端.
rem 备注: 必须满足以下两个条件: (1)启用了命令扩展(即默认状态);(2) 使用 GOTO 和 :EOF 标签时, 必须在标签前插入(英文状态)冒号.
rem [2] set
rem 功能:cmd命令的变量类型只有字符串,所以不加双引号。如果变量值是数字,可以直接当数字使用。需要使用双引号的情况是变量的值中有双引号或者特殊字符。
rem set a="&|<>" ---变量a的值是等号后面包括双引号的六个字符。
rem set "a=&|<>" ---变量a的值是等号后面不包括双引号的四个字符
rem [3] call
rem 功能:调用另一个批处理程序,并且不终止父批处理程序(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。
rem call命令接受用作跳转目标的标签
rem 语法: call [ [Drive:] [Path] FileName [BatchParameters]] [:label [arguments]]
rem
@echo off
title by jvive@cn-dos.net date: 08-04-03
set "a=abcdefg 哈哈o(∩_∩)o"
set hint="自动浏览点是,手动输入点否,退出点取消"
set "att=4163"
set titl="十六进位颜色属性配置演示"
call:choice %hint% %att% %titl% browse input
del "%a%" &goto:eof
rem -------------module browse-----------
:browse
set col=0 1 2 3 4 5 6 7 8 9 a b c d e f
title 点击右键暂停,左键继续
for %%a in (%col%)do for %%b in (%col%)do for %%c in (%col%)do for %%d in (%col%)do (
call:JV %%a%%b%%c%%d "%a%"
echo ---- 配色属性:%%a%%b%%c%%d
)
goto:eof
rem -------------module input------------
:input
set "color="
title 请输入一个16进制数(1-4位)[例如1EAf或2a]:
set /p color=
if not defined color goto:input
echo 颜色属性: %color%
set/p=颜色演示:<nul
call:JV %color% "%a%"
echo\&goto:input
rem -------------subprocess--------------
:choice
setlocal ENABLEEXTENSIONS
rem 冒号在vbs是分割语句的作用
>%tmp%\tmp.vbs echo bar=MsgBox (%1,%2,%3):Wscript.Echo bar
for /f "delims=*" %%i in ('cscript.exe //nologo %tmp%\tmp.vbs') do set v=%%i
pushd %tmp%&del/q "%a%?" tmp.vbs 2>nul
if "%v%"=="2" goto:eof
if "%v%"=="6" call:%4
if "%v%"=="7" call:%5
endlocal&goto:eof
:JV
set/p=<nul>"%~2"
findstr /a:%1 .* "%~2?" 2>nul
pause