选取数百文件 只需三步操作
从上千名学生的电子照片库中快速选出报到了的且在本地学习的所有学生的照片,其余统统不要,你能做到吗?事情是这样的。本学期,学校录取了近千名学生,被录取的每名学生都有电子照片。但开学后,部分学生并未到校报到,且报到的学生有的被安排到外地学习。现在,上级要求在学籍管理系统中,上传每名学生的电子照片,如果重新采集学生的照片,难度很大。因此,学校决定上传已有的学生照片,但是必须去除未报到的和到外地学习的学生照片。
原先采集的学生照片全部保存在一个文件夹(文件夹是E:电子照片)中,共有近千份,照片以身份证号码命名,如图1所示。现在要从中筛选出数百个文件,筛选的依据是“新生登记表.xls”中的身份证号码。现在,要把电子表格中有名单人员的照片文件筛选出来,把没用的文件删除。要做到这一点,有些人
图1
想到了搜索的方法,但是这种方法太费时间。有没有更好的办法呢?办法是有的。
一、实现思路
第一步:列出文件名称。使用DOS命令,把所有的照片文件的文件名列出来,形成一个文本文件,再将文本文件的内容复制到Excel表格中;
第二步:进行比对。与学生登记表中的身份证号码进行比对,再通过排序,将符合和不符合的文件分开,选取不符合的文件名;
第三步:使用DOS命令,删除所有不符合的文件。
二、具体实现
第一步:获取所有文件的文件名
1. 打开“电子照片”文件夹,在地址栏中输入“c:windowssystem32cmd.exe”(如果是Windows 7系统,只需输入“cmd”即可)。
2. 输入命令:“DIR /O /B >LIST.TXT”,按回车键。这个命令的含义是:将该文件夹中所有文件的名称输送到LIST.TXT文本文件中。
3. 回到Windows 界面,打开“E:电子照片”文件夹,你会发现文件夹中多了一个文件LIST.TXT,打开该文件,结果如图2所示。
图2
4. 在LIST.TXT中,使用查找和替换的方法,删除所有的“.jpg”,方法如图3所示。
图3
第二步:数据对比
1. 打开“新生登记表.xls”。
2. 复制“LIST.TXT”中的所有内容,将其粘贴到Excel表中。注意:在粘贴之前,要先选定粘贴数据的列,将其数字格式设置为“文本”类型,否则粘贴后会出错。
3. 在B1单元格中,插入函数“=VLOOKUP(A1,[新生登记表.xls]sheet1!$A:$A,1,0)”,按回车键确认,本单元格中这个函数的作用含义是:在“新生登记表.xls”sheet1工作表的A列(这一区域),查找与A1单元格相同的内容,如果找到后,将该区域第1列的内容显示在当前单元格中,括号中最后一个数字“0”表示查找方式是精确查找,否则显示出错信息“#N/A”。注意:所查找的内容必须在选定区域的第一列,否则一定会找不到。(VLOOKUP函数在“查找与引用”类别中,可以通过对话框操作)。
4. 双击B1单元格的填充柄,复制公式。
5. 单击B列的有数据的单元格,单击“升序排序”按钮,结果如图4所示,其中“#N/A”表示没有找到。
图4
6. 选取没有找到的A列数据,即图4中“A469”之后的单元格,将其复制到空白表的A列。
7. 在C1单元格中输入“=A1&".jpg"”,即给A1单元格内文字的后面加上“.jpg”,双击C1单元格的填充柄,复制C1的公式到C列的其他单元格。
8. 在B1单元格内输入del,复制B1的内容到B列的其他单元格。结果如图5所示。
图5
第三步:删除所有不符合的文件
1. 复制B、C两列的内容,粘贴到记事本中,将文件保存为del.bat(bat为批处理文件,del为删除文件的意思,在“另存为”对话框中,“文件类型”要选“所有文件”),保存位置为“电子照片”文件夹。
2. 打开“电子照片”文件夹,双击del.bat,系统就会自动删除所有不符合要求的文件,留下的就是所需的文件了。注意:用这种方法删除的文件不会进入回收站,因此,不能恢复。
页:
[1]