Cách xem nhanh danh sách tệp hoặc định dạng tệp cụ thể trong một thư mục
vào
21 thg 10, 2018
Đô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:
Ví dụ:
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
Như vậy với ví dụ ở trên ta có thể thay như sau:
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
Hoặc chỉ tìm các tệp có tên Defender, Internet-Browser, 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
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:
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
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
Nội dung chính