1.修改文件名
@echo off
setlocal enabledelayedexpansion
echo ---------------------------------------------
for /f %%i in ('dir /b CYMERA*') do (echo %%i)
echo ---------------------------------------------
set str1=晨会
for /f %%i in ('dir /b CYMERA*') do (
set p=%%i
ren "%%i" "!p:~7,9!%str1%%%~xi"
)
echo ---------------------------------------------
pause
2.set、| 、||、&
@echo off
if {string1} == {string1} dir C:\Users\chenjianguo.fnst\Desktop\huanglu
rem 退出代码为>=1就跳至标题1处执行,>=0就跳至标题0处执行
if exist auto.bat echo 文件存在!
::set a=1
::set a=3 & echo %a%
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,5) do (
set a=%%i
echo %a%
)
set var1=abc
set var2=123
echo 交换前: var1=%var1% var2=%var2%
set var1=%var2%& set var2=%var1%
echo 交换后: var1=%var1% var2=%var2%
echo 英雄^
是^
好^
男人
dir z:\ & dir y:\ & dir c:\
Rem !!!!
dir z:\ && dir y:\ && dir c:\
dir z:\ || dir y:\ || dir c:\
dir c:\ || dir y:\ || dir z:\
IF ERRORLEVEL 1 goto 1
IF ERRORLEVEL 0 goto 0
Rem 上面的两行不可交换位置,否则失败了也显示成功。
:0
echo 命令执行成功!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:1
echo 命令执行失败!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:exit
pause
@echo off
setlocal enabledelayedexpansion
set str=床前明月光 疑是地上霜 举头望明月 低头思故乡
::定义字符串str
for %%i in (%str%) do (
rem 由于str中含有空格,则以空格为分隔符将str中的每一个部分依次赋给变量%%i。
set char=%%i
echo.
echo.
for /l %%j in (0,1,5) do (
set/p=!char:~%%j,1!<nul
rem 依次取出变量char中的每一个字符,并显示。
ping -n 0 127.0.0.1>nul
rem 设置输出每个字符的时间延迟。
)
call :hero %%i
)
pause>nul
exit
:hero
for /l %%k in (1,1,10) do (
ping /n 0 127.0.0.1>nul
set /p a=<nul
set /p a= <nul
set /p a=<nul
ping /n 0 127.0.0.1>nul
set /p a=%1<nul
)
::文字闪动
goto :eof
3、for
@echo off
::for /r %%i in (语法.txt) do if exist %%i echo %%i
::set var = 100
:::continue
::echo %var%
::set /a var=%var%-1
::if %var% gtr 0 goto continue
set sum=0
call :sub sum 10 20 35
echo 数据求和结果:%sum%
pause
:sub
echo %sum%
echo %1 %2
rem 参数1为返回变量名称
set /a %1=%1+%2
shift /2
if not "%2"=="" goto sub
goto :eof
pause
4、shift
@echo off
cls
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /0
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /1
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /2
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /3
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /4
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /5
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /6
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /7
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
shift /8
echo %1 %2 %3 %4 %5 %6 %7 %8 %9
pause 1>nul