Файл сценария командной строки

How to Write a CMD Script. A CMD script allows you to perform multiple Windows operations just by double-clicking the CMD script file. The operations that you want the CMD file to perform are entirely up to you, making these file types very useful in a business environment. You can make a CMD script using any text ...

If you have every used the Command Line, or CMD, interface in Windows, you probably have some idea of the powerful things it can do. Creating your own CMD scripts, you can do even more, but faster.

A CMD script does the same thing as if you typed commands into the CMD window. If you want to do something on a regular basis, such as telling Windows to turn off your computer after an hour, you can write a script and then you can activate the script whenever you want to run it.

Understanding CMD and Written Commands

In the early days of personal computing almost everything was done by typing command_s into a command line interface. If you wanted to open a program, you had to type the name of the program into the command line. Today, you can simply click or touch an icon on your screen to perform most actions. But Windows still accepts type-written commands in the CMD utility. You can write commands_ to open programs, add or change account permissions, back up files or get information about your computer using the CMD window.

Understanding CMD Scripts

The Command Prompt utility in Windows can be opened at any time, simply by typing «cmd» in the Windows Start menu. Here, you can type all sorts of commands to open programs, change settings and make tweaks to how Windows and its programs perform. In Microsoft’s long history of operating systems, CMD i_s a relative newcomer. In MS-DOS, before Windows was released, when you wanted to run a script, you would save it as a .bat file. While you can still save files with that extension today, most people use the .cmd extension._

Using a Script CMD to Open Notepad

To create and save a CMD switch, it’s best to use a basic text editor. Using a word processor like Microsoft Word makes saving the file a hassle. Notepad is much easier to use. So to demonstrate how CMD works, let’s open use it to open Notepad.

  1. Type CMD in the Windows Start menu and press Enter to open CMD.exe.
  2. Change the directory from your current username folder to the base directory by typing «cd» and pressing Enter. It should now read «C:>» before the blinking cursor.
  3. Type the following line and press Enter: start «c:windowssystem32» notepad.exe

As soon as you press Enter, you will see Notepad open. The command you entered has told Windows to start the notepad.exe program, which is located in the system32 folder, which is inside the Windows folder, on the C: drive. CMD commands are not case-sensitive so you can use lowercase or uppercase letters interchangeably.

Creating Your First Script CMD File

Now that Notepad is open, create your first CMD script file by typing the same line you used in the CMD window into notepad: start «c:windowssystem32» notepad.exe

Save the batch file to your desktop by selecting «Save As» from the File menu. Name the file «firstscript.cmd» and click «Save.» Notepad script commands must be saved with the .cmd extension, rather than the default .txt extension.

Double-click the new CMD file on your desktop. You will see the CMD window open for a fraction of a second and then close as Notepad is launched.

This is hardly a useful script, since a desktop shortcut does the same thing. To create something more useful, let’s edit the file so that it creates a new text file on your desktop listing all of your programs.

Using Echo and Echo Off

While the CMD window wasn’t open long enough to see it, by default it will always display the text that was entered in the CMD file when it runs. For longer scripts, this can be a nuisance, so it’s generally good form to turn this off by using the Echo Off command in the first line of the CMD file. By itself, Echo Off disables the display of any text that follows it. To make the Echo Off command apply to itself, put an @ symbol in front of it. Thus, your two-line CMD script would be:

@echo off

start «c:windowssystem32» notepad.exe

Creating a Text File Script

This CMD script will list all the files you have in your Program Files folder and put that list in a new text file.

  1. Open Notepad. Type «@echo off«in the first line and press Enter.
  2. In the second line, type: dir «C:Program Files» > list_of_files.txt
  3. Select «Save As» from the File menu and save the file as «program-list-script.cmd.»
  4. Double-click the new text file on your desktop to see the list of files and folders.

The text file will appear in the same folder where the script file itself is. So if the script file is on your desktop, the list-of-files.txt file will also appear on your desktop.

If you want to change the folder where the text file is placed, you can specify its own folder in the script. For example, if you want it to be placed in your Documents folder, use: dir «C:Program Files» > C:UsersDavidDocumentslist_of_files.txt

Creating a Systems Information Script

If you want to use a script to give you needed information, it’s not always necessary to produce a text document with a script. You can have the information posted directly in the CMD window.

The example script below will give you basic information about your computer, including the operating system and version number, the BIOS version, the total physical memory and your computer’s network address. To use the script, type or copy the lines below into a new Notepad file and save it with the .cmd file extension, such as «my_computer_info.cmd.»

In this example, ECHO OFF is used to prevent the CMD window from displaying the script.

The ECHO command is used to display specific text, as well as some equal signs (===) as lines to organize the information in sections.

To insert a comment for your own use — without it affecting the script or appearing in the CMD window — type two colons first. Anything in the same line following » :: « will be commented out from the script.

The PAUSE command directs the CMD program to stay open. Pressing any key on your keyboard will close the window.

@ECHO OFF

:: This CMD script provides you with your operating system, hardware and network information.

TITLE My System Info

ECHO Please wait… Gathering system information.

ECHO =========================

ECHO OPERATING SYSTEM

systeminfo | findstr /c:»OS Name»

systeminfo | findstr /c:»OS Version»

ECHO =========================

ECHO BIOS

systeminfo | findstr /c:»System Type»

ECHO =========================

ECHO MEMORY

systeminfo | findstr /c:»Total Physical Memory»

ECHO =========================

ECHO CPU

wmic cpu get name

ECHO =========================

ECHO NETWORK ADDRESS

ipconfig | findstr IPv4

ipconfig | findstr IPv6

PAUSE

