很多时候我们需要一次性修改很多文件的属性,比如,修改数百张图片的名称、格式,获取文件的路径等问题,如果手动地去修改,劳神费时,不知道要到猴年马月了,还极易出错,出错后很难排查,面对如此繁琐的问题,我们可以采用bat批处理技术轻松实现。下面介绍几个bat批处理的小功能
(1)提取文件名称的批处理
首先,在要进行批处理的文件目录中新建txt文件,打开txt文件,在文件里写入
dir *.bmp /a /b /s >1.txt
保存该txt文件,将后缀该成.bat格式,然后双击该bat文件。
这样,就把当前目录的文件路径、名称写入1.txt文件了,如下图所示
(2)批量修改文件名称
首先新建txt文件,打开txt文件,在里面写入如下代码
@echo off
set a=0
setlocal EnableDelayedExpansion
for %%n in (*.bmp) do (
set /A a+=1
ren "%%n" "image_!a!.bmp"
)
此代码中,bmp代表批处理的文件格式,image_代表批处理后的文件名称, a 为随着图片数量的增加而变化的数字,会放在image_的后面,比如image_1、image_2,bmp为批处理后的文件格式,这些变量都可以根据自己的需求进行修改。
保存该txt文件,然后将后缀修改成.bat,双击该bat文件,该目录下的文件将会重命名成自己想要的名字。
(3)提取文件名称,并为每个文件名称后面添加分号
提取文件名称多是为了利用程序读取该存有文件名称的txt文件,所以有时间为每个文件名称后加上分号是很有必要的。
首先在存有文件名的txt文件的同目录下新建txt文件,打开该txt文件,写入如下代码
@echo off
@if exist 11.txt del 11.txt
@for /f "delims=" %%i in (1.txt) do @echo %%i; >> 11.txt
保存该txt文件,然后将后缀修改为.bat,双击该bat文件。
这样就将1.txt文件中存有的文件名后面添加了分号,保存在11.txt中
根据需要可以将上述三个功能写在同一个bat文件中,代码如下
@echo off
set a=0
setlocal EnableDelayedExpansion
for %%n in (*.bmp) do (
set /A a+=1
ren "%%n" "image_!a!.bmp"
)
dir *.bmp /a /b /s >1.txt
@echo off
@if exist 11.txt del 11.txt
@for /f "delims=" %%i in (1.txt) do @echo %%i; >> 11.txt
新建txt文件,在该txt中写入
del *.bmp /f/q
del *.mtp /f/q
del Execute\*.ilk /f/q
del Execute\*.exp /f/q
del Execute\*.lib /f/q
del Debug\*.* /f/q
保存该txt文件,修改后缀为.bat,双击该bat文件,这样就删除了指定文件目录下的文件
这些只是批处理的简单应用,批处理还有许多高级的处理,以后用到时再学习整理。