Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы



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

В первой статье мы рассмотрели простые примеры использования батников, но как оказалось написание батников очень интересно практически всем и уже все хотят узнать что-то более сложное, с помощью которого можно еще больше упростить автоматизацию некоторых процессов.

Пример 1. При архивировании чего-либо, многих интересует вопрос «Как удалять старые архивы за ненадобностью с помощью батника?» например, все они лежат в одной папке и нужно удалять все архивы, которые старше 14 дней. После того как я почитал мануалы, полазил в Интернете, я могу предложить следующий способ.

Можно сделать, так что в папке с архивами будут хранится только определенное количество архивов, соответственно последних (т.е. как раз в нашем случае за последние 2 недели).

Это делается с помощью двух команд. Первая это DIR, т.е. просто считываем все файлы в одной папке, и записываем их название в текстовый файл.

dir D:\arhiv\.rar /a:-D/b/o:-D > list_of_files.txt

где,

dir D:\arhiv\.rar – это означает что мы считываем все rar архивы в папке D:\arhiv\

/a:-D – это означает, что будут выводиться все файлы с указанными атрибутами, ключ -D означает, что нам нужны только файлы, не каталоги, префикс «-»  как раз имеет значение отрицание, т.е. не каталоги, если бы мы написали просто D то он считывал бы и каталоги.

/b – это вывод только имен файлов

/o:-D – это сортировка, ключ –D означает, что будет выполнена сортировка по дате, но сначала более старые, для исправления этого мы уже знаем, что нам поможет префикс «-»

> - означает, что будет выполнено перенаправление вывода в файл list_of_files.txt, назвать можете по-другому.

Вот мы считали все наши архивы и записали их в файл, далее нам нужно перебрать все эти файлы и оставить только 14 штук, т.е. за последние 2 недели. Это делаем с помощью команды FOR, это своего рода цикл, который выполняет определенное действие для каждого файла в папке или каждой строки в файле, как в нашем случае.

for /F "skip=13" %%i in (list_of_files.txt) do (del /Q "%%i")

где,

for – сама команда для переборки

/F "skip=13" – это ключ с параметром, который означает, что не нужно обрабатывать первые 13 файлов, т.е. мы их пропускаем. Почему 13 а не 14 да потому что 14 архив (т.е. сегодняшний который должен создаться при выполнение этого батника) еще не создался, поэтому и 13.

%%i – переменная, в которой хранится название текущего файла

In (list_of_files.txt) – означает что перебирать все строки именно в этом файле

do (del /Q "%%i") -  говорит что необходимо сделать с каждым, в нашем случае мы просто удаляем эти файлы с помощью del /Q ключ /Q для того чтобы у нас не спрашивали подтверждения перед удалением. Советую для тестов del /Q заменить на echo т.е. просто вывести на экран те файлы.

Итого у нас получился вот такой батник:

dir D:\arhiv\.rar /a:-D/b/o:-D > list_of_files.txt

for /F "skip=13" %%i in (list_of_files.txt) do (del /Q "%%i")

Соответственно после этих строк можете писать сам код архивации, и в итоге у нас получится то, что в нашей папке будет храниться только 14 архивов, конечно же, самых последних.

Пример 2. В батниках можно даже использовать переменные, как в настоящем языке программирования. Рассмотрим простейший пример использования переменных, например, мы, хотим умножать на 2, число которое мы введем в поле при запуске батника.

@echo off

SET a=2

SET /p b=[введите второе число для умножения]

SET /a c=%a%%b%

echo %c%

pause

Как вы поняли, переменные задаются с помощью команды SET. Для того чтобы использовать переменную в дальнейшем мы с обеих сторон переменной подставляем знак процента (%), для того чтобы командная строка поняла, что это именно переменная.

@echo off – для того чтобы наши команды не отображались на экране

SET a=2 – это просто задаем переменной «a» значение

SET /p b=[введите второе число для умножения] – это мы задаем переменной «b» значение которое мы введем в поле, для того чтобы батник понял, что мы хотим сами ввести значение переменной, используется ключ /p