Using Scripts to Shut Down Your Computer

Normally, when you shut down your computer, it happens instantaneously. Suppose, however, that you’re listening to an audiobook or watching a training video — and you know that you will fall asleep after an hour. You can use a CMD script to tell your computer to shut itself down, after a specified period of time, using the shutdown command.

When you use the shutdown command, you need to include two additional switches, or subcommands. The first tells the computer to either shutdown or restart. You can use either -s or — r. The second tells the computer how many seconds to wait before performing the command. For this you use -t, followed by the number of seconds.

To shutdown the computer in one second, use: shutdown -s -t 01

To restart the computer in eight seconds, use: shutdown -r -t 08

To shutdown the computer in two hours use: shutdown -s -t 7200

Backing Up Files With a CMD Script

If you find it tedious to back up your files to a second storage device, using a CMD script makes the process a breeze. For this, use the Robocopy command. For example, if you want to back up all of the files in your Documents folder onto a removable storage device, you can write the command in a CMD file and then — at the end of the day — simply double click the file to activate it.

The Robocopy command needs to know, first — which folder you want to copy and, second — where you want the copy placed. Both the source and destination need to be in quotation marks.

If you’re not certain what your drive letters are, open File Explorer and click on «My Computer.»

For example, if your User name is MyName, your Documents folder is in your C: drive and your Backup folder is in a removable storage D: drive, then the command would be:

robocopy D:UsersMyNameDocuments F:Backup /XA:H /W:0 /R:1 > F:Backupbackup.log

This example is a bit more complicated, since Robocopy offers you a lot of options.

D:UsersMyNameDocuments: the folder you want to back up.

F:Backup: the location of your Backup folder.

/XA:H: ignores hidden files.

/W:0: waits zero seconds between retries, instead of the default 30 seconds.

/R:1: retry only once if the file is locked.

> F:Backupbackup.log: create a backup log placed in the Backup folder.

Note that because this is a mirror backup, if you delete files from the source folder, they will be deleted from the Backup folder the next time you use the script. It would be a good idea to explore additional switches available for Robocopy, so that you ensure that you backup your files the way that works best for you.

If you have every used the Command Line, or CMD, interface in Windows, you probably have some idea of the powerful things it can do. Creating your own CMD scripts, you can do even more, but faster.

A CMD script does the same thing as if you typed commands into the CMD window. If you want to do something on a regular basis, such as telling Windows to turn off your computer after an hour, you can write a script and then you can activate the script whenever you want to run it.

Understanding CMD and Written Commands

In the early days of personal computing almost everything was done by typing command_s into a command line interface. If you wanted to open a program, you had to type the name of the program into the command line. Today, you can simply click or touch an icon on your screen to perform most actions. But Windows still accepts type-written commands in the CMD utility. You can write commands_ to open programs, add or change account permissions, back up files or get information about your computer using the CMD window.

Understanding CMD Scripts

The Command Prompt utility in Windows can be opened at any time, simply by typing «cmd» in the Windows Start menu. Here, you can type all sorts of commands to open programs, change settings and make tweaks to how Windows and its programs perform. In Microsoft’s long history of operating systems, CMD i_s a relative newcomer. In MS-DOS, before Windows was released, when you wanted to run a script, you would save it as a .bat file. While you can still save files with that extension today, most people use the .cmd extension._

Using a Script CMD to Open Notepad

To create and save a CMD switch, it’s best to use a basic text editor. Using a word processor like Microsoft Word makes saving the file a hassle. Notepad is much easier to use. So to demonstrate how CMD works, let’s open use it to open Notepad.

  1. Type CMD in the Windows Start menu and press Enter to open CMD.exe.
  2. Change the directory from your current username folder to the base directory by typing «cd» and pressing Enter. It should now read «C:>» before the blinking cursor.
  3. Type the following line and press Enter: start «c:windowssystem32» notepad.exe

As soon as you press Enter, you will see Notepad open. The command you entered has told Windows to start the notepad.exe program, which is located in the system32 folder, which is inside the Windows folder, on the C: drive. CMD commands are not case-sensitive so you can use lowercase or uppercase letters interchangeably.

Creating Your First Script CMD File

Now that Notepad is open, create your first CMD script file by typing the same line you used in the CMD window into notepad: start «c:windowssystem32» notepad.exe

Save the batch file to your desktop by selecting «Save As» from the File menu. Name the file «firstscript.cmd» and click «Save.» Notepad script commands must be saved with the .cmd extension, rather than the default .txt extension.

Double-click the new CMD file on your desktop. You will see the CMD window open for a fraction of a second and then close as Notepad is launched.

This is hardly a useful script, since a desktop shortcut does the same thing. To create something more useful, let’s edit the file so that it creates a new text file on your desktop listing all of your programs.

Using Echo and Echo Off

While the CMD window wasn’t open long enough to see it, by default it will always display the text that was entered in the CMD file when it runs. For longer scripts, this can be a nuisance, so it’s generally good form to turn this off by using the Echo Off command in the first line of the CMD file. By itself, Echo Off disables the display of any text that follows it. To make the Echo Off command apply to itself, put an @ symbol in front of it. Thus, your two-line CMD script would be:

@echo off

start «c:windowssystem32» notepad.exe

Creating a Text File Script

This CMD script will list all the files you have in your Program Files folder and put that list in a new text file.

  1. Open Notepad. Type «@echo off«in the first line and press Enter.
  2. In the second line, type: dir «C:Program Files» > list_of_files.txt
  3. Select «Save As» from the File menu and save the file as «program-list-script.cmd.»
  4. Double-click the new text file on your desktop to see the list of files and folders.

The text file will appear in the same folder where the script file itself is. So if the script file is on your desktop, the list-of-files.txt file will also appear on your desktop.

If you want to change the folder where the text file is placed, you can specify its own folder in the script. For example, if you want it to be placed in your Documents folder, use: dir «C:Program Files» > C:UsersDavidDocumentslist_of_files.txt

Creating a Systems Information Script

If you want to use a script to give you needed information, it’s not always necessary to produce a text document with a script. You can have the information posted directly in the CMD window.

The example script below will give you basic information about your computer, including the operating system and version number, the BIOS version, the total physical memory and your computer’s network address. To use the script, type or copy the lines below into a new Notepad file and save it with the .cmd file extension, such as «my_computer_info.cmd.»

In this example, ECHO OFF is used to prevent the CMD window from displaying the script.

The ECHO command is used to display specific text, as well as some equal signs (===) as lines to organize the information in sections.

To insert a comment for your own use — without it affecting the script or appearing in the CMD window — type two colons first. Anything in the same line following » :: « will be commented out from the script.

The PAUSE command directs the CMD program to stay open. Pressing any key on your keyboard will close the window.

@ECHO OFF

:: This CMD script provides you with your operating system, hardware and network information.

TITLE My System Info

ECHO Please wait… Gathering system information.

ECHO =========================

ECHO OPERATING SYSTEM

systeminfo | findstr /c:»OS Name»

systeminfo | findstr /c:»OS Version»

ECHO =========================

ECHO BIOS

systeminfo | findstr /c:»System Type»

ECHO =========================

ECHO MEMORY

systeminfo | findstr /c:»Total Physical Memory»

ECHO =========================

ECHO CPU

wmic cpu get name

ECHO =========================

ECHO NETWORK ADDRESS

ipconfig | findstr IPv4

ipconfig | findstr IPv6

PAUSE

Using Scripts to Shut Down Your Computer

Normally, when you shut down your computer, it happens instantaneously. Suppose, however, that you’re listening to an audiobook or watching a training video — and you know that you will fall asleep after an hour. You can use a CMD script to tell your computer to shut itself down, after a specified period of time, using the shutdown command.

When you use the shutdown command, you need to include two additional switches, or subcommands. The first tells the computer to either shutdown or restart. You can use either -s or — r. The second tells the computer how many seconds to wait before performing the command. For this you use -t, followed by the number of seconds.

To shutdown the computer in one second, use: shutdown -s -t 01

To restart the computer in eight seconds, use: shutdown -r -t 08

To shutdown the computer in two hours use: shutdown -s -t 7200

Backing Up Files With a CMD Script

If you find it tedious to back up your files to a second storage device, using a CMD script makes the process a breeze. For this, use the Robocopy command. For example, if you want to back up all of the files in your Documents folder onto a removable storage device, you can write the command in a CMD file and then — at the end of the day — simply double click the file to activate it.

The Robocopy command needs to know, first — which folder you want to copy and, second — where you want the copy placed. Both the source and destination need to be in quotation marks.

If you’re not certain what your drive letters are, open File Explorer and click on «My Computer.»

For example, if your User name is MyName, your Documents folder is in your C: drive and your Backup folder is in a removable storage D: drive, then the command would be:

robocopy D:UsersMyNameDocuments F:Backup /XA:H /W:0 /R:1 > F:Backupbackup.log

This example is a bit more complicated, since Robocopy offers you a lot of options.

D:UsersMyNameDocuments: the folder you want to back up.

F:Backup: the location of your Backup folder.

/XA:H: ignores hidden files.

/W:0: waits zero seconds between retries, instead of the default 30 seconds.

/R:1: retry only once if the file is locked.

> F:Backupbackup.log: create a backup log placed in the Backup folder.

Note that because this is a mirror backup, if you delete files from the source folder, they will be deleted from the Backup folder the next time you use the script. It would be a good idea to explore additional switches available for Robocopy, so that you ensure that you backup your files the way that works best for you.

В данной статье будут рассмотрены основы командной строки Windows, а именно:

  • Понятие командной строки;
  • Справочник по командам командной оболочки;
  • Последовательность событий при выполнение команды;
  • Создание сценариев командной строки;
  • Управление отображением текста и команд;
  • Команды для изучение системной информации;
  • Команды для использования реестра;
  • Управление системными службами;
  • Перезагрузка и выключение систем из командной строки;
  • Управление приложениями и  процессами из командной строки.

Содержание

  1. Понятие командной строки
  2. Краткий справочник по командам командной оболочки (Cmd.exe)
  3. Последовательность событий при выполнение команды
  4. Создание сценариев командной строки
  5. Управление отображением текста и команд
  6. Изучение системной информации
  7. Команды для использования реестра
  8. Управление системными службами
  9. Перезагрузка и выключение систем из командной строки
  10. Управление приложениями, процессами и производительностью

Понятие командной строки

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

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

С каждой новой версией Windows командная строка совершенствовалась, а ее возможности расширялись. Командная строка претерпела значительные изменения, связанные не только с повышением производительности, но и с увеличением гибкости. Теперь с помощью командной строки Windows можно решать задачи, которые нельзя было решить в предыдущих версиях Windows.

Среду командной оболочки Windows запускают разными способами, в частности указывая параметры при запуске Cmd.exe или используя собственный стартовый файл, хранящийся в каталоге %SystemRoot%System32.

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

Работая с командной строкой Windows, Вы должны понимать, откуда берутся используемые Вами команды. «Родные» команды (встроенные в операционную систему) бывают двух видов:

  • Внутренние – существуют внутри командной оболочки, у них нет отдельных исполняемых файлов;
  • Внешние — реализованы в отдельных исполняемых файлах, которые обычно хранятся в каталоге %SystemRoot% System32.

