批處理應(yīng)用:根據(jù)文件內(nèi)容進(jìn)行重命名操作
更新時間:2007年04月23日 00:00:00 作者:
我想實現(xiàn)以下的目的:
首先,我有個.dat文件,名字是固定的,需要更改這個文件名.
.dat第1行的內(nèi)容是: 10107xxxxxx,代表的意思是2007.01.01,后面的x內(nèi)容不固定.如果是1~9月,則第1個字符是空的.
現(xiàn)在要根據(jù)這行內(nèi)容來改文件名.比如10107XXXXXX,改為c01-0101.cvs.
110107xxxxxx,改為c01-1101.cvs
請問該怎么寫這個BAT文件.
分析:
讀出第一行內(nèi)容到一變量
區(qū)變量的第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
首先,我有個.dat文件,名字是固定的,需要更改這個文件名.
.dat第1行的內(nèi)容是: 10107xxxxxx,代表的意思是2007.01.01,后面的x內(nèi)容不固定.如果是1~9月,則第1個字符是空的.
現(xiàn)在要根據(jù)這行內(nèi)容來改文件名.比如10107XXXXXX,改為c01-0101.cvs.
110107xxxxxx,改為c01-1101.cvs
請問該怎么寫這個BAT文件.
分析:
讀出第一行內(nèi)容到一變量
區(qū)變量的第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
相關(guān)文章
斷開網(wǎng)絡(luò)聯(lián)結(jié)的bat文件
斷開網(wǎng)絡(luò)聯(lián)結(jié)的bat文件...2007-08-08
統(tǒng)計每個數(shù)的重復(fù)次數(shù),并按照重復(fù)次數(shù)由高到低排序的批處理
統(tǒng)計每個數(shù)的重復(fù)次數(shù),并按照重復(fù)次數(shù)由高到低排序2009-05-05
批處理將文件俠內(nèi)的文件名導(dǎo)入表格對應(yīng)名稱中
這篇文章主要介紹了使用批處理實現(xiàn)將文件俠內(nèi)的文件名導(dǎo)入表格對應(yīng)名稱中的方法和兩個示例,推薦給大家學(xué)習(xí)下。2015-09-09