SET /a c=%a%%b% - задаем переменной «c» результат нашего выражение (в нашем примере это умножение).

echo %c% - выводим на экран значение переменной «c»

pause – это мы просто ставим на паузу выполнение нашего bat файла, чтобы просто на всего увидеть все результаты.

Кстати, для того чтобы у вас русские буквы нормально отображались в командной строке, сохраните бат файл в кодировке DOS-866.

С переменными разобрались, теперь давайте, применим это к нашему первому примеру, допустим, мы хотим оставлять не 14 архивов, а то количество, которое сами захотим, для этого мы с вами при запуске батника будем вводить число архивов, которое нужно сохранить. Получится примерно вот так:

@echo off

SET /p chislo=[сколько архивов сохранить?]

dir D:\test\.rar /a:-D/b/o:-D > list_of_files.txt

for /F "skip=%chislo%" %%i in (list_of_files.txt) do (del /Q "%%i")

Ну, вот примерно вот так, конечно на практике может это и не понадобиться, но зато мы узнали, как можно использовать переменные.

Про переменные хочу еще сказать, что есть такие системные переменные как:

%DATE% - показывает текущую дату.

%TIME% - показывает текущее время.

Для примера выполните следующий код:

echo %DATE%

echo %time:0,-3%

pause

Переменную %TIME% я написал именно таким образом, для того чтобы результат вывелся в более читабельном виде, попробуйте написать %TIME% и % TIME:0,-3% у Вас, во втором случае уберутся 3 последних знака.

На самом деле системных переменных больше просто эти могут потребоваться чаще остальных.

Пример 3. Как и в других полноценных языках в батниках можно использовать оператор условного выполнения IF. Приведем небольшой пример, батник просто проверяет, существует файл или нет:

@echo off

IF EXIST test.txt (

echo Файл существует

) ELSE (

echo Файла такого нет

)

Pause

где,

IF EXIST test.txt – это как раз и идет проверка на наличие файла.

После, в скобках, идет то, что мы хотим сделать, если файл существует, а если файла не существует то после ELSE, идет то, что нужно выполнить при отсутствии файла.

Теперь немного модифицируем наш пример с умножением на 2 введенное нами число, просто, если вдруг мы введем ноль, мы выведем соответствующие сообщение и попросим ввести заново число.

@echo off

SET a=2

:metka

SET /p b=[введите второе число для умножения]

SET /a c=%a%%b%

if %c%==0 (echo вы ввели число 0, введите другое) else echo %c%

if %c%==0 (goto:metka)

pause

Тут уже все знакомо, единственное, что при сравнении переменной «c» используется оператор сравнения == (два равно), так как просто равно (=) это оператор присваивания. Если вы заметили я здесь использовал оператор goto т.е. переход к нужной метки. Другими словами ставим метку и в зависимости от результата проверки  условия, будет осуществлен переход к нужной метки.

Теперь хотелось бы отметить то что многие используют в работе, например для создания архива, программу winrar и конечно же используют ее в своих батниках, но многие задают вопросы по ключам которые относятся к winrar. Вы не путайте ключи winrar используются только для этой программы, а не для всего, что есть в батниках, т.е. командной строке, например если вы используете 7zip то ключи уже будут другие. Что касается ключей winrar то, полный и лучший справочник, на мой взгляд, есть, конечно же, в самом winrare. Для того чтобы посмотреть описание ключей winrar откройте программу winrar зайдите в меню Справка, затем нажмите Содержание, а далее выберите в самом содержание строку «режим командной строки» где и будет описание всех ключей, даже приводятся простенькие примеры. Соответственно если у вас английская версия winrar то смысл такой же только будет все на английском языке.

На этом вторая наша часть изучения батников закончена. Удачи!

Похожие статьи:


Источник: http://info-comp.ru/obucheniest/196-bat-file-part-2.html



Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Как сделать чтобы отображались скрытые файлы

Похожие новости: