set 命令特殊用法
是不管前面有没有0都要保证去掉):
演示代码:
@echo off
set Day=1%date:~5,2%
set /a Day-=100
echo %Day%
pause>nul
另外,还可以(在深入运用时,比前一种更有优势):
@echo off
set/a day1=%date:~5,1%,day2=%date:~6,1%
set/a day=%day1%*10+%day2%
echo %day%
pause>nul
2、利用set /a(数值运算 除法中除数不允许出现0)返回值来设置数值运算的进位标志;
演示代码:
@echo off 2>nul 3>nul
set/a num1=7,num2=2
set/a var=%num1%+%num2%
set /a 1/(%var%/10) && echo 大于10 ||echo 小于10
pause>nul
再附一特大数值的加法运算演示代码:(先补位)
@echo off&setlocal enabledelayedexpansion
set num1=984322212445613542523552165432136516565135132354123432987619431469731611346143789
set num2=657973265856194306419643120641631361303163006131061301613061130161300613061130
call :lineup num1
call :lineup num2
set/a flag=0
for /l %%i in (1 1 199) do (
set/a var=!num1:~-%%i,1!+!num2:~-%%i,1!+!flag!
set var=0!var!
set flag=!var:~-2,1!
set str=!var:~-1!!str!
)
for /f "delims=0 tokens=*" %%i in ("!str!") do echo %%i
pause>nul
:lineup obj
for /l %%i in (1 1 200) do set %1=0!%1!
call set %1=!%1:~-200!
powercfg 命令 关闭显示器写法
关闭显示器@echooff::bySKBPowerCfg/change家用/办公桌/monitor-timeout-ac1exitrem后面的参数最小是1,也就是1分钟,如果你1分钟不动电脑,你就会看到效果了。POWERCF
文本文件乱序排列bat实现代码
@echooff::bySKB::说明----将文本中的所有内容无规则打乱顺序排列@echooffif"%1"neq"$"(for/f"tokens=2delims=#"%%ain('"%~0"$^|sort')doecho%%apausenul)elsefor/f"delims="%%iin(test.txt)doc
批处理将非administrator用户全部禁掉的代码
本地测试还可以,要保证你的电脑的默认用户是adminstrator而且没有修改用户名,要不就会无法登陆电脑了。@echooff::bySKBsetlocalenabledelayedexpansionnetuser|find/v