Краткий справочник по командам командной оболочки (Cmd.exe)

  • assoc — выводит или изменяет сопоставления (associations) типов файлов;
  • break — задает точки останова при отладке
  • call — вызывает из сценария процедуру или другой сценарий;
  • cd (chdir) — показывает имя текущего каталога или выполняет смену текущего каталога;
  • cls — очищает окно командной строки и буфер экрана;
  • color — задает цвета текста и фона окна командной оболочки;
  • сору — копирует файлы или выполняет конкатенацию файлов;
  • date — показывает или устанавливает текущую дату;
  • del (erase) — удаляет заданный файл, группу файлов или каталог;
  • dir — показывает список подкаталогов и файлов в текущем или заданном каталоге;
  • echo — выводит текст в окно командной строки или задает, надо ли отображать команды на экране (on|off);
  • endlocal — отмечает конец локализации (локальной области видимости) переменных;
  • exit — выход из оболочки командной строки;
  • for — выполняет заданную команду для каждого файла в наборе;
  • ftype выводит или изменяет текущие типы файлов в сопоставлениях расширений файлов с программами;
  • goto — указывает, что интерпретатор команд должен перейти на строку с заданной меткой в пакетном сценарии;
  • if — выполняет команды по условию;
  • md (mkdir) — создает подкаталог в текущем или заданном каталоге;
  • move — перемещает файл или группу файлов из текущего или заданного исходного каталога в указанный каталог. Также может переименовывать каталог;
  • path — показывает или задает путь к командам, используемый операционной системой при поиске исполняемых файлов и сценариев;
  • pause — останавливает выполнение пакетного файла и ожидает ввода с клавиатуры;
  • popd — делает текущим каталог, имя которого было сохранено командой PUSHD;
  • prompt — указывает, какой текст должен показываться в строке приглашения;
  • pushd — сохраняет имя текущего каталога и при необходимости делает текущим заданный каталог;
  • rd (rmdir) — удаляет каталог или каталог вместе с его подкаталогами;
  • rem — помечает комментарии в пакетном сценарии или Config.nt;
  • ren (rename) — Переименовывает файл или группу файлов;
  • set — показывает текущие переменные окружения или задает временные переменные для текущей командной оболочки;
  • setlocal — отмечает начало локализации (локальной области видимости) переменных в пакетных сценариях;
  • shift — сдвигает позицию замещаемых параметров в пакетных сценариях;
  • start — запускает заданную программу или команду в отдельном окне;
  • time — показывает или устанавливает системное время;
  • title — задает заголовок окна командной оболочки;
  • type — показывает содержимое текстового файла;
  • verify — включает режим проверки файлов после записи на диск;
  • vol — показывает метку и серийный номер дискового тома.

Синтаксис любой внутренней команды (и большинства внешних) можно получить, введя в командной строке имя команды и /?, например:

   
   copy /?

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

Последовательность событий при выполнение команды

  • Командная оболочка заменяет любые переменные, введенные в тексте команд, их текущими — значениями;
  • Если введена группа или цепочка из нескольких команд, строка разбивается на отдельные команды, которые в свою очередь разбиваются на имя и аргументы команды. Далее команды обрабатываются по отдельности;
  • Если в имени команды указан путь, командная оболочка ищет команду по этому пути. Если в указанном каталоге такой команды нет, командная оболочка возвращает ошибку;
  • Если в имени команды не задан путь, командная оболочка сначала пытается разрешить имя команды на внутреннем уровне. Если найдена внутренняя команда с таким именем, значит, вызвана внутренняя команда, которую сразу же можно выполнить. Если внутренней команды с таким именем нет, командная оболочка сначала ищет исполняемый файл команды в текущем каталоге, а затем в каталогах, перечне в переменной окружения PATH. Если файла команды нет ни в одном из этих каталогов, командная оболочка возвращает ошибку;
  • Если команда найдена, она выполняется с заданными аргументами и при необходимости ввод считывается из источника, указанного в этих аргументах. Вывод и ошибки команд показываются в окне командной строки или направляются заданному приемнику вывода и ошибок.
  • Как видите, на выполнение команд влияют многие факторы, в том числе пути к командам, перенаправление ввода-вывода, группирование или создание цепочек команд.

При работе с командной оболочкой Вы, вероятно, запускали ее, открывая меню Start (Пуск) и выбирая Programs (Программы) или All Programs (Все программы), затем Accessories (Стандартные) и Command Prompt (Командная строка). Другие способы запуска командной строки — диалоговое окно Run (Запуск программы) или ввод cmd в другом, уже открытом окне командной оболочки. Эти способы позволяют при запуске командной строки указывать аргументы: ключи, управляющие работой командной строки, и параметры, инициирующие выполнение дополнительных команд. Например, можно запустить командную оболочку в «молчаливом» режиме (т. е. отключить эхо-вывод) командой cmd /q или сделать так, чтобы командная оболочка выполнила заданную команду и завершила свою работу, — для этого нужно ввести cmd /с, а затем текст команды в кавычках.

В следующем примере командная оболочка запускается, выполняет команду ipconfig с выводом результатов в файл и завершается:

   
   cmd /c "ipconfig > c:ipconfig.txt"

Создание сценариев командной строки

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

