Виключення файлів конкретного розширення за допомогою команди DIR у командному рядку Windows


20

якщо я хочу бачити, наприклад, файли певного розширення лише за допомогою списку dir, я можу це зробити за допомогою команди:

DIR *.txt 

І він показує всі файли з .txtрозширенням.
Тепер я хочу знати, чи є якась команда з якою я можу виключити певні розширення?
Наприклад, я не хочу бачити жоден файл із розширенням .exe, як це зробити?

Відповіді:


27

DIR не дозволить зробити те, що ви намагаєтеся зробити. Однак DIR разом з FINDSTR може вирішити це.

наприклад, нижче ігнорується всі .txt файли у списку DIR.

dir | findstr /v /i "\.txt$" 

2
ви можете скористатись dir /b | findstr /v /i "\.txt$"тим dir, що в кінці буде виведено заголовок та можливі неправильні файли та папки
phuclv

Чому findstrпросто find?
Sopalajo de Arrierez

Оскільки пошук пошуків тексту та findstr підтримує регулярні вирази, я запропонував Findstr. Якщо ви просто хочете здійснити пошук точного знаходження рядка, теж буде добре.
IUnknown

8
dir /B | find /V ".txt"

У цьому списку будуть перераховані всі файли, і було б відфільтроване все, що не містить ".txt". Це далеко не ідеально, але, можливо, цього достатньо :)


Немає необхідності /B, я не сказав би, але я віддаю перевагу цей відповідь до тих пір , поки я не бачу необхідності «findstr` (фактична загальноприйнятий один).
Sopalajo de Arrierez

3

Це залежить від вашого перекладача команд.

Microsoft cmdне має такої можливості, як видно з інших відповідей, де потрібно обробити вихідний результат dir. TCC / LE програмного забезпечення JP Software . Він називається діапазоном виключення файлів і використовується таким чином для прикладу у вашому запитанні:

dir / evidence!*.exe] *


Дякую, але я думаю, що цей інструмент працює як окрема програма. Я роблю свою заявку там, де запускаю зовнішній процес за допомогою оболонки Windows або bash в ubuntu, тому цей інструмент не підійде, якщо вони надають перемикачі ліній cmd, то це буде корисно.
Джоннідеп

1
Вищезазначене явно є комутатором командного рядка. Прочитайте документацію про гіперпосилання. Звичайно, у більшості мов програмування досить нерозумно переходити до тривалості використання оболонки для отримання вмісту каталогів , і ви невірні StackExchange для написання програм.
JdeBP

спасибі за пояснення, це правда, але це рішення для сканування тих каталогів, які потребують Elevation, і я не хочу робити підказку UAC для запуску коду, коли я можу отримати результати із запиту cmd, не вимагаючи більш високих привілеїв.
Джоннідеп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.