Я хочу перечислить все файлы банки в подкаталогах указанного пути, на компьютере Windows, наряду с размером файла и времена.
dir /s
дает мне слишком много информации. dir /s *.jar
вид делает то, что я хочу, но дает мне набор информации на каталог, что я не забочусь о. dir /b/s *.jar
кратко, но не дает мне время или размер файла.
Существует ли команда, которая просто перечислит файлы банки + размер файла/время?
Вы могли сделать это:
for /r %i in (*.jar) do echo %~ti %~zi %i
который выполнит итерации по всем директорам (включая текущего) и echos *.jar
имена. Это также отзовется эхом echo
команда, таким образом, можно хотеть передать вывод по каналу в файл:
for /r %i in (*.jar) do echo %~ti %~zi %i >> myJars.txt
или помещенный это в летучую мышь:
@echo off
for /r %%i in (*.jar) do echo %%~ti %%~zi %%i
отметьте двойное %
в .bat
версия.
Если нет никакой конкретной причины использования командной строки (как потребность сценария пакетной обработки)
Вы могли просто использовать Проводник, Поиск для списка *.jar
файлы от основной папки.
Вы получите размер и информацию о дате, и список может быть отсортирован несколькими способами.
Это будет решением GUI.
Я всегда задавался вопросом, почему Windows не позволяет мне экспортировать такой результат поиска в CSV/XLS/TXT.
Вся эта тяжелая работа отсеивания через папки идет отходы; не может выполнить последующую обработку вывод.
У кого-либо есть идеи о таком экспорте в файл?
Эта командная строка работы:
dir /s *.jar | find "jar"
Это передает вывод по каналу "dir" в команду "находки" для фильтрации его - отфильтровывание строк, не содержащих "банку" как строки с "Каталогом".
Однако это только на 99,9% пуленепробиваемо. Если папка содержит "банку" на свое имя, И эта папка содержит файл банки затем, необходимо фильтровать это:
dir /s *.jar | find "jar" | find /V "Directory of"
"/V" означает, что все строки, НЕ содержащие "Каталог", будут распечатаны на экране.