Ebook Portable Softwares part 60

Chia sẻ: Asdasdsdqeqwdd Asdasdsadasd | Ngày: | Loại File: PDF | Số trang:6

0
32
lượt xem
2
download

Ebook Portable Softwares part 60

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'ebook portable softwares part 60', công nghệ thông tin, cơ sở dữ liệu phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Ebook Portable Softwares part 60

  1. ; Set default values for variables (Cho biến các giá trị mặc định) ; -------------------------------------------------------------------------- StrCpy "$PROGRAMEXE" "${EXE}" ; dùng thiết lập mặc định StrCpy "$PROGRAMPARMS" "" StrCpy "$SPLASHSCREEN" "enabled" ; cho phép splashscreen ; -------------------------------------------------------------------------- ; Kiểm tra cấu hình thư mục nào được dùng và thiết lập các biến theo đó ; -------------------------------------------------------------------------- IfFileExists "$EXEDIR\App\${APP}\$PROGRAMEXE" "" CheckPortableDIR StrCpy "$PROGRAMDIR" "$EXEDIR\App\${APP}" StrCpy "$DATADIR" "$EXEDIR\Data" Goto InitVarEnd CheckPortableDIR: IfFileExists "$EXEDIR\${PNAME}\App\${APP}\$PROGRAMEXE" "" CheckPortableAppsDIR StrCpy "$PROGRAMDIR" "$EXEDIR\${PNAME}\App\${APP}" StrCpy "$DATADIR" "$EXEDIR\${PNAME}\Data" Goto InitVarEnd CheckPortableAppsDIR: IfFileExists "$EXEDIR\PortableApps\${PNAME}\App\${APP}\$PROGRAMEXE" "" CheckAppsDIR StrCpy "$PROGRAMDIR" "$EXEDIR\PortableApps\${PNAME}\App\${APP}" StrCpy "$DATADIR" "$EXEDIR\PortableApps\${PNAME}\Data" Goto InitVarEnd CheckAppsDIR: IfFileExists "$EXEDIR\Apps\${PNAME}\${APP}\$PROGRAMEXE" "" NoDIR StrCpy "$PROGRAMDIR" "$EXEDIR\Apps\${PNAME}\${APP}" StrCpy "$DATADIR" "$EXEDIR\Data\${PNAME}" Goto InitVarEnd NoDIR: ; --------------------------------------------------------------------------
  2. ; Không tìm thấy cấu hình thư mục được cho phép nào ; -------------------------------------------------------------------------- MessageBox MB_OK|MB_ICONEXCLAMATION `$PROGRAMEXE không tìm thấy. Xin kiểm tra cấu hình của bạn` Abort ; kết thúc launcher InitVarEnd: ;kết thúc hàm FunctionEnd ; ****************************************************************** ******** ; * Hàm: Làm việc với các khóa hoặc cây registry (backup, restore, delete) ; ****************************************************************** ******** Function DoAction StrCmp "$ACTIONPARAMETERS" "" Sau vòng lặp ; nếu không có tham số nào thì thôi ngay StrCpy "$R8" "0" ; reset bộ đếm StrCpy "$R2" "$ACTION" 6 # ; chỉ lấy 6 ký tự đầu của hành động đc yêu cầu StrCmp "$R2" "Backup" "" GoOn ; sao lưu thư mục yêu cầu IfFileExists "$ACTIONDIRECTORY\*.*" GoOn ; tạo thư mục sao lưu nếu nó không tồn tại CreateDirectory $ACTIONDIRECTORY GoOn: StrCpy "$R0" "$ACTIONPARAMETERS" ; chép hằng số để làm việc đăng ký Loop: ; -------------------------------------------------------------------------- ; Lấy tham số đơn ra khỏi danh sách ; -------------------------------------------------------------------------- StrCmp "$R0" "" Sau vòng lặp ; không phân tích registry, khi không có khóa nào được đưa ra IntOp $R8 $R8 + 1 ; tăng bộ đếm ${WordFind} "$R0" "||" "+01" $R9 ; lưu tham số đầu tiên để đăng ký ${WordFind} "$R0" "||" "+02*}" $R0 ; xóa phần đầu tiên từ giá trị đã lưu StrCmp "$R0" "$R9" LastLoop ; nếu các giá trị đăng ký trùng nhau -> không còn delimiters
  3. Goto DoWork ; không xóa danh sách giá trị LastLoop: StrCpy "$R0" "" ; Nếu không có delimiter sẵn có thì làm trống rỗng các biến làm việc ; -------------------------------------------------------------------------- ;Quyết định làm gì với tham số ; -------------------------------------------------------------------------- DoWork: StrCpy "$R2" "$ACTION" "" -4 # ; lấy 7 ký tự cuối của biến hoạt động !ifdef REGKEYS StrCmp "$R2" "Keys" DoWorkRegistry ; hành động phải được thực hiện với registry !endif !ifdef SETTINGSFILES StrCmp "$R2" "File" DoWorkFiles ; hành động phải được thực hiện với file !endif !ifdef SETTINGSDIRS StrCmp "$R2" "Dirs" DoWorkDirectory ; hành động phải được thực hiện với các thư mục !endif Goto Continue ; có gì đó không xác định ; -------------------------------------------------------------------------- ; Thao tác với các khóa registry ; -------------------------------------------------------------------------- !ifdef REGKEYS DoWorkRegistry: StrCmp "$ACTION" "BackupKeys" BackupRegistryKey ; sao lưu khóa registry StrCmp "$ACTION" "RestoreKeys" RestoreRegistryKey ; phục hồi khóa registry, VD ghi chúng vào registry StrCmp "$ACTION" "DeleteKeys" DeleteRegistryKey ; Xóa các khóa registry Goto Continue ; có gì đó không xác định BackupRegistryKey: ${registry::KeyExists} "$R9" $R7 ; kiểm tra khóa registry có tồn tại hay không StrCmp "$R7" "0" 0 Continue ; khóa registry không tồn tại, không lưu lại gì cả
  4. ${registry::SaveKey} "$R9" "$ACTIONDIRECTORY\RegKey$R8.reg" "/G=1" $R7 ; Sao lưu khóa registry Sleep 50 Goto Continue RestoreRegistryKey: IfFileExists "$ACTIONDIRECTORY\RegKey$R8.reg" 0 Continue ; chỉ phục hồi nếu 1 file registry tồn tại ${registry::RestoreKey} "$ACTIONDIRECTORY\RegKey$R8.reg" $R7 ; Phục hồi các khóa registry đã lưu Sleep 50 Goto Continue DeleteRegistryKey: ${registry::DeleteKey} "$R9" $R7 ; Xóa khóa registry Sleep 50 Goto Continue !endif ; -------------------------------------------------------------------------- ; Thao tác với file ; -------------------------------------------------------------------------- !ifdef SETTINGSFILES DoWorkFiles: StrCmp "$ACTION" "BackupFile" BackupFile ; thực hiện sao lưu file StrCmp "$ACTION" "RestoreFile" RestoreFile ; phục hồi các file đã lưu, VD ghi nó vào máy host StrCmp "$ACTION" "DeleteFile" DeleteFile ; xóa file từ host computer BackupFile: IfFileExists "$R9" 0 Continue ; kiểm tra xem file có tồn tại hay không CopyFiles "$R9" "$ACTIONDIRECTORY\File$R8.dat" ; sao lưu file Goto Continue RestoreFile: IfFileExists "$ACTIONDIRECTORY\File$R8.dat" 0 Continue ; chỉ phục hồi khi file có sẵn CopyFiles "$ACTIONDIRECTORY\File$R8.dat" "$R9" ; phục hồi file Goto Continue
  5. DeleteFile: Delete "$R9" ; xóa file Goto Continue !endif ; -------------------------------------------------------------------------- ; Thao tác với thư mục ; -------------------------------------------------------------------------- !ifdef SETTINGSDIRS DoWorkDirectory: StrCmp "$ACTION" "BackupDirs" BackupDirectory ; sao lưu thư mục StrCmp "$ACTION" "RestoreDirs" RestoreDirectory ; phục hồi thư mục đã sao lưu, VD ghi nó vào máy host StrCmp "$ACTION" "DeleteDirs" DeleteDirectory ; xóa thư mục từ máy host BackupDirectory: IfFileExists "$R9\*.*" 0 Continue ; kiểm tra xem thư mục nguồn có tồn tại hay không IfFileExists "$ACTIONDIRECTORY\Dir$R8.dat" +2 0 ; thư mục đích có tồn tại hay không? CreateDirectory "$ACTIONDIRECTORY\Dir$R8.dat" ; tạo thư mục đích CopyFiles "$R9\*.*" "$ACTIONDIRECTORY\Dir$R8.dat" ; sao lưu thư mục Goto Continue RestoreDirectory: IfFileExists "$ACTIONDIRECTORY\Dir$R8.dat\*.*" 0 Continue ; kiểm tra xem các sao lưu có tồn tại không IfFileExists "$R9\*.*" +2 0 ; thư mục đích có tồn tại không CreateDirectory "$R9" ; create target directory CopyFiles "$ACTIONDIRECTORY\Dir$R8.dat\*.*" "$R9" ; phục hồi các thư mục Goto Continue DeleteDirectory: RMDir "/r" "$R9" ; xóa thư mục Goto Continue !endif ; -------------------------------------------------------------------------- ; End of Loop
Đồng bộ tài khoản