5 câu lệnh IF để sử dụng cho tập lệnh hàng loạt của Windows thông minh hơn

5 câu lệnh IF để sử dụng cho tập lệnh hàng loạt của Windows thông minh hơn

Nếu bạn thực hiện nhiều công việc trong các tệp hàng loạt của Windows, Câu lệnh IF cung cấp một cách rất hiệu quả để thêm tính linh hoạt cho các tập lệnh của bạn.





Trong bài viết này, bạn sẽ tìm hiểu về năm loại câu lệnh IF chính mà bạn có thể sử dụng trong tệp loạt Windows, cách thức đúng cú pháp và ví dụ thực tế cho từng loại.





Nếu bạn đã sẵn sàng để bắt đầu viết kịch bản, hãy bắt đầu!





1. So sánh các giá trị

Một trong những điều cơ bản bạn thường cần làm trong tập lệnh lô là so sánh hai giá trị và thực hiện theo một quy trình hành động khác tùy thuộc vào sự so sánh.

Ví dụ: giả sử bạn muốn viết một tập lệnh hàng loạt để kiểm tra kích thước ổ cứng máy tính của bạn hàng ngày. Nếu dung lượng dưới 3 GB, bạn muốn nhận được báo cáo qua email có nội dung 'Dung lượng ổ cứng quá thấp'.



Để tạo tập lệnh so sánh dung lượng ổ cứng trống hiện tại với giới hạn của bạn, bạn sẽ tạo tập lệnh hàng loạt sau và lưu nó dưới dạng tệp .bat.

@echo off
set DriveLimit=300000000
for /f 'usebackq delims== tokens=2' %%x in (`wmic logicaldisk where 'DeviceID='C:'' get FreeSpace /format:value`) do set FreeSpace=%%x
Echo FreeSpace='%FreeSpace%'
Echo Limit='%DriveLimit%'
If %FreeSpace% GTR %DriveLimit% (
Echo There is enough free space.
) else (
Echo Not enough free space.
)

WMIC là thành phần Windows Management Instrumentation của Windows đi kèm với một loạt các lệnh mà bạn có thể sử dụng để lấy thông tin PC. Đây là cách lệnh 'wmic' trong tập lệnh này gọi không gian 'đĩa logic' và đặt nó vào biến FreeSpace. Bây giờ bạn chỉ có thể thay thế dòng 'Echo Không đủ dung lượng trống' bằng một lệnh email trắng trợn để gửi cảnh báo cho bạn.





Cuối cùng, thiết lập tập lệnh này như một công việc hàng loạt theo lịch trình cửa sổ chạy hàng ngày.

Nếu bạn chưa bao giờ sử dụng lỗi trắng trợn trước đây, chúng tôi có một bài viết hướng dẫn bạn cách thiết lập lỗi trắng trợn. Không quen với việc thiết lập các công việc theo lịch trình? Chúng tôi đã giới thiệu cho bạn một bài viết về cách thiết lập các tác vụ theo lịch trình của Windows.





2. So sánh chuỗi

Một so sánh IF có giá trị khác mà bạn có thể thực hiện trong một công việc hàng loạt là so sánh các chuỗi .

Trong ví dụ sau, bạn sẽ thấy cách kiểm tra phiên bản Windows của mình bằng công việc hàng loạt. Sau đó, bạn có thể so sánh điều này với phiên bản Windows mong đợi của bạn.

Một số mục đích sử dụng của tập lệnh này sẽ là để kiểm tra CNTT khi bạn cần nhanh chóng chạy một tập lệnh và đảm bảo rằng hệ điều hành hiện tại là hệ điều hành mới nhất hoặc liệu nó có cần nâng cấp hay không.

Đây là những gì tập lệnh này trông như thế nào.

@echo off
for /f 'tokens=4-5 delims=. ' %%i in ('ver') do set VERSION=%%i.%%j
if '%version%' == '6.0' echo Windows Vista.
if '%version%' == '6.1' echo Windows 7
if '%version%' == '6.2' echo Windows 8
if '%version%' == '6.3' echo Windows 8.1
if '%version%' == '10.0' echo Windows 10.

Đây là kết quả đầu ra của tập lệnh này trông như thế nào.

Khả năng so sánh các chuỗi trong hàng loạt mở ra một danh sách toàn bộ các khả năng. Nếu bạn khám phá tất cả thông tin bạn có thể lấy từ lệnh WMIC bạn sẽ chỉ thấy số liệu thống kê về máy tính của mình mà bạn có thể theo dõi. Bạn có thể sử dụng các công việc hàng loạt đã lên lịch để cảnh báo về những điều này.

3. Kiểm tra xem tệp có tồn tại không

Một tình huống hữu ích khác trong đó câu lệnh IF trong một tệp hàng loạt là kiểm tra sự tồn tại của một tệp dữ liệu .

Nhiều khi công việc hàng loạt chỉ là một công cụ giám sát có thể được lên lịch để kiểm tra các tệp dữ liệu mới đến trong một thư mục cụ thể.

Sau đó, công việc hàng loạt có thể sao chép tệp đó sang một vị trí khác nơi nó có thể được xử lý hoặc khởi động một số tập lệnh windows xử lý tệp đó thành đầu ra Excel.

(Chúng tôi đã viết trước đây về cách sử dụng tập lệnh Windows để xử lý dữ liệu thành tệp Excel ; một số kiến ​​thức cơ bản tốt.)

Việc sử dụng một tệp hàng loạt để kiểm tra xem tệp có tồn tại trong một thư mục hay không rất nhanh chóng và dễ dàng. Đây là những gì tập lệnh đó trông như thế nào.

@echo off
if exist c: empdatafile.txt (
%WINDIR%SysWOW64cmd.exe
cscript LoadToExcel.vbs
) else (
rem file doesn't exist
)

