禁用账户无法判断空格bug修复(2)——倒取尾部空格

尾部空格bug:
若变量f值字符串中尾部含有空格,如何将其忽略而保留中间空格符?

修复代码:

@echo off&setlocal enabledelayedexpansion
set a=ad 我  
for /l %%a in (0,1,65535) do if "!a:~%%a,1!"=="" set /a b=%%a-1&goto a
:a
for /l %%a in (%b%,-1,0) do if not "!a:~%%a,1!"==" " set /a b=%%a+1&goto b
:b
for /f "delims=" %%a in ("%b%") do set f=!a:~0,%%a!
for /l %%a in (0,1,20) do if not "!f:~%%a,1!"=="" (set /p=!f:~%%a,1!<nul>c.txt&if "!f:~%%a,1!"==" " set /p=a<nul>c.txt)&for /f "delims=" %%a in ('dir c.txt^|find "文"') do set c=%%a&if not "!c:~34,1!"=="0" echo !c:~34,1!
pause>nul

运行过程:
 1.判断变量a值总字符串长度。
 2.取长度值进行单个负判断,当识别到不是空格后,将剩余未识别字符串总长度输出至变量b,包括空格符。
 3.利用变量b的长度值,提取剩余字符串输出至变量f。
 4.f值最后被用于强制输出。

最终运行结果如下:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章