Поскольку сценарии состоят из стандартных текстовых символов, их можно создавать и редактировать в любом стандартном текстовом редакторе, скажем, в Notepad (блокнот). Вводя команды, убедитесь, что каждая команда или группа команд, которые должны выполняться совместно, разметаются с новой строки. Это обеспечит их корректное выполнение. Закончив создание сценария командной строки, сохраните файл сценария с расширением .bat или .cmd. Оба расширения работают одинаково. Например, если вам надо создать сценарий для вывода имени системы, версии Windows и конфигурации IP, включите в файл SysInfo.bat или SysInfo.cmd следующие три команды:

  
  hostname
  ver
  ipconfig -all

Управление отображением текста и команд

Команда ECHO служит двум целям: для записи текста в вывод (например, в окно командной оболочки или текстовый файл) и для включения/выключения эхо-отображения команд. Обычно при выполнении команд сценария сами команды и вывод этих команд отображаются в консольном окне. Это называется эхо-отображением команд (comand echoing).

Чтобы использовать команду ECHO для отображения текста, введите echo и текст, который надо вывести:

  
  echo The system host name Is: hostname

Чтобы с помощью ECHO управлять эхо-отображением команд, введите echo off или echo on, например:

  
  echo off
  echo The system host name is:
  hostname

Чтобы направить вывод в файл, а не в окно командной оболочки, используйте перенаправление вывода, например:

Курс по SQL для начинающих

  
  echo off
  echo The system host name is: > current.txt
  hostname » current.txt

Теперь посмотрим, как подавляется эхо-отображение команд. Запустите командную оболочку, введите echo off, затем другие команды. Вы увидите, что приглашение командной строки больше не выводится. Вместо него появляется только то, что набирается в консольном окне, и вывод выполненных команд. В сценариях команда ECHO OFF отключает эхо-отображение команд и приглашение командной строки. Добавляя в свои сценарии команду ECHO OFF, вы предотвращаете загромождение окна командной оболочки или файла текстом команд, если Вас интересует лишь вывод от этих команд.

Изучение системной информации

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

  • NOW — отображает текущую системную дату и время в 24-часовом формате, например Sal May 9 12:30:45 2003. Доступна только в Windows Server 2003 Resource Kit;
  • WHOAMI — сообщает имя пользователя, зарегистрированного в системе на данный момент, например adatumadmi-nistrator;
  • WHERE — выполняет поиск файлов по шаблону поиска (search pattern) и возвращает список совпавших результатов.

Чтобы использовать NOW или WHOAMI, просто введите команду в окне командной оболочки и нажмите Enter. Наиболее распространенный синтаксис для WHERE выглядит так:

  
  where /r базовый_каталог_имя_файла

Здесь параметр /r указан для рекурсивного поиска, начиная от указанного каталога (базовый_каталог) и включая все его подкаталоги, а имя_файла — полное или частичное имя искомого файла, которое может включать символы подстановки (wildcards): знак ? заменяет один символ, а знак * — группу символов, например data???.txt или data*.*. В следующем примере в каталоге С: и всех его подкаталогах выполняется поиск всех текстовых файлов, имена которых начинаются с data.

   
  where /r C: data*.txt

Также можно найти файлы всех типов, имена которых начинаются с data:

   
  where /r C: data*.*

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

  • DRIVERQUERY — выводит список всех установленных драйверов устройств и их свойства, в том числе имя модуля (module name), отображаемое имя (display name), тип драйвера и дату сборки (driver link date). В режиме отображения всей информации (/V) сообщается статус (status) и состояние (state) драйвера, режим запуска, сведения об использовании памяти и путь в файловой системе. Параметр /V также включает вывод детальной информации обо всех неподписанных драйверах.
  • SYSTEMINFO — выдает подробную информацию о конфигурации системы, в том числе сведения о версии, типе и изготовителе операционной системы, процессоре, версии BIOS, объеме памяти, региональных стандартах, часовом поясе и конфигурации сетевого адаптера.
  • NLSINFO — отображает подробную информацию о региональных стандартах, включая язык по умолчанию (default language), кодовую страницу Windows, форматы отображения времени и чисел, часовой пояс и установленные кодовые страницы. Эта команда доступна лишь в Windows Server 2003 Resource Kit.

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

Команды для использования реестра

Реестр Windows хранит конфигурационную информацию операционной системы, приложений, пользователей и оборудования. Эти данные содержатся в разделах (keys) и параметрах (values) реестра, которые размещаются в определенном корневом разделе (root key), который контролирует, как и когда используются разделы и параметры.

Если Вы знаете пути к разделам и понимаете допустимые типы данных в разделах, то можете использовать команду REG для просмотра разделов и параметров и манипуляций над ними самыми разнообразными способами. REG поддерживает несколько подкоманд:

  • REG add — добавляет в реестр новый подраздел или элемент;
  • REG delete — удаляет из реестра подраздел или элемент;
  • REG query — выводит список элементов раздела и имена подразделов (если они есть);
  • REG compare — сравнивает подразделы или элементы реестра;
  • REG сору — копирует элемент реестра по указанному пути раздела на локальной или удаленной системе;
  • REG restore — записывает в реестр ранее сохраненные подразделы, элементы и параметры;
  • REG save — сохраняет копию указанных подразделов, элементов и параметров реестра в файл.

Управление системными службами

Службы обеспечивают ключевые функции рабочих станций и серверов. Для управления системными службами на локальных и удаленных системах используется команда контроллера служб (service controller command) SC, имеющая набор подкоманд, ниже описывается лишь их часть:

  • SC config — настройка учетных записей регистрации и запуска служб;
  • SC query — вывод списка всех служб, настроенных на компьютере;
  • SC qc — отображение конфигурации определенной службы;
  • SC start — запуск служб;
  • SC stop — остановка служб;
  • SC pause — приостановка работы служб;
  • SC continue — возобновление работы служб;
  • SC failure — задание действий, выполняемых при сбое службы;
  • SC qfailure — просмотр действий, выполняемых при сбое службы.

