领星动网编程开发之爆炸小宇宙

cnitblog.com/lxasp - - 有一种信念叫做编程
posts - 61, comments - 34, trackbacks - 0, articles - 0
 获得“我的文档”目录路径:
FOR /F "TOKENS=1,2 DELIMS=:" %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Personal') DO (SET "DC=%%A"&SET "DS=%%B")
SET DS=%DC:~-1,1%:%DS%

 获得随机数:
SET /a rnd=%random%%%(30000-10000+1)+10000

 取字符串后缀最后一个字符并判断是否含有斜杠\ 为字符串末尾自动加上斜杠\
SET DZ=%DQ:~-1%
IF NOT "%DZ%"=="\" (SET "DQ=%DQ%\"&SET "DZ=")

 字符串替换去除双引号
SET ST=%ST:"=%

 字符串替换空格为0 字符串去除冒号: 字符串去除点号.
SET MT=%time%
SET MT=%MT::=%
SET MT=%MT:.=0%
SET MT=%MT: =0%
ECHO %MT%

 取得参数路径的属性并判断是否为文件夹目录
SET ATT=%~A1
SET ATT=%ATT:~0,1%
IF /I "%ATT%"=="d" SET TAR=%~F1\

 取得字符串长度
@ECHO OFF
SET /P STR=请输入任意长度字符串:
IF NOT DEFINED STR GOTO :EOF
SET TLEN=0
:LBLEN
SET /A TLEN+=1
SET STR=%STR:~0,-1%
IF DEFINED STR GOTO :LBLEN
ECHO 字符串长度(字符个数):%TLEN%
PAUSE

可以一行内写多个SET变量的情况:SET 加双引号,并且在同一行内不可引用同一行内其他的变量。
因为当前行的变量内容要在本行结束后才生效。但是,从文本长度大小来算,加双引号在同一行写的,比直接回车的字节要多。
两个双引号和&共3个字节,而回车换行CRLF是2个字节。
SET /A "RA=%RANDOM%%%(30000-10000+1)+10000"&SET "TA=%~A1"&SET "TD=%~D1"
 
只有注册用户登录后才能发表评论。