從上千名學生的電子照片庫中快速選出報到了的且在本地學習的所有學生的照片,其余統統不要,你能做到嗎?
事情是這樣的。本學期,學校錄取 了近千名學生,被錄取的每名學生都有電子照片。但開學後,部分學生並未到校報到,且報到的學生有的被安排到外地學習。現在,上級要求在學籍管理系統中,上 傳每名學生的電子照片,如果重新采集學生的照片,難度很大。因此,學校決定上傳已有的學生照片,但是必須去除未報到的和到外地學習的學生照片。
原 先采集的學生照片全部保存在一個文件夾(文件夾是E:\電子照片)中,共有近千份,照片以身份證號碼命名,如圖1所示。現在要從中篩選出數百個文件,篩選 的依據是“新生登記表.xls”中的身份證號碼。現在,要把電子表格中有名單人員的照片文件篩選出來,把沒用的文件刪除。要做到這一點,有些人想到了搜索 的方法,但是這種方法太費時間。有沒有更好的辦法呢?辦法是有的。
一、實現思路
第一步:列出文件名稱。使用DOS命令,把所有的照片文件的文件名列出來,形成一個文本文件,再將文本文件的內容復制到Excel表格中;
第二步:進行比對。與學生登記表中的身份證號碼進行比對,再通過排序,將符合和不符合的文件分開,選取不符合的文件名;
第三步:使用DOS命令,刪除所有不符合的文件。
二、具體實現
第一步:獲取所有文件的文件名
1. 打開“電子照片”文件夾,在地址欄中輸入“c:\windows\system32\cmd.exe”(如果是Windows 7系統,只需輸入“cmd”即可)。
2. 輸入命令:“DIR /O /B >LIST.TXT”,按回車鍵。這個命令的含義是:將該文件夾中所有文件的名稱輸送到LIST.TXT文本文件中。
3. 回到Windows 界面,打開“E:\電子照片”文件夾,你會發現文件夾中多了一個文件LIST.TXT,打開該文件,結果如圖2所示。
4. 在LIST.TXT中,使用查找和替換的方法,刪除所有的“.jpg”,方法如圖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”表示沒有找到。
6. 選取沒有找到的A列數據,即圖4中“A469”之後的單元格,將其復制到空白表的A列。
7. 在C1單元格中輸入“=A1&".jpg"”,即給A1單元格內文字的後面加上“.jpg”,雙擊C1單元格的填充柄,復制C1的公式到C列的其他單元格。
8. 在B1單元格內輸入del,復制B1的內容到B列的其他單元格。結果如圖5所示。
第三步:刪除所有不符合的文件
1. 復制B、C兩列的內容,粘貼到記事本中,將文件保存為del.bat(bat為批處理文件,del為刪除文件的意思,在“另存為”對話框中,“文件類型”要選“所有文件”),保存位置為“電子照片”文件夾。
2. 打開“電子照片”文件夾,雙擊del.bat,系統就會自動刪除所有不符合要求的文件,留下的就是所需的文件了。注意:用這種方法刪除的文件不會進入回收站,因此,不能恢復。
本文來自於【系統之家】 www.xp85.com