华域联盟 DOS/BAT 批处理应用:根据文件内容进行重命名操作

批处理应用:根据文件内容进行重命名操作

我想实现以下的目的:

首先,我有个.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


您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » 批处理应用:根据文件内容进行重命名操作

转载请保留出处和原文链接:https://www.cnhackhy.com/15278.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部