Во всех командах можно указывать имя удаленного компьютера, со службами которого Вы хотите работать. Для этого вставьте UNC-имя или IP-адрес компьютера перед используемой подкомандой. Вот синтаксис:

  
  sc ИмяСервера Подкоманда

Перезагрузка и выключение систем из командной строки

Системы нередко приходится перезагружать или выключать. Один из способов — использовать для этого утилиту Shutdown, которая позволяет работать с локальной и удаленными системами. Другой способ управлять выключением или перезагрузкой системы — назначить задание для выключения. Здесь можно использовать Schtasks, чтобы указать время выключения, или создать сценарий со списком команд выключения для индивидуальных систем.

Управлять перезагрузкой и выключением локальной системы позволяют следующие команды.

Выключение локальной системы:

  
  shutdown /s /t ЗадержкаВыключения /1 /f

Перезагрузка локальной системы:

  
  shutdown /r /t ЗадержкаВыключения /1 /f

Управление приложениями, процессами и производительностью

Всякий раз, когда операционная система или пользователь запускает службу, приложение или команду, Microsoft Windows запускает один или более процессов для управления соответствующей программой. Несколько утилит командной строки упростят вам мониторинг программ и управление ими. К этим утилитам относятся:

  • Pmon (Process Resource Manager) — показывает статистические данные по производительности, включая использование памяти и процессора, а также список всех процессов, выполняемых в локальной системе. Позволяет получать детальные «снимки» задействованных ресурсов и выполняемых процессов. Pmon поставляется с Windows Resource Kit;
  • Tasklist (Task List) — перечисляет все выполняемые процессы по имени и идентификатору процесса, сообщает информацию о сеансе пользователя и занимаемой памяти;
  • Taskkill (Task Kill) — останавливает выполнение процесса, заданного по имени или идентификатору. С помощью фильтров можно останавливать процессы в зависимости от их состояния, номера сеанса, процессорного времени, занимаемой памяти, имени пользователя и других параметров.

Вот в принципе все, что я хотел рассказать об основах командной строки Windows.

Министерство
образования Российской Федерации

Череповецкий
металлургический колледж

Для
специальностей:

2203
«Программное обеспечение вычислительной
техники автоматизированных систем»

2201
«Вычислительные машины, комплексы,
системы и сети»

Методические
рекомендации и лабораторно-практическая
работа по дисциплине «Операционные
системы и среды» для студентов II
и III
курсов

Составители:
Куимов В.Н., преподаватель колледжа

Череповец

2011

Содержание

1.

Цель
работы

3

2.

Средства
обучения

3

3.

Теоретические
сведения и методические рекомендации
по выполнению лабораторно-практической
работы

3

4.

Задание
на практическую работу

9

5.

Задание
на лабораторную работу

11

6.

Ход
работы

12

7.

Рекомендации
по оформлению отчета

12

Литература

12

Лабораторно-практическая
работа

Основы разработки командных (пакетных) файлов в ос Windows с использованием командной строки

  1. Цель работы

    1. Изучить
      порядок разработки командных (пакетных)
      файлов в ОС Windows.

    2. Научиться
      писать командные (пакетные) файлы для
      выполнения конкретного задания.

  2. Средства обучения

    1. Методические
      указания по выполнению лабораторной
      работы.

    2. Курс
      лекций.

    3. ПЭВМ.

  3. Теоретические сведения и методические указания по выполнению практической работы

Выполнение
команды в командной оболочке, инициирует
следующую последовательность событий:

  1. Командная
    оболочка заменяет любые переменные,
    введенные в тексте команд, их текущими
    значениями.

  2. Если
    введена группа или цепочка из нескольких
    команд, строка разбивается на отдельные
    команды, которые в свою очередь
    разбиваются на имя и аргументы команды.
    Далее команды обрабатываются по
    отдельности.

  3. Если
    в имени команды указан путь, командная
    оболочка ищет команду по этому пути.
    Если в указанном каталоге такой команды
    нет, командная оболочка возвращает
    ошибку.

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

  5. Если
    команда найдена, она выполняется с
    заданными аргументами и при необходимости
    ввод считывается из источника, указанного
    в этих аргументах. Вывод и ошибки команд
    показываются в окне командной строки
    или направляются заданному приемнику
    вывода и ошибок.

Таким
образом, на выполнение команд влияют
многие факторы, в том числе пути к
командам, перенаправление ввода-вывода,
группирование или создание цепочек
команд.

Сценарии
(командные (пакетные) файлы) командной
строки ‑ текстовые файлы с командами,
которые необходимо выполнить. Это те
же команды, которые обычно вводятся в
командной оболочке Windows. Однако, вместо
того чтобы вводить команды каждый раз,
когда они понадобятся, можно создать
соответствующий сценарий и упростить
себе жизнь.

Поскольку
сценарии (командные (пакетные) файлы)
состоят из стандартных текстовых
символов, их можно создавать и редактировать
в любом стандартном текстовом редакторе,
скажем, в Notepad (Блокнот). Вводя команды,
убедитесь, что каждая команда или группа
команд, которые должны выполняться
совместно, размещаются с новой строки.
Это обеспечит их корректное выполнение.
Закончив создание сценария командной
строки, сохраните файл сценария с
расширением .bat или .cmd. Оба расширения
работают одинаково. Например, если вам
надо создать сценарий для вывода имени
системы, версии Windows и конфигурации IP,
включите в файл SysInfo.bat или SysInfo.cmd следующие
три команды:

