8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Редактирование реестра Windows из командной строки, bat-файлы

Редактирование реестра Windows из командной строки, bat-файлы

На нашем ресурсе уже есть публикация, описывающая основной способ работы с системным реестром Windows : Изменение параметров cистемного реестра Windows. Также мы рассматривали способ автоматизации процесса при помощи специальных файлов: Создание reg-файлов. Синтаксис редактирования записей реестра — позволяющий значительно упростить монотонную работу и воспроизведение часто используемых настроек. В рамках данной статьи мы затронем логическое продолжение темы, а именно, поговорим о том, как редактировать реестр из командной строки.

Bat файл — что к чему, вводная

Для начала немного о том, что такое bat файл , зачем он нужен и с чем его (или их) едят. Дабы не изобретать велосипед воспользуюсь выдержкой из Википедии:

Пакетный файл (т.е bat файл, от англ. batch file ) — текстовый файл в MS-DOS, OS/2 или Windows , содержащий последовательность команд, предназначенных для исполнения командным интерпретатором.

После запуска пакетного файла, программа — интерпретатор (как правило COMMAND.COM или CMD.EXE ) читает его строка за строкой и последовательно исполняет команды.

Пакетный файл — аналог shell script в Unix -подобных операционных системах.

Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера.

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

Пакетные файлы поддерживают операторы if и goto (а в системах семейства Windows NT и расширенный оператор for ), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).

Пакетные файлы в DOS имеют расширение . bat ; для других операционных систем они могут иметь другие расширения — например, . CMD в Windows NT и OS/2 , или .BTM в 4DOS или подобных оболочках.

С теорией разобрались, приступим к, собственно, практике, а именно созданию bat-ника.

Скачивание, загрузка и удаление файлов с FTP-сервера из командной строки

Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов c FTP-сервера. Например, при работе с распределенными базами данных 1С или для сохранения резервных копий. Но не все знают, что эти процедуры можно выполнять из командной строки, не прибегая к дополнительному программному обеспечению, то есть средствам Windows. Ниже я приведу синтаксис команд для работы с FTP, а также примеры bat-файлов для этих операций.

1. Команда ftp

Для обмена файлами с FTP-сервером используется команда ftp, вот ее синтаксис:

