巧借数据库批量修改照片名称

2011-02-04 07:37许雪松
中小学电教 2011年6期
关键词:文件名教工批量

☆ 许雪松

(海安县实验小学,江苏南通 226600)

巧借数据库批量修改照片名称

☆ 许雪松

(海安县实验小学,江苏南通 226600)

我校今年有100多位教师参加高考监考任务,根据市招办要求必须在网络环境上传监考教师信息:一项为基本信息,使用dbf数据库导入;一项为监考教师的照片,照片须使用身份证号码命名。我校现有的照片都是使用教师姓名命名的,如果逐个修改需要很大的工作量。经过笔者初步研究,使用下面两种方案可以解决该问题。

方案一:使用VFP9.0,自定义小程序

1.制作dbf数据库

从会计室复制了一份工资表,该工资表是Excel格式,在Excel中将序号、银行账号等列删除,只保留姓名、身份证两列,列标题和多余的工作表也需删除。此外还需注意将姓名中的空格去除,可使用“编辑”菜单中的“查找和替换”的命令实现,最后另存为“教工信息.xls”,如图1所示。

打开VFP9.0,单击菜单 “文件”-“导入”,在“导入”对话框中“类型”选择Excel5.0或 97(xls),“来源”浏览选择刚刚制作的“教工信息.xls”,单击确定。单击菜单“文件”-“导出”命令,将数据表导出为dbf数据库:教工信息.dbf。

单击菜单“显示”-“浏览 教工信息”,可以看见教工信息表了,接下来还需将字段名修改一下:单击菜单“显示”-“表设计器”,将字段名称“a”、“b”分别修改为“姓名”、“身份证”。

图1

2.新建程序,编写代码

在VFP9.0中单击菜单“文件”-“新建”,选择“程序”类型,在弹出的“程序1”框中输入下列代码,并单击菜单“文件”-“保存”,将程序保存为“批量改名.prj”:

注解:go top命令是将指针定位到数据库的第一个记录,通过“scan”命令开始搜索。“wj=″c:\教工照片\″+alltrim(姓名)+″.jpg″”是取得照片的文件名,其中“alltrim”是把照片文件名中的空格字符串删除。获得照片文件名后程序将文件名与数据库中的信息进行对比,如果找到一致的信息就执行“copy file”命令,使用身份证命名并复制到指定的文件夹中。alltrim(姓名)、alltrim(身份证)中的“姓名”“身份证”与数据表中字段名对应。“name1”的作用是记录数据库中找不到相应照片的人员名单,最后给出提示名单。

3.执行程序,修改文件名

在执行程序前,在c盘建立“教工照片”、“照片”文件夹,将所有教工的照片复制到“教工照片”文件夹内。然后在VFP9.0中打开数据库“教工信息.dbf”,单击菜单“程序”-“运行”,选择“批量改名.prj”。程序执行后打开“c:\照片”,照片名称已经变成身份证号了。

在运行程序后,笔者发现还有少部分的照片没有被转换,经仔细检查后发现这部分教师照片文件名中的姓名与数据表的姓名不一致,如照片“王晓明.jpg”与数据库中“王小明”不一致,可做个别处理。此段程序也可做进一步的修改,比如数据库中找不到的,将其照片复制到另外一个文件夹中。

方案二:使用Replace Pioneer,快速完成转换

Replace Pioneer是一款比较专业的文本批量查找替换软件。它能对各种形式的文本进行替换,最大的特点是可以自定义各种替换的规则,能够在70多种编码方式之间的批量转换。此外,它也能对文件名进行批量修改,并支持文件名任意切割和重组,使用自定义规则甚至是函数进行修改。

1.制作数据文本文件

和使用VFP9.0一样,首先要制作一个数据库,Replace Pioneer支持纯文本格式的数据信息。在Excel中打开用工资表处理后的“教工信息.xls”,将其另存为文本文件“name.txt”。类型选择为“文本文件(制表符分隔)”,保存到存放教工照片的文件夹内(如图2)。

图2

2.导入照片

运行Replace Pioneer,单击菜单“tools”-“BatchRunner”,在弹出对话框中单击“Pick Files”,将所有教工照片导入,这时我们看到图片文件的列表了,注意不要将name.txt导入。

3.设立规则,批量改名

在“BatchRunner”对话框上勾选“Setoutfilename”,将默认的“$邀FILENAME妖”修改为

“$邀BASE妖<file_content('name.txt',″(芽:\n|^)$match\t([^\n]觹)″,'', 10000)>.$邀EXT妖”,此处是把输出的文件名使用“name.txt”中对应身份证号码来修改(如图3)。查看“output file”列呈现的新名字是不是符合要求,如果有空白,查看一下是不是图片文件名和数据库不符,最后点击“File Rename”按钮即可批量完成改名。

两种方法相比,Replace Pioneer易于操作,VFP9.0需要有一定编程经验,但可以根据需要运用灵活修改命名的策略。修改文件名之前,都要做好数据的备份工作,防止名称混乱出错。上述方法也可根据数据库将身份证命名的文件批量修改为姓名,也适合于其它文件的批量改名。

图3

陈 钺]

猜你喜欢
文件名教工批量
福建教育学院教工及校友美术作品展
福建教育学院教工及校友美术作品展
批量提交在配置分发中的应用
采用经济数控车床批量车削孔类工件的再实践
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
健康体检数据分析肥胖及相关疾病——以中央民族大学退休教工为例
在数控车床上批量钻铰孔类工件的实践
考虑价差和再制造率的制造/再制造混合系统生产批量研究