首先表明,這是一個悲傷的故事。
暑假來臨,學校安排我們到某軟件外包公司實習,想想不用面試也是蠻方便的,可以借此機會向大牛學習學習,雖然沒有工資(據說學校還交了600塊的保險),但想想還是蠻期待的,但真正到公司就懵逼了~技術人員都不在好不好!職位都安排好了,什麼人力資源,經營管理,還有財務管理之類,做培訓的,但沒有一個寫代碼的啊!
我被分到了經營管理部門,每天接觸的是各種合同審批,合同掃描,合同蓋章,合同... 總之圍著合同團團轉,打雜遠遠多於學習。想想如果沒有我們那些公司的人也要處理如此重復無聊的工作,真是讓我對工作有點抗拒了。
不閒扯了,我遇到了這麼一個問題。公司合同文本在存檔前都要掃描到計算機上然後上傳到公司系統。 所有掃描完的合同都存在一個文件夾裡,當初掃描時為了方便統一命名為
"CD+年份+月份+合同編號.pdf";例如15年7月的第10份合同命名為“CD1507010.pdf”。每個月合同大概有300份左右。為了上傳到系統,有兩種方法,一種是一份一份上傳到系統,一種是在本地重命名好打包發送到系統。 手工操作的話,無論哪一種都耗時在一個小時以上。如此重復無聊的工作,簡直讓人奔潰。對於第一種方法,由於不了解系統,我沒有做更多深究,我著重考慮第二種方法。在本地重命名規則是將原來的pdf文件放置在"文件名+C"的文件夾下,並且重命名為HTWB.pdf。
本著重復工作盡量交給計算機去做的原則,我考慮用自己所學的php語言來解決問題。(不知道其他語言是否更加高效,但這明顯要比純手工更高效)。
公司電腦配置為win7系統,雖說是一家軟件公司,但是非研發部門的計算機水平和一般公司的無異。考慮到操作人員的計算機相關知識,也考慮到實現的便捷性,我沒有安裝Apache服務器甚至也沒有啟動Windows自帶的IIS,直接利用命令行進行操作。
名為htzy.php的腳本如下:
<?php $path=dirname(__FILE__); $handle=opendir($path); while (!($item=readdir($handle))==false) { if ($item!='.'&&$item!='..'&&$item!='htzy.php') { $arr=explode('.', $item); $dirname=$arr[0].'C'; mkdir($path.'/'.$dirname); rename($path.'/'.$item,$path.'/'.$dirname.'/HTWB.pdf' ); } } unlink('./htzy.php'); ?>
將此文件放置在要處理的文件夾下,在文件夾打開命令行窗口,輸入
php -f htzy.php
稍等幾秒就好。
簡單利用 mkdir() rename()函數完成文件轉移,最後利用unlink刪除腳本,所以,要重復利用此腳本的話需要保存好它~
至此,文件遷移重命名完成。
Knowledge is power~