批量文件(共10篇)
批量文件 篇1
摘要:本文对图片特别是照片的批量处理 (改尺寸、控制体积、重命名) 进行了分析, 提出了借助Excel表格利用VBA对图片文件进行批量重命名的方法, 特别是对文件名不规则的文件进行重命名, 提高了处理效率。
关键词:批量处理EXCEL,VBA
引言
在办公自动化(OA)的过程中,我们经常要从数码照相机(DC)里读出许多照片。但这些照片的大小、尺寸和自动生成的文件名并不符合要求,我们必须对其进行处理。处理有两种情况:一种是改变照片的尺寸和文件大小,另一种是对一个甚至很多文件夹里的文件(照片)进行改名。
通常,我们可以选择ACDSee、Photoshop、Fireworks等软件来处理,而其中ACDSee不但可以进行简单的图片编辑,还可以用模板或者替换来批量改名。但ACDSee的这种改名是建立在某种规则的基础上,而面对一些改名前后毫无规律的文件名,也显得有点无能为力。
本文给出了一种批量改名方法:利用Excel表格作为临时“容器”,用于存放源文件名和目录文件名,然后利用VBA进行改名。实践证明,用这种方法对文件进行批量改名,效果良好,提高了工作效率。
1 批量给图片改尺寸
批量给图片改尺寸可以利用ACDSee (8.0)的工具-“改变大小”进行批量处理(图1)。在调整文件长宽数值的过程中,还可以选择JPEG的压缩比率,对文件大小进行控制。但其对文件大小的控制没有Photoshop和Fireworks那么精确。如果对文件大小比较敏感,可以选择Photoshop的“存储为Web通用格式”,压缩率80%就可以将大小控制为原来的一半。
2 批量给图片进行重命名
2.1 ACDSee对图片的重命名
如右图,ACDSee可以选择两种方法对文件进行批量重命名:模板、搜索和替换。其中在模板里可以使用“*号”做为原始文件名,“#号”做为模板的规律出现部分,可用数字或字母进行替换;在搜索和替换里可以对规律性重复的文件名如“更改大小”的字眼进行过滤或替换。
2.2 利用Excel VBA对图片文件名进行批量处理
如果要改成的文件名比较不规则,则用ACDSee就没那么简单了。我们可以利用VBA将某文件夹里的所有文件名读入到Excel表格的A列;然后将A列的文件名当作字符串,利用Excel公式进行处理后放入B列,使之符合要求;最后利用VBA的Name命令来对图片文件改名。
为了让VBA程序“自动”识别某文件夹下的所有文件,下面的程序用了一个通用对话框打开文件(OpenFile),判断用户选择的文件,将去掉路径后的文件名填入Excel的A列。程序还可以通过设置Filter属性来选择某一类型的文件。
'//按钮1的功能为将所选文件的文件名填入Excel工作薄Sheet1表的A列
File Filter:=“All Files, *.*, Files, *.jpg”, _'设置过滤器为'所有文件'和'jpg文件'两种
在得到了源文件名后,我们利用Excel文本处理公式对A列的文件名进行处理后填入B列,使之符合要求。然后我们就可以利用VBA的Name语句进行改名。
重命名命令Name的格式如下:
Name源文件名As目标文件名
为了达到“批量”处理的目的,VBA程序必然要使用循环。根据Name命令的格式,在循环之前,我们必须取得源文件名和目标文件名。在将源文件名和目标文件名放入A、B两列后,循环自然就简单了。
下面的程序利用循环对文件进行批量改名:
'//在对A列的文件名进行处理放入B列后,将A列内容作源文件名、B列内容作目标文件名
'//按扭2利用循环进行改名
Private Sub CommandButton2_Click ()
Dim i, c As Integer
If Cells (1, 2) =“”Then'检测B1单元格是否为空,若空,退出本过程
Msg Box“目标文件名不能为空!”
Exit Sub
End If
c=Excel.WorksheetFunction.CountA (Range (“a:a”) ) '//计算A列中的文件名数量,赋值给变量c
Dim CurPath As String
CurPath=Cells (1, 3) '//将C1单元格内容作为当前路径
For i=1 To c
Scr Name=CurPath&Cells (i, 1) '//当前完整源文件名
Dst Name=CurPath&Cells (i, 2) '//改名后的完整目标文件名
Name Scr Name As Dst Name'//重命名命令
Next i
Msg Box“共替换了”&i-1&“个文件名!”对话框提示改名文件数,也可用变量c表示
End Sub
3 实验及效果分析
如全国中小学教师教育技术水平考试(NTET)要求报名照片的文件名为“身份证号+姓名”格式,现有ACDSee等软件无法创建规则。这种情况下,我们利用以上两段VBA代码进行了批量重命名,在较短的时间里较好地完成了任务。实践证明,本文所述对图片等文件重命名的运行速度比ACDSee等软件要快。
4 结束语
ACDSee批量重命名的方法是建立在规律性的基础上的,充满着序列性。只要改名后的文件名符合一定规律,用户可以自己编写重命名模板来完成。而对于改名后无规律文件名,本文提出了一种简单易行的批量重命名的方法,无须借助现有软件,无需创建命名规则,只需要在Excel里处理好目标文件名,就可以省力省心地批量重命名了。其实本方法不光可以处理图片文件,也可以重命名任何文件。当然,VBA作为Excel函数功能的补充,远没有达到应用软件的层次,要做成集重命名、图片编辑等完整功能于一体的软件还有待进一步研究。
参考文献
[1]ExcelHome.Excel实战技巧精粹.2007.
[2]Excel之家论坛.http://Club.excelhome.net2006~2008.
[3]北京博彦科技.Office VBA编程高手.北京大学出版社, 2001.
批量文件 篇2
自己写的方法,适用于linux,
#!/usr/bin/python#coding=utf-8import sysimport os, os.pathimport dircacheimport commandsdef add(x,y): return x*ydef trans(dirname): lis = dircache.opendir(dirname) for a in lis:af=dirname+os.sep+a## print af if os.path.isdir(af):## print aftrans(af)else: ## print af+”encoding=“+fi.name ft = commands.getoutput(‘file -i ‘+af)## print ft if a.find(‘.htm‘)==-1 and a.find(‘.xml‘)==-1 and ft.find(‘text/‘)!=-1 and ft.find(‘iso-8859‘)!=-1: print ‘gbk‘+ft+”>“+af commands.getoutput(‘iconv -ficonv -f gbk -t utf-8 -c -o‘+”“+af+”“+af)trans(os.getcwd)
py2.6以下版本可用代码
import os,sys def convert( filename, in_enc = ”GBK“, out_enc=”UTF8“ ): try: print ”convert “ + filename, content = open(filename).read() new_content = content.decode(in_enc).encode(out_enc) open(filename, ‘w‘).write(new_content) print ” done“ except: print ” error“ def explore(dir): for root, dirs, files in os.walk(dir): for file in files: path = os.path.join(root, file) convert(path) def main(): for path in sys.argv[1:]: if os.path.isfile(path): convert(path) elif os.path.isdir(path): explore(path) if __name__ == ”__main__“: main()
支持py3.1的版本
import osimport sysimport codecs#该程序用于将目录下的文件从指定格式转换到指定格式,默认的是GBK转到utf-8 def convert(file,in_enc=”GBK“,out_enc=”UTF-8“):try:print (”convert “ +file)f=codecs.open(file,‘r‘,in_enc)new_content=f.read()codecs.open(file,‘w‘,out_enc).write(new_content)#print (f.read())except IOError as err:print (”I/O error: {0}“.format(err))def explore(dir):for root,dirs,files in os.walk(dir):for file in files:path=os.path.join(root,file)convert(path)def main():for path in sys.argv[1:]:if(os.path.isfile(path)):convert(path)elif os.path.isdir(path):explore(path)if __name__==”__main__":main()
不同位置文件的批量粘贴 篇3
一、把文件装进容器
要想对文件进行批量的粘贴操作,首先需要安装一款名为“Piky Basket”的工具。安装完成以后会在右键菜单里面,添加一项名为“Piky Basket”的子菜单。以后当需要转移文件时,选中文件后单击右键子菜单中的“载入容器”命令,这样文件就被装入到软件设置的一个容器里面(如图1)。正是由于“Piky Basket”这样的设计,软件和系统的剪贴板中的内容互不干扰。如果要继续转移其他文件的话,重复这样的载入操作就可以了。当需要批量粘贴的时候,点击子菜单中的“全部复制”或“全部移动”命令即可。
如果用户在载入文件的时候操作有误,那么点击子菜单中的“选取”命令,在弹出的窗口里面就可以看到已经载入容器的文件,找到不想载入的文件后,点击键盘中的“DEL”命令就可以将文件从容器中删除,但是这样并不会影响到目标位置上的源文件(如图2)。当然对于选中的那些文件,点击“复制”或“移动”命令,也可以对它们单独地操作。除此以外,“Piky Basket”还提供了两个非常实用的命令。比如点击子菜单中的“在此处打开命令提示符”命令,就可以在打开命令提示符窗口的同时自动跳转到指定目录。
二、图片批量进行收集
除了本地系统中的文件批量粘贴外,有些用户也喜欢从网上收集一些漂亮的图片。如果按照传统的方法一个个通过右键另存为来操作,也是一件非常繁琐和麻烦的事。不过通过一款名为“图片复制粘贴增强工具”的软件就可以解决这些问题。
打开“图片复制粘贴增强工具”后,首先需要对其进行设置操作。点击工具栏中的“选项”按钮,在弹出的窗口开启“收集模式”选项(如图3)。接着返回到浏览器窗口,按照平时的习惯来浏览图片,在发现喜欢的图片后点击右键中的复制图像命令即可。通过这种方式可以随意地复制图片,而且每复制一张图片工具栏中的显示数字都会变化。
当然有时在复制图片的过程中,会将不需要的图片复制下来。这时只需要点击工具栏中的“收集器”按钮,在弹出的窗口中就可以看到所有已经复制的图片。找到不需要的图片后,点击该图片下方的“删除”按钮就可以将其删除掉(如图4)。当图片复制完成以后,打开需要保存图片的文件夹目录,在其中点击右键菜单中的“粘贴”命令,就可以一次性将复制的图片保存到文件夹里面。
批量文件重命名VB程序设计 篇4
关键词:VB6.0,程序设计,文件重命名
1 引言
在编程中经常会按顺序处理或引用某一文件夹中的一批同类型文件,一般情况下,这些文件的名称或者没有统一的规律,或者名称中的序号不连续,使用前需要对这些文件按一定规律重新命名。
虽然Windows XP系统提供了批量文件重命名的方法,也可以用其他软件如ACDSee或一些专用重命名软件[1]进行文件重命名,但其操作方式和处理结果都不能令人满意,在网上有大量网友寻求批量文件重命名的方法。因此,设计一个程序小巧、功能强大、界面友好、操作简单的批量文件重命名程序很有必要,VB即可很方便地完成这个工作。
VB对文件的重命名主要用Dir函数和Name方法[2]。在设计的程序中,新文件名由“固定部分”+“顺序变化的序号”组成,主文件名的最大长度限定为8。例如,对80个jpg文件重命名,可设固定部分为PIC,变化部分为001,则重命名后80个文件名依次为:PIC001.jpg,PIC002.jpg,……,PIC080.jpg。
2 程序界面和操作流程
程序界面和操作流程如图1所示,主要使用了文件系统控件[3]。图1中仅对和编程有关的控件进行了标注,一些标签控件和右侧两个框架控件未标出,读者不难辨认,图1中的序号标明了操作顺序。
操作流程由如下6步组成:
(1)指定驱动器:从驱动器列表框Driver1中选择文件所在的驱动器。
(2)指定文件夹:从目录列表框Dir1中选择文件所在的文件夹。
(3)指定文件类型:从组合列表框Comb1中选择文件的类型(设计时内置了20多种常用类型),如果列表框中没有所需类型,按“*.扩展名”的格式从键盘输入,指定类型后在文件列表框File1中仅显示指定类型的文件。
(4)输入新文件名中的固定部分:在文本框Text1中输入新文件名中的固定部分。
(5)指定新文件名中序号部分的样式:从列表框List1中选择一种序号样式(设计时内置了5种样式,最大的样式可一次重命名99999个文件),应注意主文件名的长度最大为8,如果超长会提示修改。
(6)进行重命名:单击命令按钮[重命名](Command1),完成后在标签Label5处显示:有××个文件被重命名。
3 程序列表及说明
(1)Form1的Load事件,程序启动后显示D盘根文件夹下所有文件:
(2)Drive1的Change事件,驱动器改变时目录列表框Dir1中内容随之改变:
(3)Dir1的Change事件,目录改变时文件列表框File1中内容随之改变:
(4)Combo1的Got Focus事件,组合框Combo1得到焦点时选定文件扩展名:
(5)Combo1的Click事件,单击(选取)组合框Combo1列表中的扩展名时将选定类型的文件显示在文件列表框File1中:
(6)Combo1的Key Up事件,在组合框Combo1的文本框中键盘输入扩展名时将该类型的文件显示在文件列表框File1中:
(7)Command1的Click事件,完成文件重命名:
(8)Command2的Click事件,退出程序:
4 结语
在程序设计中的一个重要环节是从前向后依次先把文件重命名并移动到一个新建文件夹temp中而不是原地重命名,这样作的目的是防止新文件名和后面原有的文件重名而产生运行错误,当原来的一批文件名有序但序号不连续且新文件名和原文件名形式相同时,这种情况就会发生。当所有文件完成重命名后再把temp中的文件移回原处并删除temp文件夹。
参考文献
[1]http://zhidao.baidu.com/question/11524922.html.
[2]孟德欣,等.VB程序设计[M].清华大学出版社,2009,7.
巧用Excel 批量创建文件夹 篇5
第一步,先打开Excel,创建一个新的工作表,在表格中的A列输入“md ”(后面有个空格),在B列输入要创建的文件夹的路径,C列输入文件夹的名称,这里可以通过手动或者复制粘贴的方法来输入人名,
第二步,接着,在D列输入“=A1&B1&C1”,然后拉单元格右下角的锚点,使其下面的表格自动填充。
第三步,创建一个文本文件,把D列的内容复制到文本文件里,并把文件的后缀名由“txt”改成“bat”,改好后双击这个文件,就完成文件夹的批量创建了。
巧妙批量重命名 方便文件管理 篇6
批量设置标题为文件名
比如我们下载的Word文档名称不规则,而我们想将文档的标题命名为文件名称。但是如果一个个手工进行操作的话,自然是非常的繁琐和麻烦。不过利用Total Commander这款文件管理器,再加上一款名为ShellDetails的插件就可以方便做到。
首先下载ShellDetails这款插件,接着在Total Commander窗口中找到下载的ShellDetails插件安装包(http://www.totalcmd.net/plugring/shelldetails.html)。双击该安装包文件后,根据向导就可以完成插件的安装(如图1)。接着进入到存放有要进行重命名文件的目录,接着点击“选择”菜单选择“全部选择”命令。然后点击工具栏中的“批量重命名”按钮,就可以对选择的文件重命名操作了。
在弹出的重命名对话框中,可以看到很多的选项。这里首先将“重命名规则”输入框中默认的参数删除掉,接着点击对话框中的“插件”按钮,在弹出的菜单里面选择“ShellDetails”中的“标题”命令。然后就可以在对话框列表的“新文件名”一栏中预览到重命名后的文件名称(如图2)。如果认为没有问题的话,点击“开始”按钮就可以完成批量修改操作了。
将种子内容命名为名称
虽然Total Commander的批量重命名功能非常强大,但是并不是对所有的文件都支持操作,所以遇到这类文件还需要寻找专门的重命名工具才行。比如下载的BT种子文件名称不正规的时候,就不知道种子文件对应的是那部电影。现在运行“BT种子转磁力链工具”这款工具(http://www.fishlee.net/soft/tor2magnet/),如果工具没有正常运行的话,需按照提示安装Net Framework框架才可以。
现在点击软件界面中的“添加种子”按钮,在弹出的对话框选择下载的种子文件,接下来该工具就会进行种子文件的加载。这里需要提醒大家的是,在加载的过程中如果弹出错误信息,那么就说明提示的这个种子文件无法正常运行。现在需要将这个文件删除以后,重新选择种子文件并进行加载。当所有种子文件加载完成以后,在窗口列表会显示出种子文件当前的名称,以及种子内容名称等各种信息(如图3)。
批量文件 篇7
(1)系统登录功能。
(2)文本文件内容自动和手动导入功能。
(3)数据库表数据添加、编辑、删除、刷新和查找功能。
1 功能模块
1.1 系统登录模块
系统登录是用户进入到系统的门户,只有通过登录模块,才能对登录用户进行身份验证,只有系统的合法用户才可以进入系统的主界面,如图1。
1.2 文本文件自动和手动导入模块
该模块按功能将窗口分为两部分,如图2。左部分显示正在处理的文本文件和处理结果。右部分按功能分为3个区域:
区域1:用户可以通过DriveListBox控键,选择文本文件所在的盘符,通过DirListBox控键,选择数据集文件所在的路径,通过FileListBox控键可以选择用户需要入库的数据集文件,并且在TextBox控键中显示数据集文件的绝对路径。
区域2:CommandButton控键对文本文件进行处理,如果用户没有使用区域1的功能,那么CommandButton控键将按照默认的路径,查找文本文件进行处理。
区域3:DTPicker1控键用于选择日期时间,显示相应的日志文件,如图3。
1.3 数据库管理模块
用户点击“数据”菜单,显示子菜单数据库管理,数据库管理模块提供表数据添加、编辑、删除、刷新和查找功能,如图4。
2 系统实现
按照一定规则组织起来的一系列数据文本文件,存放在文件系统中,同时按照相应规则在SQL Server 2000数据库中建立数据表。
建立数据源,使用远程数据控件MSRDC,访问远程数据库,代码如下:
MSRDC1.Password="密码"
MSRDC1.UserName="用户"
MSRDC1.DataSourceName="数据源"
在VB中,用循环语句一行一行地读取文本文件的内容,并且赋值给一个数组,同时用Split函数将数组里的字符分割,得到文本文件里的数据,再插入到数据表中,代码如下:
Do While Not EOF(1)'循环至文件尾。
Line Input#1,TextLine(i)'读一行
日志文件存储了之前的操作信息,可以供管理员查阅每日的操作,方便管理,日志文件生成代码如下:
Print#2,"写入各种操作信息"
Close(2)
系统通过Timer控件,定时查找指定地址是否有符合要求的文本文件,有就自动导入数据库。用户手工导入文本文件数据信息时,通过VB6.0的控件选择文本文件所在的文件系统中的地址,并且判断文件是否存在,代码如下:
End Function
文本文件入库完成后,将该文件移到另一个目录下,如果该目录已经存在这个文件,则将文件名修改后再移至该目录。
数据库管理模块使用DataGrid控件,实现对数据表的删除、查找、刷新、添加和编辑操作,访问数据库的代码如下:
3结语
本程序是基于Windows XP操作系统、SQL Server 2000数据库平台及VB6.0的开发平台,实现存储大量数据的文本文件批量导入到SQL Server 2000数据库和数据库管理的功能。
参考文献
[1]武洪萍.visual basic数据库应用.北京:中国电力出版社,2006.
[2]郭琦.Visual Basic数据库系统开发技术[M].北京:人民邮电出版社,2006.
批量文件 篇8
1 实现功能
访问系统网站, 将所需要的人员信息批量生成Word文件并打包下载至本地PC, 要求生成的Word文件中数据均在指定的位置, 并且含有合乎大小要求的员工相片。
2 前期准备
服务器需安装Office 2003, 以便在程序中引入Microsoft.Vbe.Interop.dll;需要制作Word模板, 在模板中提前构建好人员信息表的布局, 如图1;并将其存储在服务器的指定文件夹下。在Microsoft Visual Studio 2010下创建Visual C#网站。
3 实现过程
3.1 在模板中插入书签
在先前制作的Word模板中插入书签。例如在需显示姓名的位置上插入书签, 并设置书签的ID, 如图2;在模板中姓名的显示位上置插入了ID为name的书签。
在所有需要的位置上插入书签后, 保存Word模板。
3.2 创建名为WordOp.cs的类文件
WordOp类主要用来对Word的操作, 即生成Word文件, 并且在生成的Word文件中插入指定数据的功能, 实现代码如下:
需要注意的是, 在填充书签数据时, 可以根据书签ID来判断书签的用途, 如果是用来显示照片的书签, 需要使用WordApp.ActiveDocument.Bookmarks.get_Item (ref bkmC) .Range.InlineShapes.AddPicture () 方法, 并为相片按照Word模板上需显示的大小设置高度和宽度。
3.3 将人员信息生成Word文件
获取Word模板的地址和Word模板的文件名。
string path=Server.MapPath ("当前路径") ;
string templatePath=path+"//Word模板名称";
建立WordOp类的实例。
调用WordOp类中的OpenTempelte () 方法, 把带Word模板名称的路径传给此方法。如:wop.OpenTempelte (templatePath) ;
调用WordOp类中的FillLable () 方法, 把书签ID和需要导入的数据传给此方法。如:wop.FillLable ("name", "张三") ;
如果要传图片数据, 就将图片的地址传递过去即可。
如:wop.FillLable ("PIC", "http”//…….jpg") ;
接下来调用WordOp类中的wop.SaveAs () 方法, 将已经把数据插入指定位置, 并且建立完成的Word文件命名, 存入指定的路径下。
如:wop.SaveAs (指定路劲+"Word文件名.doc", true) ;
最后调用WordOp类中的wop.Quit () 方法关闭系统对Word的调用。
如:wop.Quit () ;
这样就成功的将一份已经导入数据的Word文件建立在了指定的路径下;如果需要生成多份Word文件, 就把上述代码写在循环中即可。
3.4 将Word文件打包并下载
接下来是要将生成好的Word文件下载到本地PC机上。一般情况下, 如果下载的文件为单一文件, 都会很容易实现;然而下载文件为复数时, 一般的下载方法就不能应用了, 此时, 必须将文件进行压缩, 打包成一个RAR文件进行下载。这里需要运用WinRAR, 首先编写对WinRAR操作的方法CreateRar () 。
调用CreateRar () , 将要压缩的文件夹和文件夹压缩后的存放路径及名称作为参数, 传给此方法。
如:CreateRar (压缩文件路径) , 存放路径+"/Word.rar") ) ;
然后, 再将压缩好的Word.rar文件下载至本地PC机解压即可。最终Word文件的显示效果如图3所示。
在对批量的Word文件进行压缩时, 需要注意一点, 如果压缩文件数量过多, 系统会出现过长的命令运行时间, 有可能会误导用户, 使其产生系统功能出错或网速过慢的错觉。所以最好在系统进行压缩时, 在界面上显示等待提示, 在后台对文件压缩的时间进行判断, 用Sleep () 将系统挂起预计的时间, 这样做可大大降低系统出错的几率。
4 结尾语
由于Office办公软件被广泛使用, 所以在编写应用系统时, 很多功能都需要和Office组件进行结合开发来实现。上述内容只是针对了Office中的Word一项进行介绍, 然而还有很多种方法可以和Office中的任何功能进行结合或调用, 例如在Microsoft VisualStudio 2010中, 就专门提供了许多和Office的外接程序, 这些都需要在学习和实践中来慢慢掌握。
参考文献
[1]Asp.net下将页面内容导入到word模板中的方法[EB/OL].http://www.alixixi.com/program/a/2010111566128.shtml.
批量文件 篇9
为了解决上述问题, 很多人可能会选择运用AO接口, 编写一个工具实现批量转换。虽然这不失为一个好方法, 但是需要对庞大的AO接口非常熟悉的工程师才能以较快时间的开发出来, 对于一般人来说, 学习AO接口的成本实在太高了。该文介绍了一种非常简单高效的解决方法。
1 环境介绍
Python是一种面向对象的跨平台的解析性的脚本语言。Python具有脚本语言中最丰富和最强大的类库, 而且能把其他语言制作的各种模块轻松地联结在一起。Python非常简单易学, 开发效率极高。
arcpy是Arc GIS的一个Python包, 包含对地图操作和地图代数的支持, 支持编辑处理和几何操作。Python已经与Arc GIS高度集成, 方便实现GIS的各种处理流程。
2 实现方法
使用Python与arcpy库可以方便地实现图形文件的批量转换。如图1所示, 实现步骤大概可以分为5步, 首先收集整理MDB, 然后判断是否全部已经转换完毕, 如果没转换完毕, 则逐个调用自定义函数MDB2SHP进行转换, 最后将转换结果放到一个输出目录里。
2.1 收集整理MDB数据
将所有需要转换的MDB文件都放进一个文件夹里, 作为转换前准备。
2.2 导入arcpy库
在Python中操作使用Arc GIS的功能, 必须先导入Arc GIS提供的Python类库arcpy。arcpy库是Arc GIS产品自带的, 不需要额外安装。导入方法是:
import arcpy
2.3 文件转换
文件转换实现自定义了一个转换函数MDB2SHP, 从MDB文件转换到矢量文件s h p , 需要使用a r c p y库提供的Feature Class To Shapefile_conversion方法。该自定义函数的具体实现如下:
2.4 批量执行
批量执行就是运用目录遍历的方法, 逐个执行。在Python中, 内置了一个非常简单目录遍历方法os.walk () 。该函数会返回一个三元tupple (dirpath, dirnames, filenames) , 其中第一个为起始路径, 第二个为起始路径下的文件夹, 第三个是起始路径下的文件。然后利用for循环进行遍历。
3 测试与验证
该次测试在Arc GIS10.2.2环境下进行的。以湛江市地图为例,
有4个mdb文件, 分别为市镇乡线界.MDB, 地理环境.MDB, 地标.MDB, 渔业.MDB
运行脚本后, 得到很多shape文件, 加载这些shape文件后, 得到一个综合多种信息的地图, 如图2所示。
4 结语
该文介绍了一种利用Python和arcpy库快速开发批量图形文件转换的方法, 通过这个方法可以了解到Python的强大和灵活易用, 结合arcpy可以实现很多Arc GIS的功能和特性, 合理利用会对GIS开发效率提高极大的帮助。
摘要:在基于ARCGIS的地理信息系统的开发中, 有时需要把MDB空间数据库文件转换为shp格式文件, 传统调用工具箱进行转换的方法在转换量较多的时候显得十分麻烦。该文设计了一种使用Python脚本和arcpy库, 实现对MDB空间数据库文件的批量转换方法, 有效减轻人工转换的工作量, 又省去学习AO接口的麻烦。
关键词:arcpy,Python,批量转换
参考文献
[1]吴战克.基于Arc GIS10_1的区图层批处理合并[J].地理信息空间, 2015, 13 (4) :93-94.
[2]秦思娴.基于Python实现地理国情房屋建筑专题信息提取[J].测绘与空间地理信息, 2015, 38 (8) :1-3.
[3]朱道强, 关海涛.Python在Arc GIS中的应用[J].测绘与空间地理信息, 2013, 36 (7) :152-154.
批量文件 篇10
XPictureTool
XPictureTool是一款Chrome扩展,可以对当前页面进行筛选,保存指定大小的图片。只需在想要保存图片的页面点击位于扩展栏的XPictureTool按钮,选择合适的尺寸,就会筛选出合适尺寸的图片,再按“Ctrl+S”保存下来图片就会进入文件夹内。XPictureTool并没有在Chrome网上应用店中发布,下载crx后,打开Chrome的扩展页面(chrome://chrome/extensions/),将crx文件拖进去就可以了。
URLTransmit 网址传送
URLTransmit网址传送专门为iOS设计,可以从电脑端推送网址、短信内容、电话号码以及其他协议。通常从电脑传网址到iOS设备上是用邮件。使用URLTransmit可以通过浏览器、Chrome扩展来发送内容。推送到设备上的不同类型内容会打开相应程序。比如URL打开浏览器,短信直接打开短信并填写好内容,电话号码就直接拨号等。
通过“://”可以做很多种传送,如“facetime://xxxx@gmail.com”传送这个可以直接打对方的“Facetime”,又如“Path://”传送这个则可以快速打开“Path”应用程序。URLTransmit会为每个设备产生一个ID,并且可自定义英文昵称,从而使用类似“http://u.imtkoo.com/12345/name”这样的链接。如果别人知道自己的链接,就可以给自己推送消息,因此URLTransmit可以添加授权码,输入授权码后才可以发送消息。
Xiaowo在线视频软件缓存清理助手专家
Xiaowo在线视频软件缓存清理助手是一款能清理常用视频软件缓存的软件。这款软件目前支持PPS、PPTV、百度影音、快播Qvod、迅雷看看、腾讯视频六种常见在线视频软件。希望下个版本能做成一键清理,不需要每次选择清理哪一款软件的缓存。
Find Larger Images
Find Larger Images是款Chrome扩展,利用Google图片搜索到相似图片批量下载。很多人在网上搜索图片时经常会发现找到的图片分辨率不够高,或是图片网站印上了水印,这时如果自己去搜索大图会花去不少时间,效率也不高,有了Find Larger Images就能够轻松完成这项工作。