Все опубликованные ниже примеры вы можете выполнить не только через создание и запуск BAT-файла, содержащего эти команды, но и скопировав их напрямую в командную строку .
Чтобы открыть командную строку в нужном месте (в папке с файлами, например), нужно вызвать контекстное меню (ПКМ) с зажатой клавишей :
О том, как работать с командной строкой вы можете прочесть в этой статье. Переходим непосредственно к командам.
Список всех команд консоли с описанием можно получить, набрав в консоли Справку по любой команде можно получить при помощи ключа Например: выведет справку по всем ключам команды
Удаление временных файлов перед выключением компьютера
Я думаю, что все как минимум слышали о sms-вирусах или сталкивались с ними лично. Bat-файл поможет вам правильно завершить работу компьютера, удалив временные файлы, в папку с которыми обычно и загружается вирус.
При следующей загрузке устройства (на ранней стадии) вирус делает записи в реестре, нарушая нормальную работу системы. И когда загружается рабочий стол, ситуацию уже сложнее исправить.
Разумеется, далеко не все вирусы работают по этой схеме, но тем не менее очистка временных файлов и кэша системы перед её выключением значительно снижает такие риски.
/wait “” “C:Program FilesCCleanerCCleaner64.exe” /auto
/wait “” “C:WINDOWSSystem32shutdown.exe” /s /t
Первой запускается программа CCleaner и удаляет все временные файлы на компьютере. Затем запускается программа выключения компьютера с задержкой в 15 секунд, чтобы избежать возможных конфликтов с работой CCleaner.
Необходимо создать BAT-файл и скопировать этот пример в него. Ярлык на bat-файл вывести на рабочий стол, назначить ему красивую иконку и выключать компьютер при помощи этого ярлыка-кнопки.
Получить список файлов в папке с помощью Bat-файла
Периодически пользуюсь bat-файлами для получения списков файлов в папках. Частая ситуация: по работе клиенты присылают от фотографа архив с фотографиями. Фотографии имеют названия в соответствии с артикулами товаров.
Никакой текстовой информации, сопровождающей фотографии нет. Необходимо сделать список на основе присланных фотографий и импортировать его в каталог товаров на сайте. Для каждого товара сделано по несколько фото. Они именованы так:
Сначала я получаю список всех файлов, находящихся в папке при помощи следующей команды:
Команда *.jpg позволит учитывать только JPG-файлы при составлении списка. Ключ позволит получить список, содержащий только имена файлов, находящихся в папке. Ключ выведет все имена в нижнем регистре. Команда создаст текстовой файл с именем filelist и запишет резутьтат туда.
Следующим шагом нужно избавиться от дублей, чтобы в списке осталось только по одной записи для каждого товара:
Команда будет осуществлять поиск в ранее полученном файле. Ключ позволяет искать записи без учёта регистра, а ключ записывает строки, в которых отсутствует искомое совпадение. В кавычках указана строка, совпадение с которой нужно фиксировать. И последняя команда запишет в файл temp все результаты, не содержащие в имени “
“. В результате я получу:
И далее на основе этого текстового списка буду готовить файл для импорта.
Если вам понадобится провести обратную операцию – вывести в файл temp.txt только совпадения, то в списке команд () вы не найдёте нужной. Есть только обратный фильтр по точному совпадению – .
Для этой задачи можно воспользоваться командой вывода номера строк , в которых имеются совпадения (номера выводятся вместе со строкой):
Главное при работе с текстовой информацией (текстовыми файлами) помнить один момент:
Если для текстовых операций вы в качестве исходника используете файл, который создали не через командную строку, он должен быть в кодировке, которая понимается командной строкой. Например, .
Иначе рискуете получить на выходе нечто такое:
Скопировать дерево каталогов без файлов
Когда я начинаю делать новые проекты, возникает необходимость получить дерево каталогов, аналогичное старому проектному с той разницей, что в ней не должно быть файлов. Для нового проекта проще добавить 3-5 файлов в нужные пустые папки, чем копировать существующий проект и удалять потом оттуда ненужное.
Получить дерево каталогов без файлов можно при помощи следующей команды:
folder_1 folder_2 /T /E
Команда берёт за основу дерево каталога по адресу и создаёт его копию в папке . Ключ позволяет осуществить копирование каталогов, не копируя файлы, лежащие в них. Ключ уточняет, что копировать необходимо все каталоги, в т.ч. пустые.
Оптимально для получения дерева каталогов нужно открыть командную строку в родительской папке каталога-донора и в этой же папке создать каталог, в который будет помещено копируемое дерево. При этом команде достаточно будет указать имена папки-донора и папки назначения (как в примере выше).
Посчитать количество файлов в каталоге
Если нужно посчитать количество файлов в конкретно взятом каталоге, можно воспользоваться следующим кодом:
Если материалы сайта оказались для вас полезными, можете поддержать дальнейшее развитие ресурса, оказав ему (и мне ) моральную и материальную поддержку.
Вы когда-нибудь сталкивались с этой проблемой, когда перечисляли все папки и подпапки из указанного каталога на листе? В Excel нет быстрого и удобного способа получить имена всех папок в определенном каталоге сразу. Разобраться с этой задачей может вам эта статья.
Список всех папок и подпапок с кодом VBA
Если вы хотите получить все имена папок из указанного каталога, следующий код VBA может вам помочь, сделайте следующее:
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
Код VBA: список всех папок и имен вложенных папок
Sub FolderNames()
‘Update 20141027
Application. ScreenUpdating = False
Dim xPath As String
Dim xWs As Worksheet
Dim fso As Object, j As Long, folder1 As Object
With Application. FileDialog(msoFileDialogFolderPicker)
. Title = “Choose the folder”
. Show
End With
On Error Resume Next
xPath = Application. FileDialog(msoFileDialogFolderPicker). SelectedItems
& “”
Application. Workbooks. Add
Set xWs = Application. ActiveSheet
xWs. Cells(1, 1). Value = xPath
xWs. Cells(2, 1). Resize(1, 5). Value = Array(“Path”, “Dir”, “Name”, “Date Created”, “Date Last Modified”)
Set fso = CreateObject(“Scripting. FileSystemObject”)
Set folder1 = fso.getFolder(xPath)
getSubFolder folder1
xWs. Cells(2, 1). Resize(1, 5). Interior. Color = 65535
xWs. Cells(2, 1). Resize(1, 5). EntireColumn. AutoFit
Application. ScreenUpdating = True
End Sub
Sub getSubFolder(ByRef prntfld As Object)
Dim SubFolder As Object
Dim subfld As Object
Dim xRow As Long
For Each SubFolder In prntfld. SubFolders
xRow = Range(“A1”). End(xlDown). Row + 1
Cells(xRow, 1). Resize(1, 5). Value = Array(SubFolder. Path, Left(SubFolder. Path, InStrRev(SubFolder. Path, “”)), SubFolder. Name, SubFolder. DateCreated, SubFolder. DateLastModified)
Next SubFolder
For Each subfld In prntfld. SubFolders
getSubFolder subfld
Next subfld
End Sub
3, Затем нажмите F5 ключ для запуска этого кода и Выбрать папку появится всплывающее окно, затем вам нужно выбрать каталог, в котором вы хотите отобразить имена папок и подпапок, см. снимок экрана:
4. Нажмите OK, и вы получите путь к папке и подпапкам, каталог, имя, дату создания и дату последнего изменения в новой книге, см. снимок экрана:
Как перечислить файлы в каталоге на лист в Excel?
Лучшие инструменты для офисной работы
Готовы ускорить свои задачи в Excel? Используйте силу Kutools for Excel – ваш лучший инструмент для экономии времени. Оптимизируйте сложные задачи и скользите по своим данным, как профессионал. Испытайте Excel с молниеносной скоростью!
Зачем тебе Kutools for Excel
Office Tab Добавляет в Office интерфейс с вкладками и значительно упрощает вашу работу
Оценок пока нет. Оцените первым!
Let’s say I want to get the size of each directory of a Linux file system. When I use ls -la I don’t really get the summarized size of the folders.
If I use df I get the size of each mounted file system but that also doesn’t help me. And with du I get the size of each subdirectory and the summary of the whole file system.
But I want to have only the summarized size of each directory within the ROOT folder of the file system. Is there any command to achieve that?
asked Jul 11, 2010 at 17:26
This does what you’re looking for:
du -sh /*
What this means:
Also useful is sorting by size:
answered Jul 11, 2010 at 17:28
2 gold badges17 silver badges16 bronze badges
I often need to find the biggest directories, so to get a sorted list containing the 20 biggest dirs I do this:
In this case the sizes will be reported in megabytes.
answered Jul 29, 2010 at 12:07
I like to use Ncdu for that, you can use the cursor to navigate and drill down through the directory structure it works really well.
12 silver badges15 bronze badges
answered Dec 24, 2015 at 10:07
The existing answers are very helpful, maybe some beginner (like me) will find this helpful as well.
answered Nov 22, 2012 at 16:53
2 silver badges7 bronze badges
du -d 1 /
answered Jul 11, 2010 at 17:29
1 silver badge7 bronze badges
This isn’t easy. The du command either shows files and folders (default) or just the sizes of all items which you specify on the command line (option -s).
To get the largest items (files and folders), sorted, with human readable sizes on Linux:
This will bury you in a ton of small files. You can get rid of them with –threshold (1 MB in my example):
The advantage of this command is that it includes hidden dot folders (folders which start with .).
If you really just want the folders, you need to use find but this can be very, very slow since du will have to scan many folders several times:
answered Jul 24, 2015 at 11:04
8 gold badges44 silver badges66 bronze badges
You might also want to check out xdiskusage. Will give you the same information, but shown graphically, plus allows to drill down (very useful). There are other similar utilities for KDE and even Windows.
answered Jul 12, 2010 at 19:42
10 gold badges68 silver badges93 bronze badges
answered Oct 5, 2013 at 15:36
You could use ls in conjunction with awk:
If you would convert this into a script or function (.bashrc) you can also use it to get the size of certain subsets of directories, according to filetypes.
If you want system wide information, kdirstat may came in handy!
answered Dec 20, 2016 at 9:56
Определить размер директории в Windows достаточно просто. Однако, если требуется сделать это с помощью PowerShell, то с этим могут возникнуть некоторые трудности.
Для примера выведем свойства директории с помощью командлета Get-Item:
Команда Get-Item возвращает основные свойства объекта, такие как его тип, имя, время последнего изменения и размер. Однако в случае с директорией размер (length) всегда остается пустым.
Это не ошибка, просто PowerShell не умеет напрямую определять размер директории. Однако он умеет определять размер отдельных файлов, поэтому мы можем вычислить размер директории, просуммировав все находящиеся в ней файлы. Для этого можно воспользоваться такой командой:
либо такой (что одно и то же):
В поле Sum мы видим общий размер всех файлов в папке, что по идее и является ее размером.
Для красоты переведем размер из байт в мегабайты и отформатируем вывод с помощью оператора форматирования (-f):
В итоге получаем размер директории 9.32MB. Для проверки откроем свойства папки в проводнике и сравним полученный результат с ее реальным размером. Как видите, данные не совпадают, реальный размер директории составляет 120MB.
Причина ошибки проста — мы посчитали только размер файлов, находящихся непосредственно в корне, но не учли поддиректории. Чтобы посчитать размер файлов во всех поддиректориях, необходимо запускать командлет Get-ChildItem с ключом -Recurse:
Вот теперь мы получаем правильный размер директории.
Ну и если требуется вывести подробные данные по размеру директории и всех поддиректорий, то можно воспользоваться следующим скриптом:
#Вводим имя директории
$MainFolder = Read-Host ″Enter folder name″;
Таким вот нехитрым 🙂 способом можно получить размер любой директории.
Если все сделали правильно, то вы получите список содержимого папки в файле под именем lst.txt. Теперь о том, как открыть этот файл, вернее с помощью чего. Дело в том, что если в выбранной директории или папке имеются файлы с названиями на русском языке то при попытке просмотра полученного списка в программе, не поддерживающей кодировку DOC, будут отображаться непонятные символы. Обычно это бывает в Блокноте. Поэтому лучше всего открывать с помощью Word. Наведите курсор на файл lst.txt и нажмите правую клавишу. В меню выберете “Открыть с помощью”, “Microsoft Word”. Появится окно “Преобразование файла”, где выберете кодировку MC-DOC.
Рассмотрим, как используя команды df и du просматривать свободное место на дисках и размеры папок в Linux.
Свободное место на диске (df)
Для просмотра свободного и занятого места на разделах диска в Linux можно воспользоваться командой df.
Первым делом можно просто ввести команду df без каких-либо аргументов и получить занятое и свободное место на дисках. Но по умолчанию вывод команды не очень наглядный — например, размеры выводятся в КБайтах (1К-блоках).
Примечание: df не отображает информацию о не смонтированных дисках.
Опция -h
Опция -h (или —human-readable) позволяет сделать вывод более наглядным. Размеры выводятся теперь в ГБайтах.
Размер конкретного диска
Команде df можно указать путь до точки монтирования диска, размер которого вы хотите вывести:
df -h /dev/sda9
Файл.система Размер Использовано Дост Использовано% Cмонтировано в
/dev/sda9 174G 25G 141G 15% /
Размер папок на диске (du)
Для просмотра размеров папок на диске используется команда du.
Если просто ввести команду без каких либо аргументов, то она рекурсивно проскандирует вашу текущую директорию и выведет размеры всех файлов в ней. Обычно для du указывают путь до папки, которую вы хотите проанализировать.
Если нужно просмотреть размеры без рекурсивного обхода всех папок, то используется опция -s (–summarize). Также как и с df, добавим опцию -h (–human-readable).
Размер конкретной папки
du -sh ./Загрузки
3,4G ./Загрузки
Размеры файлов и папок внутри конкретной папки
du -sh ./Загрузки/*
140K ./Загрузки/antergos-17.1-x86_64.iso.torrent
79M ./Загрузки/ubuntu-amd64.deb
49M ./Загрузки/data.zip
3,2G ./Загрузки/Parrot-full-3.5_amd64.iso
7,1M ./Загрузки/secret.tgz
Войдите, чтобы ставить лайки
Материалы по теме
Формат командной строки:
Параметры командной строки:
/A – Вывод файлов с указанными атрибутами:
D Каталоги
R Доступные только для чтения
H Скрытые файлы
A Файлы для архивирования
S Системные файлы
Префикс “-” имеет значение НЕ
-S НЕ системные файлы.
/B – Вывод только имен файлов.
/C – Применение разделителя групп разрядов для вывода размеров файлов (по умолчанию). Для отключения этого режима служит ключ /-C.
/D – Вывод списка в несколько столбцов с сортировкой по столбцам.
/L – Использование нижнего регистра для имен файлов.
/N – Отображение имен файлов в крайнем правом столбце.
/O – Сортировка списка отображаемых файлов.
Порядок: N По имени (алфавитная), S По размеру (сперва меньшие), E По расширению (алфавитная), D По дате (сперва более старые), G Начать список с каталогов. Префикс “-” имеет значение НЕ
/P – Пауза после заполнения каждого экрана.
/Q – Вывод сведений о владельце файла.
/R – Отображение альтернативных потоков файлов.
/S – Вывод списка файлов из указанного каталога и его подкаталогов.
/T – Выбор поля времени для отображения и сортировки
время:
C Создание (время создания – Create )
A Последнее использование (последний доступ – Accsess )
W Последнее изменение (последняя модификация Write)
/W – Вывод списка в несколько столбцов.
/X – Отображение коротких имен для файлов, чьи имена не соответствуют стандарту 8.3. Формат аналогичен выводу с ключом /N, но короткие имена файлов выводятся слева от длинных. Если короткого имени у файла нет, вместо него выводятся пробелы.
/4 – Вывод номера года в четырехзначном формате
Стандартный набор ключей можно записать в переменную среды DIRCMD. Для отмены их действия введите в команде те же ключи с префиксом “-“, например: /-W.
Примеры использования команды DIR
DIR /? – отобразить справку по использованию команды.
DIR – отобразить список файлов и подкаталогов текущего каталога.
DIR C:WINDOWS*.dll – отобразить список файлов с расширением dll из каталога
C:WINDOWS
DIR C:WINDOWSSYSTEM32X*.* – отобразить список файлов из каталога
C:WINDOWSSYSTEM32, имена которых начинаются с символа X
DIR C:WINDOWSSYSTEM32*Y. EXE – отобразить список файлов с расширением .exe из каталога
C:WINDOWSSYSTEM32, имена которых заканчиваются символом Y
DIR C:WINDOWSsystem32???t.* – отобразить список файлов, имя которых содержит
3 любых символа ( ??? ) и символ t
DIR C:WINDOWSSYSTEM32*.* /A:H – отобразить список скрытых файлов и подкаталогов из каталога C:WINDOWSSYSTEM32
DIR C: /A:-AH – отобразить список скрытых ( H ) файлов и подкаталогов из корневого каталога диска C: без атрибута “Архивный” ( -A )
DIR C: /A:DH – отобразить список скрытых каталогов в корне диска C:
dir c: /a:DH /d – тоже самое, но с отображением информации в несколько столбцов, с сортировкой имен в алфавитном порядке. Пример результата:
Том в устройстве C имеет метку C
Серийный номер тома: 1884-ABEC
Содержимое папки c:
0 файлов 0 байт
5 папок 103 593 283 584 байт свободно
Та же информация, но параметр /D не задан:
0 файлов 0 байт
Для сортировки имен отображаемых файлов и каталогов используется параметр /O
/O:-D – в обратном порядке ( от новых к старым )
/O:G – сначала отображать список каталогов, затем – файлов.
Использование параметра /T позволяет отсортировать списки файлов и каталогов в соответствии с отметками времени ( Time Stamp ), хранящимися в
файловой системе Windows для каждого из них:
dir %temp%*.* /a:H /TC – отобразить все скрытые файлы и папки в каталоге временных файлов, заданном переменной среды окружения TEMP, и отсортировать их в порядке возрастания даты создания.
dir %SystemRoot%system32*.exe /b /a:H /TA – отобразить список скрытых исполняемых файлов в системном каталоге и отсортировать их по времени последнего доступа.
DIR C: /X – отобразить список файлов и каталогов в корневом каталоге диска C:
с отображением коротких имен для файлов, чьи имена не соответствуют
стандарту 8.3. Стандарт 8.3 означает, что для имени файла отводится не более 8 символов, а для расширения – не более 3-х. Этот стандарт использовался в устаревших
операционных системах семейства MS-DOS, не поддерживавших длинные имена файлов.
Длинные имена преобразуются в короткие с использованием первых шести символов и конструкции ~N, где N – это порядковый номер для
имен, имеющих одинаковое начало и разное окончание после 8-го символа:
DOCUMENT – имя каталога содержит 8 символов и не преобразуется в стандарт 8.3
DOCUMENTS – имя содержит 9 символов и в формате 8.3 представлено как
DOCUME~2
Documents and Settings – представлено как DOCUME~1 поскольку
длинное имя файла преобразуется в стандарт 8.3 с учетом строчных и заглавных
символов, а коды строчных букв следуют в таблице символов перед кодами
заглавных.
Параметры командной строки команды DIR можно определить в переменной окружения
DIRCMD.
SET DIRCMD=/O:N /B /P – определить параметры /O, /B и /P.
После этого, выполнение команды DIR без параметров будет аналогично
выполнению команды:
DIR /O:N /B /P
Если в командной строке команды DIR задан параметр, определенный в переменной DIRCMD, то его значение более приоритетно, и будет использоваться в процессе выполнения данной команды.
Для расширения возможностей команды DIR можно воспользоваться объединением ее в цепочку с командой поиска текстовой информации FIND
Для обработки отдельных полей из строк вывода результатов команды DIR можно воспользоваться командой FOR
Параметр командной строки /R применим только в Windows 7 и более поздних версиях. Он используется для отображения альтернативных потоков файлов в файловой системе NTFS.
dir /r – отобразить список файлов текущего каталога с именами альтернативных потоков.
dir /r proxylist.zip – отобразить список альтернативных потоков файла proxylist.zip.
Пример отображаемой информации:
Дисковое пространство не вечно. Рано или поздно приходит момент, когда его катастрофически не хватает. Эффективный способ это исправить — найти файлы и директории, которые занимают больше всего места.
Рассмотрим, как это сделать в Linux с использованием команд и
Поиск больших файлов командой find
Команда имеет опцию , которая позволяет указать размер файлов для поиска.
Найдем файлы, которые занимают больше 1Gb:
В результате выполнения команды будет выведен список файлов без какой-либо дополнительной информации.
Вывод подробной информации
Добавим в вывод информацию о каждом файле и отсортируем список по размеру. Выполняем команду
Данная команда состоит из трех частей:
Поиск больших файлов и директорий командой du
Команда используется для вывода размеров файлов и директорий в Linux. Ее можно использовать для поиска больших файлов и директорий. Для этого выполняется команда и результат сортируется по размеру. Таким образом можно увидеть, кто занимает больше всего места на диске.