移至主內容
DarkRanger's Secret Area

主導覽

  • 首頁
  • 關於本站
  • Linux
  • 程式開發
  • N900
  • 譯文
  • 資訊技術辭典

文章分類

  • 影劇
  • 遊戲
  • 筆記
  • 雜文
  • 資訊技術
  • 站務訊息

最新內容

  • How-To:Linux 安裝 DevilutionX
  • 於 2012 年建立的一份音樂播放清單
  • How-To:Linux 安裝 Medal of Honor: Allied Assault
  • Fallout 4 (2015)
  • How-To:Linux 安裝 Blood
  • 《終極動員令》系列早期作品原始碼釋出
  • How-To:Linux 安裝 Doom 3
  • Nausicaä of the Valley of the Wind (1984)
  • Intel 內顯與 Linux 桌面死當問題排解
  • 《哥吉拉 -1.0》心得補遺

05/19/2012 筆記

發表日期:星期六, 05/19/2012 - 06:30,更新日期:星期六, 05/19/2012 - 06:44

話說 DR 今天在使用 Foremost 從某顆被格式化的硬碟救資料時,儘管它判讀 Microsoft Office 檔案格式的成功率已經算不小了,但仍然有不少檔案是以 *.ole 的副檔名被抓出來,因此要檢查出這些檔案的可用程度與確切的檔案類型就變得比較麻煩,如果檔案少一點還可以考慮一個個用應用軟體「硬開」,但當有幾千個檔案要檢查時,這樣做可是會死人的……

 

於是 DR 寫了一支 shell script,將所有 *.ole 檔案用 file 指令去檢查檔案類型,然後重新命名成適當的副檔名:

 

#!/bin/bash

total=0
doc=0
xls=0
ppt=0

for f in *.ole

do
       total=$(($total +1))

       cmd=$(file $f|grep "PowerPoint")
       cmd2=$(file $f|grep "Excel")
       cmd3=$(file $f|grep "Word")
        
       if [ "$cmd" != "" ]; then
           mv "$f" "$(basename "$f" .ole).ppt"
           ppt=$(($ppt +1))
       elif [ "$cmd2" != "" ]; then
           mv "$f" "$(basename "$f" .ole).xls"
           xls=$(($xls +1))
       elif [ "$cmd3" != "" ]; then
           mv "$f" "$(basename "$f" .ole).doc"
           doc=$(($doc +1))
       fi
done

echo "OLE files: $total"
echo "Identified DOC files: $doc"
echo "Identified XLS files: $xls"
echo "Identified PPT files: $ppt"
echo "Unidentified OLE files: $(($total-($doc+$xls+$ppt)))"

 

筆記