Để lặp qua từng tập tin một vòng lặp for sẽ làm việc:
for %%f in (directory\path\*) do (something_here)
Trong trường hợp của tôi, tôi cũng muốn các nội dung tập tin, tên, vv
Điều này dẫn đến một vài vấn đề và tôi nghĩ trường hợp sử dụng của tôi có thể giúp đỡ. Đây là một vòng lặp đọc thông tin từ mỗi tệp '.txt' trong một thư mục và cho phép bạn làm điều gì đó với nó (ví dụ setx).
@ECHO OFF
setlocal enabledelayedexpansion
for %%f in (directory\path\*.txt) do (
set /p val=<%%f
echo "fullname: %%f"
echo "name: %%~nf"
echo "contents: !val!"
)
* Hạn chế: val < = %% f sẽ chỉ nhận được dòng đầu tiên của file.
Nguồn
2016-05-10 13:54:52
giả sử bạn có nghĩa là mặc định cửa sổ shell, tôi đã gắn thẻ bài của bạn cho một chút rõ ràng hơn –
Vui lòng chỉ định phiên bản Windows bạn đang sử dụng. – jop
Điều này nên được chia thành hai câu hỏi riêng biệt vì chúng độc lập với nhau. – julealgon