FTP [-v] [-d] [-i] [-n] [-g] [-s:имя_файла] [-a] [-A] [-x:sendbuffer]
[-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [узел]

-vОтключение вывода на экран ответов с удаленного сервера.
-nОтключение автоматического входа при начальном подключении.
-iОтключение интерактивных запросов при передаче нескольких
файлов.
-dВключение отладочного режима.
-gОтключение глобализации имен файлов (см. команду GLOB).
-s:имя_файлаЗадание текстового файла, содержащего команды FTP, которые
будут выполняться автоматически при запуске FTP.
-aИспользование локального интерфейса для привязки соединения.
-AАнонимный вход в службу.
-x:send sockbufПереопределение стандартного размера буфера SO_SNDBUF (8192).
-r:recv sockbufПереопределение стандартного размера буфера SO_RCVBUF (8192).
-b:async countПереопределение стандартного размера счетчика async (3)
-w:windowsizeПереопределение стандартного размера буфера передачи (65535).
узелЗадание имени или адреса IP удаленного узла,
к которому необходимо выполнить подключение.
Читать еще:  Точка восстановления в Windows 7/10 - как создать, использовать или удалить

Как видно, здесь нет операторов для подключения к серверу и работы с файлами. Дело в том, что эта команда только запускает сеанс ftp:

Далее, работа с FTP-сервером происходит уже при помощи следующих операторов (пропустить) :

!
Временный переход в оболочку.

append
Добавление в файл.

ascii
Установка режима передачи файлов в формате ascii.

bell
Выдача звукового сигнала по завершении команды

binary
Установка режима передачи файлов в двоичном формате.

bye
Завершение сеанса ftp и выход.

cd
Изменение рабочего каталога на удаленном компьютере, где:
— имя каталога, который станет рабочим.

close
Завершение сеанса ftp.

debug
Переключение режима отладки.

delete
Удаление файла на удаленном компьютере, где:
— имя файла для удаления.

dir [ ] [ ]
Вывод содержимого каталога удаленного компьютера, где:
— каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
— задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

disconnect
Завершение сеанса ftp.

get [ ]
Получение файла, где:
— удаленный файл для копирования;
имя файла на локальном компьютере.

glob
Переключение метасимвольного расширения имен локальных файлов.

hash
Переключение вывода «#» для каждого переданного блока данных.

help [ ]
Вывод справочных сведений для команды ftp, где:
Команда, описание которой будет выведено, если не задана, произойдет вывод всех команд.

lcd [ ]
Изменение локального каталога рабочего компьютера, где:
— Имя нового локального каталога, если не задан то будет использоваться имя текущего каталога.

literal
Отправка произвольной команды ftp, где:
— команды для отправки;

ls [ ] [ ]
Вывод сокращенного содержимого каталога удаленного компьютера, где:
— каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
— задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mdelete …
Удаление нескольких файлов на удаленном компьютере, где:
— имена файлов для удаления.

mdir …
Вывод содержимого нескольких каталогов удаленного компьютера, где:
— каталог, содержимое которого будет выведено;
— задает локальный файл, для сохранения в список, если не задан, список выводится на экран.

mget …
Получение нескольких файлов, где:
— удаленный файл для копирования.

mkdir
Создание каталога на удаленном компьютере, где:
— имя удаленного каталога для создания.

mls …
Вывод сокращенного содержимого нескольких каталогов удаленного компьютера, где:
— каталог, содержимое которого будет выведено, если не задан, используется текущий каталог;
— задает локальный файл, для сохранения в список.

mput
Отправка нескольких файлов, где:
— имя локальных файлов, которые будут скопированы.

prompt
Переключение интерактивной подсказки для составных команд.

put [ ]
Отправка одного файла, где:
— имя локального файл для копирования;
— имя файла на удаленном компьютере.

pwd
Вывод рабочего каталога удаленного компьютера.

quit
Завершение сеанса ftp и выход в командную строку.

quote
Отправка произвольной команды ftp, где:
— команда для отправки.

recv [ ]
Получение файла с использованием текущих настроек типов файлов, где:
— удаленный файл для копирования;
— имя файла на локальном компьютере.

remotehelp [ ]
Получение справочных сведений о командах удаленной системы, где:
— команда удаленной системы, если не задан, то выводится список всех команд.

Читать еще:  Как установить новый шрифт в Windows 10 пошагово

rename
Переименование удаленного файла, где:
— имя файла для переименования;
— новое имя файла.

rmdir
Удаление каталога на удаленном компьютере, где:
— имя каталога для удаления.

send [ ]
Копирование одного файла с использованием текущих настроек типов файлов, где:
— имя локального файл для копирования;
— имя файла на удаленном компьютере.

status
Отражение текущего состояния подключения ftp.

trace
Переключение трассировки пакетов.

type [ ]
Установка типа передачи файлов, где:
— тип передачи файлов, если не указан будет выведен текущий тип передачи файлов.

user [ ] [ ]
Отправка сведений для подключения к удаленному компьютеру, где:
— имя пользователя для подключения к удаленному компьютеру;
— пароль, для указанного имени пользователя, если не указан, но требуется для подключения, команда ftp запросит его у пользователя;
— учетная запись для подключения к удаленному компьютеру, если не указана, но требуется для подключения, команда ftp запросит ее у пользователя;

verbose
Переключение режима вывода сообщений.

Рассмотрим небольшой пример.

Пусть у нас есть FTP-сервер с адресом tavalik.ru, имя пользователя для подключения — tavalik, пароль — 1234567890. Требуется загрузить на сервер в директорию «TempBackup» файл file_data.dat из «C:example», а затем сохранить его же на локальный компьютер, в эту же директорию, но уже под именем file_from_ftp.dat.

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

В итоге получим требуемый результат:

Обратите внимание, что при указании полного пути на FTP-сервере используется знак «/» между директориями, а для указания пути на локальном компьютере будет использоваться, как обычно, знак «». Кроме того, если путь будет содержать пробелы, то следует заключить его в кавычки.

Возможен также запуск команды ftp и в пакетном режиме. Эту же задачу можно решить, выполнив команду «ftp -v -n -s:transport.txt» ,

где файл transport.txt находится в директории «C:example» и содержит тот же набор операторов:

2. Пример bat-файла для загрузки файла на FTP

Теперь попробуем написать «батник» для загрузки файлов на FTP-сервер. Для этого создадим новый текстовый документ, и переименуем его в put_on_ftp.bat . Редактировать его можно обычным Блокнотом, но удобнее это делать с помощью бесплатной программы Notepad++.

Для начала напишем «батник», который будет загружать на сервер tavalik.ru файл file_data.dat из «С:example» . Алгоритм работы bat-файла будет такой:

  • Создаем файл transport.txt с последовательностью операторов ftp;
  • Выполняем команду ftp, указав в качестве параметров созданный файл;
  • Удаляем transport.txt.

В данном примере имя файла и директорий жестко прописаны в файле. Это не всегда удобно. Доработаем bat-файл таким образом, чтобы данные для загрузки он получал в качестве параметров, а также вынесем все изменяемые значения в переменные файла. Получим следующий код (скачать файл):

Соответственно, чтобы скопировать файл file_data.dat из «C:example» на FTP-сервер в «TempBackup» , потребуется запустить этот «батник» указав в качестве параметров имя файла, локальный и удаленный каталоги.

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

Смотрите также:

Не все знают, что можно создать прямую ссылку на файл, хранимый на FTP-Сервере, «зашив» в нее логин и пароль. Также возможно создать ярлык на какую-либо директорию или даже подключить ее…

Может случиться так, что в процессе установки MS SQL Server 2012 были установлены компоненты, необходимость в которых со временем отпала (или были установлены по ошибке). В этом случае, в целях…

Читать еще:  Как настроить Windows под себ

FTP-Сервер обеспечивает возможность передачи файлов между клиентом и сервером с помощью протокола FTP. Здесь будет рассказано как запустить FTP-сервер в Windows Server 2008 R2. 0. Оглавление Добавление службы FTP-сервер Добавление…

Запуск bat-файлов от имени администратора и по расписанию, скрытый запуск bat

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

Кроме того, можно сделать так, что конкретный батник будет запускаться с повышенными привилегиями всегда. Для этого необходимо создать на такой скрипт обычный ярлык, открыть его свойства, нажать кнопку «Дополнительно» и отметить в открывшемся окошке галочкой пункт «Запуск от имени администратора». Этот способ хорош ещё тем, что позволяет выбрать для ярлыка любой значок, тогда как файл с расширением BAT или CMD всегда будет иметь невзрачный вид.

Скрипты, как и все приложения, можно запускать по расписанию. Команда timeout /t здесь не совсем уместна, для отложенного запуска лучше всего использовать встроенный «Планировщик задач» Windows. Здесь всё просто. Открываем командой taskschd.msc Планировщик, определяемся с триггером, действие выбираем «Запустить программу» и указываем путь к bat-файлу. Вот и всё, скрипт будет запущен в положенное время.

И напоследок ещё один интересный момент. Когда вы запускаете bat-файл, на экране появляется, пусть даже на какую-то долю секунды, окно командной строки. А нельзя ли сделать так, чтобы скрипт выполнялся в скрытом режиме? Можно, причём несколькими способами. Самый простой заключается в следующем. Создаём на bat-файл ярлык, открываем его свойства и в меню «Окно» выбираем «Свёрнутое в значок». После этого единственным видимым признаком запуска скрипта будет появление значка CMD на панели задач, окон же при этом открываться не будет.

Если вы желаете полностью скрыть выполнение скрипта, можете воспользоваться «костылем» – скриптом VВS, который будет запускать ваш батник в скрытом режиме. Текст скрипта приведен ниже, сохраните его в файл hidden.vbs, предварительно заменив путь во второй строчке кода D:/sсript.bat путём к вашему батнику.

Есть также и другие варианты, например, использование утилиты Hidden Start, позволяющей запускать исполняемые и пакетные файлы в скрытом режиме, в том числе без приглашения UAC.

А на этом пока всё. Информацию касательно создания скриптов BAT без труда можно найти в интернете. Неплохо также ознакомиться с учебником Уильяма Станека «Командная строка Microsoft Windows». Несмотря на то, что с момента издания книги прошло более десяти лет, содержащаяся в ней информация до сих пор актуальна.

Заключение

Вот мы и разобрались, как создать bat-файл в Windows 10 и 7. Задача подразумевает сохранение скрипта через текстовый редактор. Это элементарные действия – создание и применение возможностей «батников». На самом деле, их возможности достаточно обширны и позволяют автоматизировать много задач и решить проблемы с выполнением некоторых программ.

В рамках одной статьи сложно описать все команды, которые используют в таких файлах. Если нужна помощь в создании «батника», просто напишите в . Обязательно постараемся помочь! Всем пока!

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector