Làm cách nào để ẩn phần mở rộng tệp trong đầu ra lệnh / dir?


9

Những gì tôi muốn làm có vẻ rất đơn giản:
Tôi có một thư mục trong Windows chứa các mục thuộc nhiều loại khác nhau bao gồm tệp PDF, tệp TXT và thư mục con. Tôi đang viết một tệp .bat một dòng để CHỈ kéo các tên tệp PDF thành một tệp văn bản mới.

Cho đến nay đây là những gì tôi có trong .bat:

dir *.pdf /b > PDF_LIST.txt

Điều này mang lại đầu ra sau trong tệp PDF_LIST.txt:

A.pdf
B.pdf
C.pdf

Tôi muốn bỏ phần ".pdf" của mỗi dòng trong tệp txt, vì rõ ràng tôi đã biết rằng mỗi tệp có định dạng PDF bởi tham số * .pdf trong câu lệnh dir của tôi.

Điều này sẽ giúp tôi dễ dàng sao chép / dán tất cả các tên tệp trực tiếp từ tệp văn bản vào tài liệu từ để truyền qua tôi đang gửi cho khách hàng của mình. Nếu bạn có thể đề xuất một cách tốt hơn hoặc dễ dàng hơn để có được danh sách tệp mà không cần sử dụng tệp bó cũng sẽ hữu ích.

Câu trả lời:


18

Trong kịch bản của bạn:

for %%i in (*.pdf) do @echo %%~ni >> PDF_LIST.txt

Whoa mà thổi tâm trí của tôi (không bao giờ thực sự làm việc với dòng lệnh). Ok tôi sẽ cho nó một shot. Cảm ơn!
NoCatharsis

1
Xem help forđể có một số kích thích sọ não bổ sung.
Tạm dừng cho đến khi có thông báo mới.

Tôi đã sửa (cái mà tôi nghĩ là) lỗi đánh máy của bạn trong mã và chạy lệnh này: for %% i in (* .pdf) do @echo %% ~ ni >> PDF_LIST.txt Tôi nhận được phản hồi "%% i là bất ngờ tại thời điểm này "và không có đầu ra khác.
NoCatharsis

2
@NoCatharsis: Xin lỗi về lỗi đánh máy. Tại dòng lệnh chỉ sử dụng duy nhất %. Sử dụng %%trong tập tin lô của bạn.
Tạm dừng cho đến khi có thông báo mới.

Thật tuyệt, hoạt động như một lá bùa - cảm ơn rất nhiều vì sự giúp đỡ nhanh chóng.
NoCatharsis

0

Hầu hết các trình soạn thảo văn bản (bao gồm notepad) đã tìm và thay thế. Chỉ cần sử dụng nó để tìm tất cả ".pdf" và thay thế bằng "". Làm xong :)

Bạn cũng có thể đặt điều này dưới dạng macro trong từ.


Có, tôi sử dụng Notepad ++ để thực hiện việc này ngay bây giờ - tuy nhiên tôi chỉ tự hỏi liệu có cách nào để cắt bỏ một bước nữa bằng cách viết nó thành một kịch bản hay không.
NoCatharsis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.