Cách xem nhanh danh sách tệp hoặc định dạng tệp cụ thể trong một thư mục

Đôi lúc bạn cần kiểm tra tên các tệp trong một thư mục hoặc lọc ra loại tệp có định dạng cụ thể. Nếu tìm xem thủ công sẽ rất mất nhiều thời gian, do đó bạn có thể sử dụng lệnh DIR kiểm tra tệp kết hợp với FINDSTR tìm và lọc lấy định dạng tệp cụ thể để kiểm tra cho nhanh.

Ngoài ra trong quá trình viết batch script để thực thi một hành động nào đó mà cần có lệnh kiểm tra các tập tin trong một thư mục cụ thể chẳng hạn muốn xóa, sao chép, di chuyển..., sau khi hành động xảy ra nó sẽ trả về lại lệnh kiểm tra tập tin trong thư mục hay xem lại danh sách trong thư mục còn tập tin mà ta đã xóa, sao chép, di chuyển..., hay không.

Cấu trúc của lệnh liệt kê tập tin trong thư mục có dạng sau:

Copy
dir /b <đường dẫn tới thư mục>

Ví dụ:

Copy
dir /b C:\Windows\servicing\Packages

Mẹo: Bạn có thể thay thế đường dẫn bằng các thuật ngữ viết gọn dưới đây

Copy
C: = %HOMEDRIVE% = %SystemDrive%
C:\Windows = %SystemRoot% = %windir%
C:\Program Files = %ProgramFiles% = %ProgramW6432%
C:\Program Files (x86) = %ProgramFiles(x86)%
C:\ProgramData = %ALLUSERSPROFILE% = %ProgramData%
C:\Users\User_Name\AppData\Roaming = %APPDATA%
C:\Program Files\Common Files = %CommonProgramFiles%
C:\Program Files (x86)\Common Files = %CommonProgramFiles(x86)%
C:\Program Files\Common Files =%CommonProgramW6432%
C:\Users\User_Name = %HOMEPATH%
C:\Users\User_Name\AppData\Local = %LOCALAPPDATA%
C:\Users\User_Name\AppData\Local\Temp = %TEMP%
C:\Users\User_Name = %USERPROFILE%
Computer Name = %COMPUTERNAME%
User Name = %USERNAME%

Như vậy với ví dụ ở trên ta có thể thay như sau:

Copy
dir /b %SystemRoot%\servicing\Packages

Sử dụng DIR kết hợp FINDSTR

Sử dụng FINDSTR lọc loại tệp, ví dụ trong thư mục Packages chỉ tìm các tệp có tên Defender

Copy
dir /b "C:\Windows\servicing\Packages" ^| findstr /c:Defender

Hoặc chỉ tìm các tệp có tên Defender, Internet-Browser, ContentDeliveryManager

Copy
dir /b "C:\Windows\servicing\Packages" ^| findstr /c:Defender /c:Internet-Browser /c:ContentDeliveryManager

Hoặc chỉ tìm các tệp có tên Defender nhưng lại lọc lấy loại tệp .mum

Copy
dir /b "C:\Windows\servicing\Packages" ^| findstr /i /r /c:Defender.*mum

Bây giờ ta sẽ viết tệp batch để khi chạy nó sẽ liệt kê danh sách các tập tin trong thư mục mà ta muốn tìm và để nhìn không đơn điệu ta sẽ thêm số thứ tự đằng trước cho đẹp, Nội dung của tập tin batch như sau:

Copy
@echo off
title Packages
setlocal enabledelayedexpansion
set /a num=0
set path=%SystemRoot%\servicing\Packages
echo.ID   Packages
echo.
for /f %%a in ('dir /b "%path%" ^| findstr /i /r /c:Defender.*mum') do (
  set /a num=num+1
  echo.!num!   %%a
)
echo.
pause

Lưu lại với tên ví dụ list.cmd định dạng All file và Encoding:ANSI. Chuột phải tệp batch vừa tạo chọn Run as adminstrator
Bài đăng mới hơn Bài đăng cũ hơn
Bài viết này có hữu ích không?