So sánh IF EXISTS hữu ích cho rất nhiều thứ.

Ví dụ: nếu bạn có một hệ thống hoặc ứng dụng đang chạy tạo nhật ký lỗi mới trong một thư mục cụ thể khi có sự cố, bạn có thể chạy công việc hàng loạt thường xuyên để theo dõi xem nhật ký lỗi mới có được tạo hay không để bạn có thể gửi cảnh báo.

4. Kiểm tra nếu một lệnh không thành công

Một khía cạnh của kịch bản tệp hàng loạt mà quá ít dân IT hoặc lập trình viên sử dụng là kiểm tra lỗi .

Có rất nhiều công việc hàng loạt đang thực hiện các tác vụ CNTT quan trọng như sao lưu các tệp quan trọng hoặc chạy các hoạt động sao chép tệp. Khi các công việc hàng loạt này không thành công, hệ thống bị lỗi và mọi người sẽ nhận thấy.

Thông minh hơn nhiều khi nhận được cảnh báo khi công việc hàng loạt của bạn bị lỗi một lệnh trước mọi người bắt đầu chú ý. Bằng cách này, bạn có thể chủ động khắc phục sự cố.

Bạn có thể làm điều này bằng cách sử dụng biến% errorlevel% mà hầu hết các ứng dụng và lệnh trả về sau khi chúng được chạy.

Tất cả những gì bạn phải làm là tuân theo lệnh của bạn bằng lệnh IF% ERRORLEVEL%. Nếu ứng dụng hoặc lệnh trả về số 0, tất cả đều ổn. Nếu không, thì bạn cần phải gửi cho mình một email.

@echo off
xcopy C:
omefolder E:ackupfolder
IF %ERRORLEVEL% NEQ 0

Bạn không cần phải sử dụng đường dẫn email. Bạn luôn có thể viết nhật ký lỗi mà bạn có thể kiểm tra mỗi sáng hoặc khởi chạy ứng dụng hoặc lệnh thứ hai cố gắng thực hiện việc sao chép bằng lệnh thay thế. Bất kỳ hành động nào bạn muốn thực hiện, IF% ERRORLEVEL% đều cho phép bạn thực hiện.

Nếu bạn muốn sử dụng câu lệnh IF để kiểm tra các mã lỗi cụ thể, Windows cung cấp một danh sách đầy đủ các mã lỗi .

5. Kiểm tra các thông số bị thiếu

Câu lệnh IF hữu ích cuối cùng không phải là một lệnh cụ thể, mà thay vào đó để kiểm tra xem tập lệnh đã nhận được các thông số đầu vào thích hợp .

Ví dụ: giả sử bạn đã viết một tập lệnh thực hiện lệnh xcopy từ một thư mục đầu vào, đến một thư mục mạng chung được sử dụng bởi một nhóm. Người dùng chỉ cần làm theo tên tập lệnh của bạn với các tham số xác định đường dẫn tệp cá nhân của họ.

Rõ ràng, bạn không thể thực thi đúng tập lệnh của mình mà không có đường dẫn được chỉ định, vì vậy bạn có thể đặt câu lệnh IF ở đầu tập lệnh của mình để đảm bảo cả hai tham số đều được nhập.

Đây là cách nó trông.

@echo off
IF [%1]==[] (
GOTO sub_message
) ELSE (
xcopy %1 E:ackupfolder
)
GOTO eof
:sub_message
echo You forgot to specify your path.
:eof

Nếu bạn chưa bao giờ sử dụng các tham số với tập lệnh lô trước đây, thì biểu tượng phần trăm theo sau là một số đại diện cho biến tham số. % 1 là tham số đầu tiên,% 2 là tham số thứ hai, v.v.

Công việc hàng loạt có thể trở nên mạnh mẽ

Nhiều người bắt đầu sử dụng công việc hàng loạt cho các tác vụ đơn giản cần được thực hiện theo trình tự. Với câu lệnh IF, bạn có thể thêm nhiều thông tin hơn vào các tập lệnh của mình.

Tất nhiên nếu bạn thực sự muốn nâng nó lên một tầm cao, bạn có thể cân nhắc xem VBA với hướng dẫn của chúng tôi về tạo ứng dụng VBA đầu tiên của bạn , hoặc thậm chí có thể học lập trình Python.

Bạn thường có thể sử dụng các ngôn ngữ lập trình nâng cao hơn như những ngôn ngữ này hoặc học cách sử dụng PowerShell, để hoàn thành nhiều tác vụ tương tự mà bạn hiện đang sử dụng các công việc hàng loạt.

Đăng lại Đăng lại tiếng riu ríu E-mail Xóa các tệp và thư mục Windows này để giải phóng dung lượng đĩa

Cần xóa dung lượng ổ đĩa trên máy tính Windows của bạn? Dưới đây là các tệp và thư mục Windows có thể được xóa một cách an toàn để giải phóng dung lượng ổ đĩa.

Đọc tiếp
Chủ đề liên quan
  • các cửa sổ
  • Lập trình
  • các cửa sổ
Giới thiệu về tác giả Ryan Dube(Đã xuất bản 942 bài báo)

Ryan có bằng Cử nhân Kỹ thuật Điện. Anh ấy đã làm việc 13 năm trong lĩnh vực kỹ thuật tự động hóa, 5 năm trong lĩnh vực CNTT và hiện là Kỹ sư ứng dụng. Từng là Biên tập viên quản lý của MakeUseOf, ông đã phát biểu tại các hội nghị quốc gia về Trực quan hóa Dữ liệu và đã được giới thiệu trên đài truyền hình và đài phát thanh quốc gia.

windows 7 hay windows 10?
Xem thêm từ Ryan Dube

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký