建站极客
脚本专栏 DOS/BAT 正文
批处理应用根据文件内容进行重命名操作
所属分类:
脚本专栏 / DOS/BAT
阅读数:
611
收藏 0
赞 0
分享
我想实现以下的目的:
首先,我有个.dat文件,名字是固定的,需要更改这个文件名.
.dat第1行的内容是: 10107xxxxxx,代表的意思是2007.01.01,后面的x内容不固定.如果是1~9月,则第1个字符是空的.
现在要根据这行内容来改文件名.比如10107XXXXXX,改为c01-0101.cvs.
110107xxxxxx,改为c01-1101.cvs
请问该怎么写这个BAT文件.
分析:
读出第一行内容到一变量
区变量的第5个字符,可以判断是否为0
1)如果是0,取变量前2位为月份,否则取前1位,并前缀0,作为月份
2)如果是0,取变量3-4位为月份,否则取2-3位,作为日
解答:
@echo off
for %%i in (*.dat) do call :goren %%i
goto end
:goren
set /p firstln=<%1
set year=%firstln:~4,1%
if /i %year% GTR 0 (set month=0%firstln:~0,1%& set day=%firstln:~1,2%) else (
set month=%firstln:~0,2%& set day=%firstln:~2,2%
)
ren %1 c01-%month%%day%.cvs
goto end
:end
for 语句从入门到精通 在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能
评论 0
收藏 0
赞 0
分享
dos 目录跳转 cd 当我们需要处理不同路径下的文件的时候,很可能需要切换目录,这个时候,可以考虑使用目录跳转命令cd。
评论 0
收藏 0
赞 0
分享
tree 以树形格式罗列文件 tree ,在英语中的基本含义是“树”,在cmd中,tree命令的功能是以树形格式罗列文件。
评论 0
收藏 0
赞 0
分享
dos 内容重定向 当我们在cmd窗口中查询某条命令的帮助信息的时候,帮助信息是显示在命令行窗口中的,命令行窗口关闭后,这些帮助信息就看不到了,如果下次还想看,又得在命令行窗口中输入查询命令,比较繁琐。
评论 0
收藏 0
赞 0
分享
批处理的"循环"效果脚本 曾经在回答一个问题时 无意中想到的方法 今天又看到类似的问题
个人认为是非常实用的 于是 想把这种方法推荐给大家
评论 0
收藏 0
赞 0
分享
查看更多