hostname

ver

ipconfig
-all

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

Файл
Cmd.exe разворачивает переменные с %0 по
%9. При использовании пакетных параметров
переменная %0 заменяется на имя пакетного
файла, а переменные с %1 по %9 ‑ на
соответствующие аргументы, напечатанные
в командной строке. Для доступа к
переменным больше %9 запустите команду
shift. Для получения дополнительных
сведений о команде shift смотрите раздел
Shift. Параметр %* ссылается на все аргументы,
которые передаются пакетному файлу, за
исключением параметра %0.

Например,
для копирования содержимого из папки
1 (Folder1) в папку 2 (Folder2), где параметр %1
заменяется на значение Folder1, а параметр
%2 ‑ на значение Folder2, в пакетном файле
с именем Mybatch.bat введите следующую строку:

xcopy
%1*.* %2

Для
запуска файла введите:

mybatch.bat
C:folder1 D:folder2

Результат
будет таким же, как и при записи в пакетный
файл строки:

xcopy
C:folder1 *.* D:folder2

С
пакетными параметрами можно также
использовать модификаторы. Модификаторы
используют информацию о текущем диске
и каталоге как часть или полное имя
файла или каталога. Для использования
модификатора напечатайте символ (%),
затем символ тильды (~), а затем
соответствующий модификатор (т.е.,
%~модификатор).

В
следующей таблице описаны модификторы,
используемые для расширения.

Модификатор

Описание

%~1

расширение
%1 и удаление любых кавычек («»)

%~f1

замена
%1 полным путем

%~d1

замена
%1 именем диска

%~p1

замена
%1 путем

%~n1

замена
%1 именем файла

%~x1

замена
%1 расширением имени файла

%~s1

замена
путем, содержащим только короткие
имена

%~a1

Замена
%1 атрибутами файла

%~t1

замена
%1 датой и временем модификации файла

%~z1

замена
%1 размером файла

%~$PATH:1

поиск
в каталогах, перечисленных в переменной
среды PATH, замена %1 полным именем первого
найденного файла. Если переменная
среды не определена или поиск не
обнаружил файлов, модификатор выдает
пустую строку

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

Модификатор

Описание

%~dp1

замена
%1 именем диска и путем

%~nx1

замена
%1 именем файла и расширением

%~dp$PATH:1

поиск
в каталогах, перечисленных в переменной
среды PATH, и замена %1 именем диска и
путем к первому найденному файлу

%~ftza1

замена
%1 строкой, аналогичной результату
работы программы dir

Примечание

%1
и PATH в показанных выше примерах можно
заменить на другие значения пакетных
параметров.

Модификатор
%* является уникальным, так как он
представляет все аргументы, переданные
пакетному файлу. Этот модификатор не
используется в комбинации с модификатором
%~. Конструкция %~ должна завершаться
допустимым номером аргумента.

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

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

В
следующей таблице описаны операторы
перенаправления потоков ввода и вывода
команд.

Оператор
перенаправления

Описание

>

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

<

читает
поток входных данных команды из файла,
а не с клавиатуры

>>

добавляет
выходные данные команды в конец файла,
не удаляя при этом существующей
информации из файла

>&

считывает
данные на выходе одного дескриптора
как входные данные для другого
дескриптора

<&

считывает
входные данные одного дескриптора
как выходные данные другого дескриптора

|

считывает
выходные данные одной команды и
записывает их на вход другой команды.
Эта процедура известна под названием
«канал»

По
умолчанию, входные данные команды
(дескриптор STDIN) отсылаются с клавиатуры
интерпретатору команд Cmd.exe, далее Cmd.exe
отправляет выходные данные команды
(дескриптор STDOUT) в окно командной строки.

В
следующей таблице представлены доступные
дескрипторы.

дескриптор

Числовой
эквивалент дескриптора

Описание

STDIN

0

ввод
с клавиатуры

STDOUT

1

вывод
в окно командной строки

STDERR

2

ошибка
вывода в окно командной строки

UNDEFINED

3-9

эти
дескрипторы определяются индивидуально
для каждой прикладной программы

Номера
от 0 до 9 представляют первые 10 дескрипторов.
Для запуска программы и перенаправления
любого из 10 дескрипторов используется
интерпретатор команд Cmd.exe. Для задания
требуемого дескриптора перед оператором
перенаправления введите его номер. Если
дескриптор не определен, то по умолчанию
оператором перенаправления ввода «<»
будет ноль (0), а оператором перенаправления
вывода «>» будет единица (1). После ввода
оператора «<» или «>» необходимо
указать, откуда читать и куда записывать
данные. Можно задать имя файла или любой
из существующих дескрипторов.

Для
задания перенаправления в существующие
дескрипторы используется амперсанд
(&), затем номер требуемого дескриптора
(например, &номер_дескриптора). Например,
для перенаправления дескриптора 2
(STDERR) в дескриптор 1 (STDOUT) введите:

1<&2

Оператор
перенаправления «&» дублирует выходные
или входные данные с одного заданного
дескриптора на другой заданный дескриптор.
Например, для отправки выводных данных
команды dir в файл File.txt и отправки ошибки
вывода в файл File.txt введите:

dir>c:file.txt
2>&1

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

Перенаправление
ввода команд (<)

Для
перенаправления ввода команд с цифровой
клавиатуры на файл или на устройство
используйте оператор «<». Например,
для ввода команды sort из файла List.txt
введите:

sort<file.txt

Содержимое
файла File.txt появится в командной строке
в виде списка в алфавитном порядке.

