Làm cách nào để tôi chỉ nhận được phần mở rộng của tệp khi viết lệnh shell cho menu ngữ cảnh


0

Ví dụ: nếu loại cmd.exe echo %1nó hiển thị tên tệp và phần mở rộng của tệp đã chọn. Nhưng những gì tôi muốn làm chỉ là nhận phần mở rộng của tệp đã chọn.

Có ai biết làm thế nào không?

Câu trả lời:


0

cmd.exe echo %~x1

%*      return the remainder of the command line starting at the first command line   argument (in Windows NT 4, %* also includes all leading spaces)
%~dn    return the drive letter of %n (n can range from 0 to 9) if %n is a valid path or file name (no UNC)  
%~pn    return the directory of %n if %n is a valid path or file name (no UNC)  
%~nn    return the file name only of %n if %n is a valid file name  
%~xn    return the file extension only of %n if %n is a valid file name  
%~fn    return the fully qualified path of %n if %n is a valid file name or directory 

Nguồn


1
Có lẽ những người khác muốn biết làm thế nào bạn có nó?
nixda

1

Bạn có thể thực hiện việc này trong Powershell một cách dễ dàng bằng cách sử dụng thuộc tính Tiện ích mở rộng.

Một ví dụ (Mặc dù nhiều phương pháp khác để thực hiện điều này là có thể:

Get-ChildItem | select Extension

Và trong cmd.exe:

for %i in (*.*) do echo "%~xi"

đã thêm lệnh DIR
Austin T French

Xin lỗi, tôi gõ lệnh sai là "cmd.exe echo% 1" và giải thích lại những gì tôi muốn chỉ nhận phần mở rộng của bất kỳ tệp nào tôi chọn, và không phải cho một tiện ích mở rộng cụ thể, cho tất cả các tiện ích mở rộng. "ví dụ: nếu gõ cmd.exe echo% 1, nó sẽ hiển thị tên tệp và phần mở rộng của tệp đã chọn" Tôi muốn tạo tùy chọn menu ngữ cảnh với tùy chọn tương tự nhưng tôi chỉ cần in phần mở rộng
LRR

Được rồi, cập nhật với điều đó trong tâm trí.
Austin T Pháp
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.