批处理应用:根据文件内容进行重命名操作
2007-01-16 20:14
344 查看
发送者:purpleraina
我想实现以下的目的:
首先,我有个.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
我想实现以下的目的:
首先,我有个.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
相关文章推荐
- 批处理应用根据文件内容进行重命名操作
- 批处理应用:根据文件内容进行重命名操作
- 批处理文件操作:替换文本文件某系字符写入新文件、遍历目录并进行字符串替换、拷贝文件到新目录、去掉文件扩展名
- 一个简单的利用ini配置文件以及用户输入的交互进行文件夹内容拷贝的批处理文件脚本的实现
- 使用matlab如何根据循环变量对文件进行命名
- Dos命令XCOPY在批处理文件中的应用,且生成的备份文件夹为年月日命名的
- 67.文件映射为内存进行操作与多线程 以及 文件映射到内存根据索引进行内存来实现读取多线程操作
- 在EXT框架中,使用JS文件设置UEditor文本框,出现新增内容很多,页面变型,不出现滚动条,导致无法进行操作。
- java中,对文件进行追加内容操作的三种方法
- java使用CsvReader和CsvWriter对csv文件内容进行读取和写入操作
- java中,对文件进行追加内容操作的三种方法!
- 进程操作函数:fork.execl的应用—对文件进行的修改进行自动备份
- 【VS开发】cmd dos 批处理重命名文件<不一定非得吭哧吭哧的写C++来操作>
- 在进行javaIO写文件操作后文件内容为空的情况
- linux下用grep命令根据文件内容进行关键字搜索[linux ubuntu grep] -转
- 内容文件Java创建TXT文件并进行读、写、修改操作
- java代码实现根据JSON文件进行批量文件重命名或者改目录结构
- 通过字符流来对文件进行内容的读取和写入操作
- android 读写xml,修改appserver.xml(根据appserver.xml文件的位置进行操作)
- Class文件结构应用-根据class文件获取class内容