Trang 1 trên tổng số 6 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 52 kết quả

Đề tài: Batch script

  1. #1
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    Mặc định Batch script

    Câu lệnh return kq dùng để làm gì ?

    Thử với CT nKq.cpp sau:
    C Code:
    1. #include <stdio.h>
    2.  
    3. int main() {
    4.     int n;
    5.     printf("Want to get results returned : "); scanf ("%d", &n);
    6.     if(n < 0) return -1;
    7.     if(n > 0) return 1;
    8.     return 0;
    9. }
    biên dịch thu được nKq.exe

    Script để kiểm thử - runKq.bat file
    Batch Code:
    1. @echo off
    2. nKq.exe
    3.  
    4. echo.
    5. echo =================
    6. echo.
    7.  
    8. IF %ERRORLEVEL% EQU 0 (
    9.    echo It work OK
    10. ) else IF %ERRORLEVEL% EQU 1 (
    11.    echo It has problem, return 1
    12. ) else (
    13.   echo It has problem, have error, return -1
    14.   rem del nKq.exe
    15. )
    16. pause

    để đơn giản bạn đặt batch file cùng thư mục với nKq.exe rồi chạy nó (runKq.bat).

  2. #2
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    return ở đây là lệnh trả về kết quả cho HDH, trong hàm Main/main - entry point

    các lệnh (keyword) trong batch không nhiều, kém các script khác, trong Windows nó kém so trong Linux



    Biết dùng nó cũng có ích cho công việc, kể cả cho LTV

    Xem thêm:
    http://diendan.congdongcviet.com/threads/t400627::script-and-interpret.cpp

  3. #3
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    Chán nhỉ !
    Cao không với, thấp không cúi.

  4. #4
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    Trong trường hợp cần thay đổi nội dung file, người ta cần thay đổi thuộc tính (attrib) của nó

    Bat Code:
    1. @echo off
    2. copy grldr c:\ /y
    3. copy menu.lst c:\ /y
    4. copy firadisk.gz c:\ /y
    5. attrib -r -s -h c:\boot.ini
    6. copy c:\boot.ini c:\boot.bak /y
    7. echo C:\grldr="Start Hirens BootHDD" >> c:\boot.ini
    8. attrib +r +s +h c:\boot.ini
    9. pause
    10. exit
    Toán tử >> là append.

  5. #5
    Ngày gia nhập
    11 2013
    Bài viết
    510

    Xuất danh sách MAC Address trong cùng mạng LAN:

    Code:
    arp -a >> listMAC.txt
    Xem thông tin Ip:
    Code:
    ipconfig /all >> Info.txt
    Thay đổi thuộc tính file:
    Code:
    attrib +r +h +s +a file_path
    // r: readonly
    // h: hidden
    // s: system file type
    // a: archive
    // +/-: set / unset

  6. #6
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    Mặc định Batch script

    Rất tốt

    Trong batch còn có thể dùng vòng lặp, loop, ...

    Ai biết cứ đóng góp.

  7. #7
    Ngày gia nhập
    11 2013
    Bài viết
    510

    Đang nghe nhạc trước khi đi ngủ mà muốn tự tắt máy sau 30 phút:
    Code:
    shutdown -s - t 1800
    // s: shutdown /r: restart
    // 1800 : 30 phút * 60
    Muốn huỷ:
    Code:
    shutdown -a
    //a : abort

  8. #8
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    Một số CT setup, Install cũng dùng Batch trong tiến trình khác nhằm dọn rác, xóa bộ cài đặt, ...

    Viết CT nghe nhạc tích hợp nó, gán các thông số để hẹn giờ tắt máy theo #7 cũng thú vị.

  9. #9
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    897

    Trích dẫn Nguyên bản được gửi bởi Monre Xem bài viết
    Một số CT setup, Install cũng dùng Batch trong tiến trình khác nhằm dọn rác, xóa bộ cài đặt, ...
    Trước đây cũng có lúc tôi tự hỏi : Một chương trình Uninstanll thực hiện thủ thuật gì để tự tháo bỏ nó khỏi máy tính. Tôi đã thử nhiều cách nhưng vẫn chưa có lời giải, có lẽ đây là một hướng. Monre hay bạn nào khác có thể phân tích thêm, 1 tập tin lô khi chạy có thể tự xóa chính bản thân nó không. Có thể cái cần ở ngay trước mắt mà ta cứ tìm kiếm xa xôi.

    Tìm hiểu lại cái đã qua hàng chục năm cũng vẫn không thừa nhỉ.

  10. #10
    Ngày gia nhập
    08 2017
    Bài viết
    2,497

    1 tập tin lô khi chạy có thể tự xóa chính bản thân nó không ? Gọi Del / Erase

    Bat Code:
    1. del /?
    2. del abc.ext

    Được dễ thôi, khi nó chạy nó mở một tiến trình batch khác, batch đó dùng vòng lặp (while(true)) chạy để xóa ngay cả tập tin exe, và nó tự sát để bịt đầu mối là bình thường.

    unInstall cũng vậy, nó xóa các file, xóa Registry - trường hợp này dùng công cụ thì tiện hơn (ex. InnoSetup)
    Đã được chỉnh sửa lần cuối bởi Monre : 09-12-2017 lúc 04:32 PM.

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn