FILE .BAT LÀ GÌ? TẠO FILE BAT SỬA LỖI THÔNG DỤNG TỰ ĐỘNG

Tập tin Batch (.bat) là cách để thực thi các công việc trên máy tính một cách tự động. Bạn có thể tự động hóa các tác vụ hàng ngày, rút ngắn thời gian cần thiết khi làm việc nào đó, và biến một quá trình phức tạp thành điều gì đó mà bất cứ ai cũng có thể làm được. Từ khi chương trình như AutoHotkey ra đời, nhiều người đã không muốn mất thời gian để viết hay tìm hiểu về tập tin .bat, thậm chí họ không biết những gì mà nó có thể làm. Nhưng lợi ích mà những tập tin .bat mang lại thì vẫn rất to lớn.

Giả sử bạn thường xuyên gặp các vấn đề về mạng, và luôn phải mở hộp thoại command prompt để nhập vào các lệnh như ipconfig /release, /renew hay cần xóa file tạm %temp%… Trong khi đó, chỉ cần một file BAT đơn giản sẽ giúp công việc này hiệu quả hơn, bạn còn có thể dùng file này cho tất cả các máy tính khác nếu muốn.

Có rất nhiều ứng dụng của .bat file tùy theo nhu cầu và sáng tạo của mỗi quản trị viên. Có rất nhiều  batch file được viết dựa trên Wmic ( để hiểu hơn về Wmic các bạn xem bài viết tại đây) . Bây giờ chúng ta sẽ bắt đầu đi vào cấu trúc cơ bản của batch file nhé, cuối bài sẽ là 1 file .bat khá bự cho các IT Guy hỗ trợ người dùng tự động đơn giản và nhanh chóng hơn!

Bước 1: Tạo file BAT

Đầu tiên bạn tạo một text document mới trên desktop của mình (chuột phải chọn New > text document). Kích đúp chuột để mở file này, vào menu File > Save As…, tại cửa sổ Save As bạn nhập tên cho tập tin và thêm đuôi “.bat” (không có dấu nháy kép). Ví dụ chúng tôi đặt tên là testBAT.bat.

Tiếp theo, tại phần Save as Type chọn All Files (thay cho Text Document (*.txt)), kích Save để lưu lại.

Hướng dẫn sử dụng và tạo file BAT trên WindowsBước 2: Một số code cơ bản

Nếu bạn đã biết cách chạy những dòng lệnh trong command prompt, bạn sẽ có một Wiz cho việc tạo file BAT bởi chúng có cùng một thứ ngôn ngữ. Tất cả những gì bạn cần làm là “nói” cho command prompt biết rằng bạn muốn đặt các lệnh trong cùng một file, thay vì gõ chúng mỗi khi chạy command prompt. Điều này không những giúp bạn tiết kiệm thời gian và công sức mà còn cho phép đưa vào một số logic (như vòng lặp đơn giản, câu lệnh có điều kiện…) đó là những thủ tục có khả năng lập trình về mặt khái niệm.

Sau đây là 7 lệnh đơn giản mà bạn nên biết:

  • TITLE: tên cửa sổ cho tập tin BAT.
  • ECHO: lệnh in của file BAT. Bất cứ điều gì sau ECHO sẽ được hiển thị trong command prompt (như văn bản) trên từng dòng.
  • ECHO OFF: lệnh này thường được đặt trên đầu của file BAT. Khi chạy file BAT có lệnh này, các lệnh phía dưới ECHO OFF sẽ không được hiển thị (tức là chỉ có nội dung, không cho biết lệnh nào được dùng).
  • PAUSE: khi sử dụng lệnh này, một thông báo “press any key to continue…” sẽ hiển thị trên màn hình, toàn bộ lệnh trong file BAT sẽ tạm dừng cho đến khi bạn nhấn phím bất kỳ để khởi động lại. Bằng cách này bạn sẽ có cơ hội nhìn thấy những gì đang diễn ra trên màn hình.
  • CLS: làm sạch màn hình cửa sổ DOS (rất hữu ích khi chúng trở nên dày đặc và lộn xộn).
  • IPCONFIG: thông tin về mạng hiển thị trên DOS (rất hữu ích đối với các nhà quản trị mạng).
  • PING: ping đến địa chỉ IP, cho biết bạn có thể liên hệ với máy tính đó hay không. Lệnh này cũng trả về độ trễ (ping time) và mặc định sẽ ping 3 lần.

Bước 3: Một số logic

Chúng ta cần lập kế hoạch cho chương trình của mình. Bất kỳ một nhà lập trình giỏi nào cũng suy nghĩ về khuôn khổ chung của công việc trước khi tiến hành đánh dấu gạch ngang vào những gì cần làm. Điều này giúp ngăn ngừa những sai lầm logic rất khó thực hiện lại.

Đối với chương trình trong bài viết này, chúng ta cần kiểm tra hệ thống mạng máy tính và những thiết lập internet với lệnh “ipconfig /all”, sau đó rà soát thông tin. Cuối cùng ping tới google.com để tìm hiểu xem chúng ta thực sự có quyền truy cập internet. Nếu mọi thứ đều tốt đẹp, ta sẽ cho tạm dừng chương trình.

Bước 4: Viết nội dung cho file BAT

Để chỉnh sửa nội dung cho tập tin .bat, kích chuột phải vào đó chọn “edit”. File BAT sẽ được mở bằng trình soạn thảo Notepad, ở đây bạn sẽ thấy một trang trống và sẵn sàng cho chúng ta nhập nội dung vào đó.

(Mỗi lệnh sẽ có dòng chú thích dạng CODE ::Comment, với phần in đậm là câu lệnh mà ta sử dụng).

ECHO OFF ::CMD se khong hien thi lenh nao duoc thu thi phia duoi. ECHO  Demo tao file BAT :: In ra dong van ban IPCONFIG /ALL :: Hien thi thong tin ve mang tren cua so command prompt PAUSE :: Tam dung thuc thi cac lenh khac de nguoi dung xem cac thong tin quan trong. PING http://www.google.com :: Ping toi trang Google.com ECHO Toan bo thong tin ve Google Ping duoc. ::In ra dong van ban PAUSE :: Cho phep nguoi dung xem ket qua. Boi vi day la dong lenh cuoi cung nen sau khi nhan phim bat ky, cua so command se duoc dong lai.

Bước 5: Chạy file BAT vừa tạo

Sau khi chèn nội cung cho file BAT, bạn lưu lại rồi kích đúp chuột vào đó để chạy file bat. Màn hình sẽ hiển thị kết quả như sau:

ậy là bạn đã thành công!

Nếu muốn chỉnh sửa file BAT hãy mở file BAT bằng Notepad bằng cách chuột phải lên file BAT, chọn Open with > Notepad là được.

Tìm hiểu thêm về file BAT

Nếu bạn muốn tìm hiểu thêm về các file BAT, có thể xem các lệnh có sẵn tại đây. Sau đó bạn có thể viết các chương trình riêng cho mình hoặc tham khảo các ví dụ có sẵn tại đây.

Sử dụng các tập tin BAT là giải pháp thực sự hữu ích để chạy các chương trình (chẳng hạn như Java) chỉ với một dòng lệnh, giúp tiết kiệm thời gian thay vì phải gõ các dòng lệnh từ đầu. Sau khi nắm rõ được cách thức hoạt động và các lệnh của nó, người dùng có thể dễ dàng tạo cho mình những file phục vụ cho công việc riêng của mình một cách nhanh chóng.

Đoạn cuối mình gửi các bạn đoạn code có các option để user lựa chọn và chạy theo kịch bản nhé!

Chúc mọi người thành công !

REM –add the following to the top of your bat file–

@echo off

:: BatchGotAdmin :————————————- REM –> Check for permissions >nul 2>&1 “%SYSTEMROOT%\system32\cacls.exe” “%SYSTEMROOT%\system32\config\system”

REM –> If error flag set, we do not have admin. if ‘%errorlevel%’ NEQ ‘0’ ( echo Requesting administrative privileges… goto UACPrompt ) else ( goto gotAdmin )

:UACPrompt echo Set UAC = CreateObject^(“Shell.Application”^) > “%temp%\getadmin.vbs” set params = %*:”=”” echo UAC.ShellExecute “cmd.exe”, “/c %~s0 %params%”, “”, “runas”, 1 >> “%temp%\getadmin.vbs”

“%temp%\getadmin.vbs” del “%temp%\getadmin.vbs” exit /B

:gotAdmin pushd “%CD%” CD /D “%~dp0” :————————————–

@echo off title PC FAQ MINH PHUONG LOGISTICS VERSION 1

:menu cls echo ——————————————————————————– echo PC Cleanup Utility – Sua cac loi thong dung echo ——————————————————————————– echo. echo Select a tool – Chon yeu cau sua loi echo ============= echo. echo [1] Delete Internet Cookies – Sua cac loi dang nhap Website echo [2] Delete Temporary Internet Files -Tang toc duyet Web echo [3] Disk Cleanup – Tang toc do may tinh echo [4] Disk Defragment – Chong phan manh o cung echo [5] Delete Temporary Files – Xoa Files tam giup nhe may echo [6] Reset Internet – Sua loi mat ket noi Internet echo [7] Re-mapping Drive – Ket noi lai o dia chia se echo [8] Restart PC – Fix cac loi treo may, update echo [9] Exit – Thoat echo. set /p op=Run: if %op%==1 goto 1 if %op%==2 goto 2 if %op%==3 goto 3 if %op%==4 goto 4 if %op%==5 goto 5 if %op%==6 goto 6 if %op%==7 goto 7 if %op%==8 goto 8 if %op%==9 goto exit goto error :1 cls echo ——————————————————————————– echo Delete Internet Cookies echo ——————————————————————————– echo. echo Deleting Cookies… ping localhost -n 3 >nul del /f /q “%userprofile%\Cookies\*.*” cls echo ——————————————————————————– echo Delete Internet Cookies echo ——————————————————————————– echo. echo Cookies deleted. echo. echo Press any key to return to the menu. . . pause >nul goto menu :2 cls echo ——————————————————————————– echo Delete Temporary Internet Files echo ——————————————————————————– echo. echo Deleting Temporary Files… ping localhost -n 3 >nul del /f /q “%userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*” cls echo ——————————————————————————– echo Delete Temporary Internet Files echo ——————————————————————————– echo. echo Temporary Internet Files deleted. echo. echo Press any key to return to the menu. . . pause >nul goto menu :3 cls echo ——————————————————————————– echo Disk Cleanup echo ——————————————————————————– echo. echo Running Disk Cleanup… ping localhost -n 3 >nul if exist “C:\WINDOWS\temp”del /f /q “C:WINDOWS\temp\*.*” if exist “C:\WINDOWS\tmp” del /f /q “C:\WINDOWS\tmp\*.*” if exist “C:\tmp” del /f /q “C:\tmp\*.*” if exist “C:\temp” del /f /q “C:\temp\*.*” if exist “%temp%” del /f /q “%temp%\*.*” if exist “%tmp%” del /f /q “%tmp%\*.*” if not exist “C:\WINDOWS\Users\*.*” goto skip if exist “C:\WINDOWS\Users\*.zip” del “C:\WINDOWS\Users\*.zip” /f /q if exist “C:\WINDOWS\Users\*.exe” del “C:\WINDOWS\Users\*.exe” /f /q if exist “C:\WINDOWS\Users\*.gif” del “C:\WINDOWS\Users\*.gif” /f /q if exist “C:\WINDOWS\Users\*.jpg” del “C:\WINDOWS\Users\*.jpg” /f /q if exist “C:\WINDOWS\Users\*.png” del “C:\WINDOWS\Users\*.png” /f /q if exist “C:\WINDOWS\Users\*.bmp” del “C:\WINDOWS\Users\*.bmp” /f /q if exist “C:\WINDOWS\Users\*.avi” del “C:\WINDOWS\Users\*.avi” /f /q if exist “C:\WINDOWS\Users\*.mpg” del “C:\WINDOWS\Users\*.mpg” /f /q if exist “C:\WINDOWS\Users\*.mpeg” del “C:\WINDOWS\Users\*.mpeg” /f /q if exist “C:\WINDOWS\Users\*.ra” del “C:\WINDOWS\Users\*.ra” /f /q if exist “C:\WINDOWS\Users\*.ram” del “C:\WINDOWS\Users\*.ram”/f /q if exist “C:\WINDOWS\Users\*.mp3” del “C:\WINDOWS\Users\*.mp3” /f /q if exist “C:\WINDOWS\Users\*.mov” del “C:\WINDOWS\Users\*.mov” /f /q if exist “C:\WINDOWS\Users\*.qt” del “C:\WINDOWS\Users\*.qt” /f /q if exist “C:\WINDOWS\Users\*.asf” del “C:\WINDOWS\Users\*.asf” /f /q :skip if not exist C:\WINDOWS\Users\Users\*.* goto skippy /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.zip del C:\WINDOWS\Users\Users\*.zip /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.exe del C:\WINDOWS\Users\Users\*.exe /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.gif del C:\WINDOWS\Users\Users\*.gif /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.jpg del C:\WINDOWS\Users\Users\*.jpg /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.png del C:\WINDOWS\Users\Users\*.png /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.bmp del C:\WINDOWS\Users\Users\*.bmp /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.avi del C:\WINDOWS\Users\Users\*.avi /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.mpg del C:\WINDOWS\Users\Users\*.mpg /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.mpeg del C:\WINDOWS\Users\Users\*.mpeg /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.ra del C:\WINDOWS\Users\Users\*.ra /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.ram del C:\WINDOWS\Users\Users\*.ram /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.mp3 del C:\WINDOWS\Users\Users\*.mp3 /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.asf del C:\WINDOWS\Users\Users\*.asf /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.qt del C:\WINDOWS\Users\Users\*.qt /f /q if exist C:\WINDOWS\Users\AppData\Temp\*.mov del C:\WINDOWS\Users\Users\*.mov /f /q :skippy if exist “C:\WINDOWS\ff*.tmp” del C:\WINDOWS\ff*.tmp /f /q if exist C:\WINDOWS\ShellIconCache del /f /q “C:\WINDOWS\ShellI~1\*.*” cls echo ——————————————————————————– echo Disk Cleanup echo ——————————————————————————– echo. echo Disk Cleanup successful! echo. pause goto menu :4 cls echo ——————————————————————————– echo Disk Defragment echo ——————————————————————————– echo. echo Defragmenting hard disks… ping localhost -n 3 >nul defrag d: /a pause echo ——————————————————————————– echo Disk Defragment echo ——————————————————————————– echo. echo Disk Defrag successful! echo. pause goto menu :error cls echo Command not recognized. ping localhost -n 4 >nul goto menu :5 cls echo ——————————————————————————– echo Delete Temporary Files echo ——————————————————————————– echo. echo Deleting Temporary Files… ping localhost -n 3 >nul del /s /f /q %windir%\temp\*.* rd /s /q %windir%\temp md %windir%\temp del /s /f /q %windir%\Prefetch\*.* rd /s /q %windir%\Prefetch md %windir%\Prefetch del /s /f /q %windir%\system32\dllcache\*.* rd /s /q %windir%\system32\dllcache md %windir%\system32\dllcache del /s /f /q “%SysteDrive%\Temp”\*.* rd /s /q “%SysteDrive%\Temp” md “%SysteDrive%\Temp” del /s /f /q %temp%\*.* rd /s /q %temp% md %temp% del /s /f /q “%USERPROFILE%\Local Settings\History”\*.* rd /s /q “%USERPROFILE%\Local Settings\History” md “%USERPROFILE%\Local Settings\History” del /s /f /q “%USERPROFILE%\Local Settings\Temporary Internet Files”\*.* rd /s /q “%USERPROFILE%\Local Settings\Temporary Internet Files” md “%USERPROFILE%\Local Settings\Temporary Internet Files” del /s /f /q “%USERPROFILE%\Local Settings\Temp”\*.* rd /s /q “%USERPROFILE%\Local Settings\Temp” md “%USERPROFILE%\Local Settings\Temp” del /s /f /q “%USERPROFILE%\Recent”\*.* rd /s /q “%USERPROFILE%\Recent” md “%USERPROFILE%\Recent” del /s /f /q “%USERPROFILE%\Cookies”\*.* rd /s /q “%USERPROFILE%\Cookies” md “%USERPROFILE%\Cookies” cls echo ——————————————————————————– echo Delete Temporary Files echo ——————————————————————————– echo. echo Temporary Files deleted. echo. echo Press any key to return to the menu. . . pause >nul goto menu :6 cls echo ——————————————————————————– echo Reset Internet echo ——————————————————————————– echo. echo Reseting Internet… ping localhost -n 3 >nul ipconfig /release ipconfig /renew ipconfig /flushdns ipconfig /registerdns netsh dump nbtstat -R netsh int ip reset reset.log netsh winsock reset pause echo ——————————————————————————– echo Reset Network echo ——————————————————————————– echo. echo Reset Network successful! echo. pause goto menu :7 cls reg add “HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System” /v “EnableLinkedConnections” /t REG_DWORD /d 0x00000001 /f net stop LanmanWorkstation net start LanmanWorkstation start za.bat echo ——————————————————————————– echo Re-Mapping Shared Drive… echo ——————————————————————————– echo. echo Re-Mapping Successful! echo. pause goto menu :error cls echo Command not recognized. ping localhost -n 4 >nul goto menu

:8 cls shutdown -f -r -t 0 echo ——————————————————————————– echo Restarting PC … echo ——————————————————————————– echo. echo Restart PC Successful! echo. pause goto menu :error cls echo Command not recognized. ping localhost -n 4 >nul goto menu :exit echo Thanks for using PC Cleanup Utility from MPL IT ping 127.0.0.1 >nul exit

Ông Công Ông Táo 23 tháng Chạp năm Kỷ Hợi 2019

Share this:

  • Twitter
  • Facebook
Like Loading...

Từ khóa » File đuôi Bat