跳到主要內容

發表文章

目前顯示的是 4月, 2012的文章

利用保存屬性來做實體檔案的差異性備份

先來談談iwndows裡檔案的保存屬性 利用滑鼠右鍵點選[內容]查看檔案的屬性時,在屬性可以看到[唯讀][隱藏]之外還可以點選[進階]按鈕, 其中「檔案已經可以開始封存」就是以前看到的「保存」屬性。 如果在DOS環境下指令attrib,檔名的前面出現「A」就是有「保存」屬性。 而「保存」屬性出現的時機是: 1. 檔案新建立 2. 檔案被變更過內容 因此系統給予此檔案A屬性,就等於告訴備份指令XCOPY或備份軟體,這個檔案需要被備份。 所以,我們可以透過這個屬性來進行檔案的增量式(Incremental)備份與差異式(Differential)備份。 將Files底下所有有異動過的檔案,複製到diff資料夾底下,並且取消此檔案的A屬性。 xcopy "C:\Files\*.*" c:\diff /s/d/y/M 如果我們在這個異動之後將diff資料夾內的所有東西都搬走,我們做的就是差異性備份,如果不搬走讓他一直累積就是增量式備份。 XCOPY 指令 XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z]\r\r [/EXCLUDE:file1[+file2][+file3]...] source 指定要複製的檔案。 destination 指定位置或者/以及新檔案的名稱。 /A 只複製設定成保存屬性的檔案,不要改變屬性的設定。 /M 只複製設定成保存屬性的檔案,並清除保存屬性。 /D:m-d-y 複製在指定日期當天或之後發生變更的檔案。如果沒有給日期, 只複製那些來源檔案日期比目的檔案日期為新的檔案。 /EXCLUDE:file1[+file2][+file3]... 指定檔案清單字串。每個

C# 開啟Raw檔案

朋友問raw格式的影像該怎麼用程式show出來看? 因為是影像處理的入門問題,所以當然不能先透過影像處理軟體處理好再丟到程式裡面show出來,剛剛完成,就把重點節錄下來。 重點是Bitmap的圖示矩陣式的,而Raw是線性的的正矩形圖片,長、寬要自己利用開更號方式計算,再一個像素一個像素塞回去。 private void button1_Click(object sender, System.EventArgs e) { int rawSize; Bitmap bm; openFileDialog1.Filter = "RAW files (*.raw)|*.raw|BMP files (*.bmp)|*.bmp|JPEG files (*.jpg)|*.jpg|TIFF files (*.tif)|*.tif"; if (openFileDialog1.ShowDialog()==DialogResult.OK) { if (openFileDialog1.FileName.Substring(openFileDialog1.FileName.Length-3,3) =="raw") { FileStream infile = File.Open(openFileDialog1.FileName, FileMode.Open,FileAccess.Read, FileShare.Read); this.textBox1.Text = openFileDialog1.FileName; rawSize = (int)Math.Sqrt(infile.Length); bm = new Bitmap(rawSize,rawSize); BinaryReader tmpBReader = new BinaryReader(infile); byte buff; for (int i=0; i < rawSize; i++ ) { for (int j=0; j < rawSize; j++ ) { buff = tmpBReader.ReadB