先看一段批处理程序
@echo off
if not exist %1 (echo 命令语法如下:
echo %0 filename
echo filename:表示需要修改的文件名。
echo.
echo.
goto end
)
set extension=%~x1
for /f "tokens=1,2 delims=/" %%a in ('date /t') do set date=%%a%%b
ren %1%date%%extension%
echo.
echo 文件%1 已经成功更名为 %date%%extension%
set extension=
set date=
:end
这个批处理程序旨在将某个指定的文件名更改为当前日期,扩展名保持不变
这段程序中的delims与tokens是最让人难以理解的,接下来我就讲解一下这两个单词在批处理脚本中的意义
首先我们来了解一下这段for循环的格式
For /f”常用来解析文本,读取字符串,delims负责切分字符串,而tokens负责提取字符串
delims是用来指定分隔符的,在上面的代码中,delims指定了 /作为分隔符,使用该分隔符会将 date /t也就是
分割成三部分:2018 、02和01 周四
然后使用tokens来进行提取,上面的批处理脚本中写的是1,2,那么tokens就回去出第1和第2部分,也就是都取出来,因此在后面的set date=%%a%%b出现两个变量也就不难理解了,注意一定要是连续的字母,如果前面for循环中用的是%%i,那么后面就要写成%%i%%j
最后环境变量date的值就变成了201802
了解更详细的有关delims与tokens的内容,访问这篇博客:
http://blog.sina.com.cn/s/blog_72f4fd4e0100p8vf.html