Cách đơn giản để fold liên tục bằng file .bat

Thảo luận trong 'FAH Technical Related' bắt đầu bởi VGT, 13/11/05.

  1. VGT

    VGT take a rest

    Bài viết:
    1,080
    Nơi ở:
    HCMC
    Chắc ai fold mà ko thường xuyên "trực máy" sẽ thường gặp tình trạng WU đã fold xong mà ko có mặt kịp thời để lắp WU mới. Có hai cách khắc phục:
    1. Fold nhiều con cùng lúc, cách này ko hay do hao RAM, dễ die các WU cùng lúc, lâu xong :D. Cách này ko có gì để bàn.

    2. Dùng file .bat. Cách này đơn giản mà cũng rất hiệu quả. Đại ý là làm 1 file .bat chứ các lệnh gọi fold liên tục ở các thư mục khác nhau. Các thư mục này phải chứa sẵn đầy đủ "đồ chơi" như core, wu, file config,file fah,...

    Chi tiết với trường hợp của tui như sau:
    Tui để 4 thư mục folding trong D:\F@H, lần lượt từ 1 tới 4. Sau đó lắp đạn, rùi làm file bat như sau:
    Theo đó, khi file bat được gọi, nó sẽ sẽ gọi fold WU trong F@H1, sau khi xong wu này thì Fah-console trong F@H1 sẽ tự close (do flag oneunit), sau đó file bat sẽ gọi fold tiếp WU trong F@H2, cứ tiếp tục cho tới khi hết. nếu có WU nào bị eue thì nó sẽ cũng tự đóng và file bat vẫn gọi wu tiếp theo, ko phải lo :)

    Ngoài cách làm trên còn có thể dùng vòng for hay task scheduler nhưng tui thấy ko cần thiết lắm, vì nếu ai rảnh copy-past rùi gài chừng vài chục WU là tha hồ chạy cả tháng :D

    PS: nếu cẩn thận có thể chèn các lệnh copy vào giữa những lần gọi fold để đưa các wu đã xong vào 1 chỗ, nói chung là còn rất nhiều cái có thể làm với file bat, khỏi mắc công lập trình :D
     
    :
  2. HanDuong

    HanDuong Active Member

    Bài viết:
    2,500
    Nơi ở:
    Lưu Tinh Hồ Điệp Kiếm
    ông ghi chi tiết cái FILE .bat của ông bằng NOTEPAD để anh em dễ nhìn và tham khảo đi thì tốt hơn
    :kiss: :kiss: :kiss:
     
  3. VGT

    VGT take a rest

    Bài viết:
    1,080
    Nơi ở:
    HCMC
    Thì cái phần quote là toàn bộ file bat của tui rồi còn gì :gaicam: Theo file đó thì nó sẽ chuyển qua thư mục F@H1, gọi fold, sau khi fold xong sẽ chuyển qua thư mục F@H2, gọi fold con kế, cứ tiếp tục tới khi hết thì dừng.
     
  4. cricketman

    cricketman take a rest

    Bài viết:
    3,175
    Nơi ở:
    somewhere btw hell and heaven
    cách cha naỳ coi bộ đơn giản và good à
     
  5. HATPHONG

    HATPHONG New Member

    Bài viết:
    335
    Good idea. Anh em nào đạn dược đầy đủ, muốn fold offline thì đây cũng là lựa chọn tốt.

    Thank Relith for sharing.
    :ak: :ak: :ak:
     
  6. VGT

    VGT take a rest

    Bài viết:
    1,080
    Nơi ở:
    HCMC
    Cách này có 1 cái dở, là nếu bạn đang fold con thứ 2, vì lý do gì đó mà tắt fold, thì khi chạy lại file bat nó sẽ gọi fold con 1, trong khi con 1 xong rùi --> nó gọi send --> nếu máy ko có net thì ko send được --> cứ chừ send hoài ko thể nào qua con 2.

    Cách khắc phục: làm 1 file FAH502-Console.exe "giả" (cùng tên và có cùng flag như file FAH thiệt, có thể viết dễ dàng bằng VC++, để sẵn ở đâu đó), ngay trước dòng gọi fold con tiếp theo, ta chèn thêm lệnh xóa file thiệt và chép file giả này vào thay thế (hoặc có thể rename, tùy thôi) vì nếu bạn ko có file giả, mà file thiệt bị xóa, thì file bat có thể fail và ngưng ngay --> ko gọi tiếp các lệnh sau được.

    Nếu gọi lại file bat khi đã fold nữa chừng, nó sẽ gọi fold WU đầu, nếu WU đầu đã xong, file giả đã được đưa vào thư mục của WU đó, file bat sẽ gọi file giả này, file giả này ko chạy gì hết (hoặc xuất thông báo gì đó rồi dừng) --> file bat sẽ gọi fold WU kế, cứ tiếp tục tới khi gặp file FAH thiệt (nghĩa là WU đó chưa fold xong) thì sẽ fold.

    Sau khi làm xong file FAH giả, có thể để cái file bat vào mục start-up. Sau đó vào CMOS chỉnh tự turn on (or last status) sau khi power-fail. Nghĩa là nếu đang fold mà cúp điện, khi có điện máy sẽ tự mở, file bat sẽ được gọi. Khi được gọi, file bat sẽ lần tới file FAH thiệt và fold tiếp ngay đúng con đang fold dở dang. Nếu WU đang fold dở dang bị corrput (do cúp điện) thì file bat sẽ tự tráo file giả vào chỗ WU đó (tương tự khi xong WU) rùi chuyển qua WU kế --> ko để phí chút thời gian nào.

    Mẹo: có thể chèn các lệnh gọi play nhạc ngay sau mỗi WU (sau dòng gọi file FAH.exe), để nếu fold xong hay bị đứt giữa chừng, nếu mình có mặt thì sẽ bít mà xử lý (vì khi fold ta thường tắt màn hình).
     
  7. HATPHONG

    HATPHONG New Member

    Bài viết:
    335
    Folding_Knights tòan là chuyên gia, PPD mà không cao mới lạ. Hehehe.
    :vgt:
     
  8. VGT

    VGT take a rest

    Bài viết:
    1,080
    Nơi ở:
    HCMC
    Tui mới nghĩ ra thui cha, hiện đang làm như post đầu, cái nội dung trong post 2 mới nghĩ ra hồi sáng, chưa thử nhưng theo lý thuyết là được :D
     
  9. VGT

    VGT take a rest

    Bài viết:
    1,080
    Nơi ở:
    HCMC
    Tui làm thử và thấy ko cần tạo file giả chi cho rườm rà, cứ việc rename or delete cái file fah khi fold xong wu thì lần gọi file bat sau nó sẽ ko chạy được lệnh đó --> chuyển qua lệnh kế (fold con kế)
     
  10. VGT

    VGT take a rest

    Bài viết:
    1,080
    Nơi ở:
    HCMC
    Tui nghe nói 1 số máy Dothan có đặc điểm là khi fold xong một WU thì phải restart rùi mới fold WU kế, nếu ko thì tốc độ fold sẽ giảm. Việc này cũng có thể làm tự động bằng file bat.
    Cách làm: Sau khi thêm vào các dòng rename, ta thêm vào các dòng gọi restart máy bằng lệnh shutdown (WinXP trở đi) với flag -r, sau đó bỏ file bat vào mục Startup là xong.

    Cụ thể như sau:
    Ngoài ra sau khi fold hết ta cũng có thể chèn các lệnh rename để đổi các file FAH lại như cũ, chuẩn bị cho lần chiến đấu kế tiếp.

    PS: các lệnh echo chỉ là để xuất câu thông báo cho dzui :D
     

Chia sẻ trang này