cmd – Windows ‘dir’ command, Order By Name AND <something> – Stack Overflow

Описание

DIR – Выводит список файлов и подкаталогов каталога. Вызванная без параметров команда dir выводит метку тома и серийный номер, за которыми следует список каталогов и файлов на диске, включая их имена, дату и время последнего изменения. Для файлов dir выводит также расширение имени и размер в байтах.

Cmd bat, как сортировать файлы в папке по дате изменения?

Пишу скрипт который будет устанавливать приложение ориентируясь на дату изменения.
Допустим, у меня в папке лежит 4 установочных файла и я только что закинул пятый. Батник должен установить тот который я закинул последним.

for /f “tokens=* delims=” %%a in (‘type temp.txt’) do (
for %%b in (%%a) do (
if “%%b”==”что то-там” adb install -r С:Hello(вот что использовать здесь я не знаю)
del temp.txt

Cmd command to recursively list all files in a folder with a sortorder without regard to location in a hierarchy?

I’ve been trying to come up with a way to use DIR list all the files on a drive according to their date, but my issue is that the resulting list still goes folder to folder alphabetically, just as one would expect. Within the folders, the files are listed properly, that’s not the problem. Cue possibly convoluted visuals.

This is the plain recursive directory listing (with a date column just because that happens to be what I want to sort against):

main                                     Date
 |                                       -----------------
 | -- file0_1.ext                        1/5/10 12:00:00AM
 | -- file0_2.ext                        1/1/10 12:00:00AM
   -- sub1
 |     | -- file1_1.ext                  1/7/10 12:00:00AM
 |     | -- file1_2.ext                  1/4/10 12:00:00AM
   -- sub2
 |     | -- file2_1.ext                  1/6/10 12:00:00AM
   -- sub3
 |     | -- file3_1.ext                  1/2/10 12:00:00AM
 |       -- sub3_1
 |     |     | -- file3_1_1.ext          1/3/10 12:00:00AM

When I run

dir *.* /s/od

to list all files recursively sorted by date, I get

mainfile0_2.ext                         1/1/10 12:00:00AM
mainfile0_1.ext                         1/5/10 12:00:00AM
mainsub1file1_2.ext                    1/4/10 12:00:00AM
mainsub1file1_1.ext                    1/7/10 12:00:00AM
mainsub2file2_1.ext                    1/6/10 12:00:00AM
mainsub3file3_1.ext                    1/2/10 12:00:00AM
mainsub3sub3_1file3_1_1.ext           1/3/10 12:00:00AM

where the folders are listed alphabetically, but the files are indeed correctly sorted by date within their folders. However, what I’m really shooting for is:

mainfolderfile0_2.ext                  1/1/10 12:00:00AM
mainsub3file3_1.ext                    1/2/10 12:00:00AM
mainsub3sub3_1file3_1_1.ext           1/3/10 12:00:00AM
mainsub1file1_2.ext                    1/4/10 12:00:00AM
mainfile0_1.ext                         1/5/10 12:00:00AM
mainsub2file2_1.ext                    1/6/10 12:00:00AM
mainsub1file1_1.ext                    1/7/10 12:00:00AM

where the files are listed regardless of their location in the hierarchy according to their date.

One workaround is to pipe all the output from a listing to a text file, parse it, sort it properly, and list it all again, but I’m really looking for a single command I can run within cmd.exe, so it can be easily implemented from memory on other Windows machines.

Dir command availability

The dir command is available from within the Command Prompt in all Windows operating systems including Windows 10, Windows 8, Windows 7, Windows Vista, and Windows XP.

Older versions of Windows include the dir command as well but with a few fewer options than we have listed below. The dir command is also a DOS command, available in all versions of MS-DOS.

The dir command can be found in offline Command Prompt versions, like the ones available from Advanced Startup Options and System Recovery Options. The dir command is also included in the Recovery Console in Windows XP.

Dir command examples

Below are some of the different ways you can use the dir command:

Dir command syntax

dir [drive:][path][filename] [/a[[:]attributes]] [/b] [/c] [/d] [/l] [/n] [/o[[:]sortorder]] [/p] [/q] [/r] [/s] [/t[[:]timefield]] [/w] [/x] [/4]

:/>  Sublime Text - Tools > Build System > New Build System · GitHub

Sort files by timestamp with the windows dir command

I want to sort following files with DIR by their Timestamp, which is defined in the filename – oldest first:
Timestamp = YYYYDDMM

NAME_20211410.dat
NAME_20211509.dat
NAME_20211609.dat

The result should look like this:

NAME_20211509.dat
NAME_20211609.dat
NAME_20211410.dat

How do i achieve that with an one-liner?

Windows ‘dir’ command, order by name and <something>

That’s called a natural sort. Currently there are no built-in command line tools that can sort naturally. If you want please vote for the feature to make Microsoft change their mind

This however can be simulated with a regex replacement to pad zeros to make numbers have the same length. That way a lexicographic sort is equivalent to a natural sort. On Windows you can use Jscript and VBS to do that. But the easiest way is using powershell. You can call it from cmd.exe like this

powershell -Command "(Get-ChildItem | Sort-Object { [regex]::Replace($_.Name, 'd ', { $args[0].Value.PadLeft(20) }) }).Name"

Of course you’ll need to change the number in PadLeft(20) if your files contains a longer series of digits

How to sort by file name the same way Windows Explorer does?

A native batch solution can be found in
Naturally Sort Files in Batch if your files have only a single number at the end

@echo off
setlocal enabledelayedexpansion
for %%a in (*.txt) do (
    set num=00000000000000000000%%a
    set num=!num:~-20!
    set $!num!=%%a
)
for /f "tokens=1,* delims==" %%a in ('set $0') do echo %%b

Параметры

ПараметрОписание
[диск:][путь]Задание диска и каталога, список файлов которого будет выведен
[имя_файла]Задание файла или группы файлов, сведения о которых требуется вывести
/pПостраничный вывод сведений, т. е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу
/qВывод сведений о владельце файла
/wВывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке
/dСоответствует /w, но с сортировкой по столбцам
/a [[:] атрибуты]Выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр /a не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр /a указан без атрибутов, команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты. Двоеточие (:) является необязательным. Значения из таблицы могут использоваться в любых комбинациях без пробела между ними.
h – Скрытые файлы
s – Системные файлы
d – Каталоги
a – Файлы, готовые к архивированию
r – Файлы, доступные только для чтения
-h – Файлы, не являющиеся скрытыми
-s – Файлы, не являющиеся системными
-d – Только файлы (не каталоги)
-a – Файлы, не изменявшиеся после последнего архивирования
-r – Файлы, не имеющие атрибута «Только чтение»
/o [[:]порядок_сортировки]Управление порядком сортировки и вывода имен файлов и каталогов командой dir. Если параметр /o, не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр /o использован без параметра порядок_сортировки, команда dir выводит имена каталогов в алфавитном порядке, затем — имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки. Допускается использование любого их сочетания без пробелов между ними.
n – Сортировка по именам в алфавитном порядке
e – Сортировка по расширениям в алфавитном порядке
d – Сортировка по дате и времени от ранних к поздним
s – Сортировка по размеру от меньших к большим
g – Сортировка с группированием каталогов перед файлами
-n – Сортировка по именам в обратном алфавитном порядке (от Z к A)
-e – Сортировка по расширению в обратном алфавитном порядке (от .ZZZ к .AAA)
-d – Сортировка по дате и времени от поздних к ранним
-s – Сортировка по размеру от больших к меньшим
-g – Сортировка с группировкой каталогов после файлов
/t [[:]поле_времени]Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени.
c – Создание
a – Последнее обращение
w – Последняя запись
/sПеречисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах
/bПеречисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра /b заголовочные сведения или сводка не выводятся. Параметр /b отменяет параметр /w
/lВывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр /l не позволяет преобразовывать дополнительные символы в строчные
/nВывод списка в расширенном формате с именами файлов в правой части экрана
/xВывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра /n, но сокращенные имена выводятся после полных
/cВывод разделителя десятичных разрядов в размере файлов
/4Отображение года в четырехзначном формате
/?Отображение справки в командной строке
:/>  batch file - Connect COM port using windows terminal - Stack Overflow

Примеры использования

Чтобы вывести подряд все каталоги в алфавитном порядке, в несколько колонок и с паузой после заполнения каждого экрана, убедитесь, что корневой каталог является текущим, и введите следующую команду:

dir /s/w/o/p

Команда dir выводит имя корневого каталога, имена его подкаталогов и имена файлов (включая расширения) в этом каталоге. Затем выводятся имена подкаталогов и имена файлов в каждом каталоге дерева каталогов.Для изменения предыдущего примера так, чтобы команда dir не выводила имена каталогов, введите следующую команду:

dir /s/w/o/p/a:-d

Чтобы напечатать список каталогов, введите следующую команду:

dir > prn

Если указать параметр prn, список каталогов отправляется на принтер, подключенный к порту LPT1. Если принтер подключен к другому порту, необходимо заменить параметр prn именем этого порта.

Вывод команды dir также может быть направлен в файл при замене prn на имя файла. Кроме того, можно также ввести путь. Например, для направления вывода команды dir в файл Dir.doc в каталоге Records введите следующую команду:

dir > recordsdir.doc

Если файл Dir.doc не существует, команда dir создаст его при условии наличия каталога Records. Если этот каталог не существует, выводится следующее сообщение:

Ошибка создания файла

Чтобы вывести список всех файлов с расширением .txt во всех каталогах диска C, введите следующую команду:

dir c:*.txt /w/o/s/p

Команда dir выводит на экран алфавитный список файлов, удовлетворяющих заданному шаблону, в несколько колонок с паузой после заполнения каждого экрана.

Примечания

  • Использование нескольких имен_файлов Допускается использование нескольких имен_файлов. Разделяйте имена файлов пробелом, запятой или точкой с запятой. Для вывода группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла.
  • Использование подстановочных знаков. Для вывода списка подгруппы файлов и подкаталогов можно использовать подстановочные знаки (? и *).
  • Задание атрибутов файлов для вывода. Если параметр /a используется более чем с одним значением параметра атрибуты, команда dir выведет имена только тех файлов, все атрибуты которых совпадают с заданными. Например, при использовании параметра /a со значениями атрибутов r и -h в формате /a:r-h или /ar-h команда dir выведет имена файлов, являющихся одновременно скрытыми и защищенными от записи.
  • Указание порядка сортировки имен файлов. Если указано несколько значений порядка_сортировки, команда dir сортирует имена файлов сначала по первому условию, затем — по второму и т. д. Например, если указан ключ /o со значениями e и -sпорядка_сортировки в формате /o:e-s или /oe-s, команда dir отсортирует имена каталогов и файлов по расширениям, затем от больших файлов к меньшим и выведет окончательный результат. В результате сортировки по алфавиту файлы без расширений будут идти вначале, затем имена каталогов, а потом имена файлов с расширениями.
  • Использование перенаправления и каналовЧтобы перенаправить вывод команды dir в файл с помощью символа (>) или использовать канал (|) для передачи вывода в другую команду, необходимо использовать параметры команды dir/a:-d и /b для вывода только списка имен файлов. Параметр имя_файла с параметрами /b и /s можно использовать, чтобы указать поиск командой dir в текущем каталоге и его подкаталогах всех файлов, соответствующих значению имя_файла. При этом команда dir выведет только имя диска, имя каталога, имя файла и расширение по одному файлу в строке. Чтобы использовать перенаправление с помощью каналов, в файле Autoexec.nt должна быть установлена переменная среды TEMP.
  • Предварительное задание параметров команды dir. Параметры команды dir могут быть предварительно заданы включением команды set для переменной среды DIRCMD в файл Autoexec.nt. В команде set dircmd может быть использована любая допустимая комбинация параметров команды dir, включая расположение и имя файла.Например, чтобы использовать переменную среды DIRCMD для задания вывода в расширенном формате (/w) по умолчанию, в файле Autoexec.nt необходимо ввести следующую строку:set dircmd=/w При однократном использовании команды dir можно отменить параметр с помощью переменной среды DIRCMD. Для этого введите параметр, который требуется отменить, в командной строке dir, указав перед ним знак минус. Например:

    dir /-w

    Чтобы изменить параметры DIRCMD, используемые по умолчанию, введите следующую команду:

    set=новый_параметр

    Новые параметры по умолчанию останутся в силе для всех последующих команд dir, пока команда set dircmd не задаст новые параметры или не будет перезагружен компьютер.

    Чтобы удалить все параметры по умолчанию, введите следующую команду:

    set dircmd=

    Чтобы просмотреть текущие параметры переменной среды DIRCMD, введите следующую команду:

    set

  • Команда dir с другими параметрами доступна в консоли восстановления.
:/>  4 Способа Как Отключить Пароль При Входе в Windows 10 Учетная Запись Microsoft

Синтаксис

dir [диск:][путь][имя_файла] [...] [/p] [/q] [/w] [/d] [/a[[:]атрибуты]][/o[[:]порядок_сортировки]] [/t[[:]поле_сортировки]] [/s] [/b] [/l] [/n] [/x] [/c] [/4]

. . . . . . .

Оставьте комментарий