Dir: различия между версиями
Tatikoma (обсуждение | вклад) (Новая страница: «== Описание == '''Dir''' - команда вывода дерева каталогов. Возвращает дерево в указанный масси...») |
Tatikoma (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
== Описание == | == Описание == | ||
'''Dir''' - команда вывода дерева каталогов. Возвращает дерево в указанный массив, с разбивкой по столбцам. Имя файла можно не указывать. При указании в качестве параметров только имени массива, возвращает текущий каталог. | '''Dir''' - команда вывода дерева каталогов. Возвращает дерево в указанный массив, с разбивкой по столбцам. Имя файла можно не указывать. При указании в качестве параметров только имени массива, возвращает текущий каталог. | ||
− | + | <br>Переменная 'errorlevel' содержит количество найденных элементов. | |
− | + | <br>Поддерживается поиск файлов по маске. | |
== Синтаксис == | == Синтаксис == | ||
Привязка к окну: Нет. | Привязка к окну: Нет. | ||
− | + | <br>Работа со свернутым окном: Да. | |
dir (%resultarray [Path [Filemask]]) | dir (%resultarray [Path [Filemask]]) | ||
Где: | Где: | ||
− | + | <br>'''%resultarray''' - массив, в который будет записан результат. | |
Возвращает по столбцам: | Возвращает по столбцам: | ||
1) Полный корректный адрес с "\", именем файла, расширением. | 1) Полный корректный адрес с "\", именем файла, расширением. | ||
Строка 22: | Строка 22: | ||
10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов) | 10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов) | ||
'''Path''' - необязательный параметр. Путь к директории. | '''Path''' - необязательный параметр. Путь к директории. | ||
− | + | <br>'''Filemask''' - необязательный параметр. Расширение для поиска по маске. Регистронезависимо: | |
*.ini;*.wav - соответствует любым файлам с расширениями 'ini' или 'wav' | *.ini;*.wav - соответствует любым файлам с расширениями 'ini' или 'wav' | ||
*.*|*.exe - соответствует любым файлам, кроме файлов с расширением 'EXE' | *.*|*.exe - соответствует любым файлам, кроме файлов с расширением 'EXE' | ||
Строка 89: | Строка 89: | ||
[[DirCreate]] | [[DirCreate]] | ||
− | + | <br>[[DirRemove]] | |
− | + | <br>[[FileCopy]] | |
− | + | <br>[[FileDelete]] | |
− | + | <br>[[FileRename]] | |
== История развития == | == История развития == | ||
'''2.30''' | '''2.30''' | ||
− | + | <br>добавил команду вывода дерева каталогов 'dir (%resultArray [path [filemask]])'. возвращает дерево в указанный массив, с разбивкой по столбцам. имя файла можно не указывать. при указании в качестве параметров только имени массива, возвращает текущий каталог. переменная 'errorlevel' содержит количество найденных элементов | |
дата_время размер атрибуты папка папка файл | дата_время размер атрибуты папка папка файл | ||
15.10.2008 15:14:04 271696 A util VNC4 vncviewer.exe | 15.10.2008 15:14:04 271696 A util VNC4 vncviewer.exe | ||
Строка 122: | Строка 122: | ||
'''2.33''' | '''2.33''' | ||
− | + | <br>Исправил вывод найденного пути в команде 'dir'. | |
− | + | <br>Переделал команду 'dir' по предложению DarkMaster'а. | |
Возвращает по столбцам: | Возвращает по столбцам: | ||
1) Полный корректный адрес с "\", именем файла, расширением. | 1) Полный корректный адрес с "\", именем файла, расширением. | ||
Строка 137: | Строка 137: | ||
'''2.38''' | '''2.38''' | ||
− | + | <br>Подправил команду 'dir', у каталогов больше не обрабатывается расширение. | |
[[Категория:Файлы]] | [[Категория:Файлы]] |
Текущая версия на 10:24, 28 августа 2019
Описание
Dir - команда вывода дерева каталогов. Возвращает дерево в указанный массив, с разбивкой по столбцам. Имя файла можно не указывать. При указании в качестве параметров только имени массива, возвращает текущий каталог.
Переменная 'errorlevel' содержит количество найденных элементов.
Поддерживается поиск файлов по маске.
Синтаксис
Привязка к окну: Нет.
Работа со свернутым окном: Да.
dir (%resultarray [Path [Filemask]])
Где:
%resultarray - массив, в который будет записан результат.
Возвращает по столбцам: 1) Полный корректный адрес с "\", именем файла, расширением. 2) Адрес. Полный адрес слепленный в нормальную строку с "\". 3) Имя файла без расширения. 4) Расширение файла. 5) Размер. 6) Атрибуты. 7) Дата. 8) Время. 9) Уровень вложенности для пункта 10. 10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов)
Path - необязательный параметр. Путь к директории.
Filemask - необязательный параметр. Расширение для поиска по маске. Регистронезависимо:
*.ini;*.wav - соответствует любым файлам с расширениями 'ini' или 'wav' *.*|*.exe - соответствует любым файлам, кроме файлов с расширением 'EXE' *.mp3;*.wav|?.*;??.* - соответствует любым файлам с расширениями 'mp3' и 'wav', за исключением файлов у которых имя состоит из одного или двух символов.
Примеры
// Пример 1 log clear log mode compact set %a [1] 123 set %a [2] 456 // Для примера будут созданы папки и файлы 'txt' dircreate ("C:\folder987\folder654") // создать на диске 'C:\' папку 'folder987' и вложенную папку 'folder654' save_array %a C:\folder987\folder654\fail321.txt // сохранить массив в папку 'folder654' save_array %a C:\folder987\fail456.txt // сохранить массив в папку 'folder987' wait 500 // Поиск файлов с расширением 'txt' в папке 'folder654' dir (%result1 C:\folder987\folder654 *.txt*) log Найдено файлов: errorlevel // log size(%result1) - так тоже можно узнать количество файлов if size(%result1) > 0 log %result1 [1 1] - путь к файлу, с именем и расширением log %result1 [1 2] - путь к файлу log %result1 [1 3] - имя log %result1 [1 4] - расширение log %result1 [1 5] - размер log %result1 [1 6] - атрибуты log %result1 [1 7] - дата log %result1 [1 8] - время log %result1 [1 9] - уровень вложенности log %result1 [1 10] - путь с разбивкой (если 9й столбец содержит 0, то будет пустым) end_if log log -------------------- log // Поиск файлов с расширением 'txt' в папке 'folder987' dir (%result2 C:\folder987 *.txt*) // поиск файлов с расширением 'txt' log Найдено файлов: errorlevel if size(%result2) > 0 for #i 1 size(%result2) // цикл для вывода пути всех найденных файлов в лог log Путь к файлам: %result2 [#i 1] end_for end_if log log -------------------- log // Получить в массив информацию обо всех папках и файлах, находящихся на диске 'C:\' в папке 'folder987' dir (%result3 C:\folder987) log Найдено файлов и папок: errorlevel if size(%result3) > 0 for #i 1 size(%result3) // цикл для вывода пути всех найденных файлов в лог log Путь к файлам и папкам: %result3 [#i 1] end_for end_if // Можно сохранить результаты поиска: save_array %result1 C:\result1.txt save_array %result2 C:\result2.txt save_array %result3 C:\result3.txt End_script
Смотрите также
DirCreate
DirRemove
FileCopy
FileDelete
FileRename
История развития
2.30
добавил команду вывода дерева каталогов 'dir (%resultArray [path [filemask]])'. возвращает дерево в указанный массив, с разбивкой по столбцам. имя файла можно не указывать. при указании в качестве параметров только имени массива, возвращает текущий каталог. переменная 'errorlevel' содержит количество найденных элементов
дата_время размер атрибуты папка папка файл 15.10.2008 15:14:04 271696 A util VNC4 vncviewer.exe пример: set logging on set $path \ set $file *pilot* dir (%dir $path $file) for #i 1 size(%dir) set $s for #ii 4 size(%dir[1]) if %dir [#i #ii] = "" break end_if set $s $s \%dir [#i #ii] end_for set logging #i -> $path$s end_for end_script поддерживается поиск файлов по маске, регистронезависимо: '*.ini;*.wav' - соответствует любым файлам с расширениями 'ini' или 'wav' '*.*|*.exe' - соответствует любым файлам, кроме файлов с расширением 'EXE' '*.mp3;*.wav|?.*;??.*' - соответствует любым файлам с расширениями 'mp3' и 'wav', за исключением файлов у которых имя состоит из одного или двух символов.
2.33
Исправил вывод найденного пути в команде 'dir'.
Переделал команду 'dir' по предложению DarkMaster'а.
Возвращает по столбцам: 1) Полный корректный адрес с "\", именем файла, расширением. 2) Адрес. Полный адрес слепленный в нормальную строку с "\". 3) Имя файла без расширения. 4) Расширение файла. 5) Размер. 6) Атрибуты. 7) Дата. 8) Время. 9) Уровень вложенности для пункта 10. 10) Путь с разбивкой 1 папка 1 столбец (для вложенных папок и файлов)
2.38
Подправил команду 'dir', у каталогов больше не обрабатывается расширение.