Оператор
«<» открывает заданное имя файла с
доступом только для чтения. Поэтому с
его помощью нельзя записывать в файл.
Например, при запуске программы с
оператором <&2 все попытки прочитать
дескриптор 0 ни к чему не приведут, так
как изначально он был открыт с доступом
только для записи.

Примечание

Дескриптор
0 задан по умолчанию для оператора
перенаправления ввода «<».

Перенаправление
вывода команд (>)

Выходные
данные практически всех команд
высвечиваются в окне командной строки.
Даже команды, выводящие данные на диск
или принтер, выдают сообщения и запросы
в окне командной строки.

Для
перенаправления вывода команд из окна
командной строки в файл или на устройство
применяется оператор «>». Этот оператор
используется с большинством команд.
Например, для перенаправления вывода
команды dir в файл Dirlist.txt введите:

dir>dirlist.txt

Если
файл Dirlist.txt не существует, интерпретатор
команд Cmd.exe создаст его. Если файл
существует, Cmd.exe заменит информацию в
файле на данные, полученные от команды
dir.

Для
запуска команды netsh routing dump и последующей
отправки результатов ее работы в
Route.cfg введите:

netsh
routing dump>c:route.cfg

Оператор
«>» открывает заданный файл с доступом
только для записи. Поэтому с помощью
данного оператора файл прочитать нельзя.
Например, при запуске программы с
оператором перенаправления <&0 все
попытки записать дескриптор 1 ни к чему
не приведут, так как изначально дескриптор
0 был открыт с доступом только для чтения.

Примечание.

Дескриптор
1 задан по умолчанию для оператора
перенаправления вывода «>».

Использование
оператора «<&» для перенаправления
ввода и дублирования

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

Например,
для считывания файла File.txt на вход в
дескриптор 0 (STDIN) введите:

<file.txt

Для
открытия файла File.txt, сортировки его
содержимого и последующей отправки в
окно командной строки (STDOUT) введите:

sort<file.txt

Для
того чтобы найти файл File.txt и перенаправить
дескриптор 1 (STDOUT) и дескриптор 2 (STDERR) в
Search.txt введите:

findfile
file.txt>search.txt 2<&1

Для
дублирования определенного пользователем
дескриптора 3 в качестве входной
информации для дескриптора 0 (STDIN) введите:

<&3

Использование
оператора «>&» для перенаправления
ввода и дублирования

При
перенаправлении вывода в файл и задании
существующего имени файла интерпретатор
команд Cmd.exe открывает файл с доступом
только для записи и переписывает его
содержимое. Если дескриптор задан,
интерпретатор команд Cmd.exe дублирует
файл в существующий дескриптор.

Для
дублирования определенного пользователем
дескриптора 3 в дескриптор 1 введите:

>&3

Для
перенаправления всех выходных данных,
включая выходные данные дескриптора 2
(STDERR), команды ipconfig в дескриптор 1 (STDOUT)
и последующего перенаправления выходных
данных в Output.log введите:

ipconfig.exe>>output.log
2>&1

Использование
оператора «>>» для добавления вывода

Для
добавления выходных данных команды в
конец файла без потери хранящейся в нем
информации используется двойной символ
«больше» (>>). Например, следующая
команда добавляет список каталогов,
созданный командой dir, в файл Dirlist.txt:

dir>>dirlist.txt

Для
добавления выходных данных команды
netstat в конец файла Tcpinfo.txt введите:

netstat>>tcpinfo.txt

Использование
оператора канала (|)

Оператор
канала «вертикальная линия» (|) забирает
выходные данные одной команды (по
умолчанию STDOUT) и направляет их на вход
другой команды (по умолчанию STDIN).
Например, следующая команда сортирует
каталог:

dir
| sort

В
данном примере обе команды запускаются
одновременно, но команда sort приостанавливает
работу до получения выходных данных
команды dir. Команда sort использует выходные
данные команды dir в качестве своих
входных данных, а затем свои выходные
данные отправляет в дескриптор 1 (STDOUT).

Комбинирование
команд с операторами перенаправления

Комбинируя
команды-фильтры с другими командами и
именами файлов, можно создавать команды
на заказ. Например, для сохранения имен
файлов, содержащих строку «LOG», используется
следующая команда:

dir
/b | find «LOG» > loglist.txt

Выход
команды dir отсылается в команду-фильтр
find. Имена файлов, содержащие строку
«LOG», хранятся в файле Loglist.txt в виде
списка (например, NetshConfig.log, Logdat.svd и
Mylog.bat).

При
использовании более одного фильтра в
одной команде их необходимо отделять
с помощью канала (|). Например, следующая
команда ищет в каждом каталоге диска C
файлы, в названии которых присутствует
строка «Log», и выводит их постранично
на экран:

dir
c: /s /b | find «LOG» | more

Наличие
канала (|) указывает Cmd.exe, что выход
команды dir нужно отправить команде-фильтру
find. Команда find выбирает только те имена
файлов, в которых содержится строка
«LOG». Команда more выводит на экран имена
файлов, полученные командой find с паузой
после заполнения каждого экрана. Сведения
о командах-фильтрах см. в разделе
Использование фильтров.

Следует
отметить, что ряд команд имеет определенные
ограничения при использовании, в
частности: наличие определенной ОС
(Windows
XP,
Windows
2000, …), наличие пакета дополнительных
команд и т.д., поэтому перед использованием
той или иной команды целесообразно
ознакомиться с ее подробным описанием.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:
  • Файл сценария windows cmd
  • Учебно методический кабинет сценарии нового года
  • Файл сценария vbscript что это
  • Учебники режиссура праздников
  • Файл сценария vbscript на флешке

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии