Оригинальный текст:

Batch Script - Devices

Hello, future programmers! Today, we're going to dive into the fascinating world of Batch scripting and explore how we can interact with various devices using these powerful little scripts. As your friendly neighborhood computer teacher, I'm excited to guide you through this journey, even if you've never written a line of code before. So, grab your virtual notepads, and let's get started!

Batch Script - Devices

What are Devices in Batch Scripting?

Before we jump into the nitty-gritty, let's understand what we mean by "devices" in the context of Batch scripting. In simple terms, devices are the various hardware components or peripherals connected to your computer. These can include your screen, keyboard, printer, and even some special files that Windows uses to represent certain functions.

Common Devices in Batch Scripting

Here's a table of some common devices you'll encounter in Batch scripting:

Device Name Description
CON Console (keyboard and screen)
PRN Default printer
NUL Null device (discards any input)
COM1-COM9 Serial ports
LPT1-LPT9 Parallel ports

Now that we have an overview, let's explore how we can use these devices in our Batch scripts!

Working with the Console (CON)

The console, represented by CON, is probably the device you'll interact with the most. It's essentially your keyboard for input and your screen for output.

Reading from the Console

Let's start with a simple example:

@echo off
set /p name=What's your name?
echo Hello, %name%!
pause

In this script:

  1. We turn off command echoing with @echo off.
  2. We use set /p to prompt the user for input and store it in the name variable.
  3. We then use echo to display a greeting with the user's name.
  4. Finally, pause keeps the console window open so we can see the result.

When you run this script, it will wait for you to type your name and press Enter. It's like having a conversation with your computer!

Writing to the Console

Now, let's try something a bit more fun:

@echo off
echo Let's count to 5!
for /l %%i in (1,1,5) do (
echo %%i
ping -n 2 localhost >nul
)
echo Blast off!
pause

This script:

  1. Announces it's going to count to 5.
  2. Uses a for loop to count from 1 to 5.
  3. Displays each number with a short pause (using ping as a delay).
  4. Finishes with a "Blast off!" message.

Run this, and you'll see the numbers appear one by one, just like a rocket countdown!

The Null Device (NUL)

The NUL device is like a black hole for data. Anything sent to it simply disappears. This might sound useless, but it's actually quite handy for suppressing unwanted output.

Here's an example:

@echo off
echo This will be displayed.
echo This won't be displayed. > NUL
dir > NUL
echo Did you see the directory listing? Nope!
pause

In this script:

  1. The first echo displays normally.
  2. The second echo is redirected to NUL, so it's not displayed.
  3. The dir command's output is also sent to NUL.
  4. The final echo confirms that we didn't see the directory listing.

This is particularly useful when you want to run commands without cluttering your console with their output.

Working with Printers (PRN)

While we don't print as much these days, Batch scripts can still interact with printers. The PRN device represents the default printer.

Here's a simple example:

@echo off
echo This is a test print job. > PRN
echo Check your printer!
pause

This script sends a line of text directly to your default printer. Be careful with this one – we don't want to waste paper!

Serial and Parallel Ports (COM and LPT)

For those of you working with older hardware or specialized equipment, Batch can also interact with serial (COM) and parallel (LPT) ports.

Here's an example that sends data to a serial port:

@echo off
echo Hello, device! > COM1
echo Data sent to COM1
pause

This script sends "Hello, device!" to the first serial port. Of course, you'll need a device connected to that port to see any effect.

Conclusion

And there you have it, folks! We've taken a whirlwind tour of devices in Batch scripting. From chatting with the console to sending secret messages to the null device, and even saying hello to printers and serial ports, you now have the power to interact with various parts of your computer using simple Batch commands.

Remember, the key to mastering Batch scripting (or any programming, for that matter) is practice. So, don't be afraid to experiment with these examples, modify them, and see what happens. Who knows? You might just create the next great Batch script masterpiece!

Until next time, happy scripting!

Перевод на русский язык (ru):

Скрипт Batch - Устройства

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

Что такое Устройства в Скриптах Batch?

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

Common Devices in Batch Scripting

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

Название Устройства Описание
CON Консоль (клавиатура и экран)
PRN Принтер по умолчанию
NUL Нулевое устройство (игнорирует любой ввод)
COM1-COM9 Сerial порты
LPT1-LPT9 Parallel порты

Теперь, когда у нас есть общее представление, давайте рассмотрим, как мы можем использовать эти устройства в наших скриптах Batch!

Работа с Консолью (CON)

Консоль, represented by CON, probably the device you'll interact with the most. It's essentially your keyboard for input and your screen for output.

Чтение с Консоли

Давайте начнем с простого примера:

@echo off
set /p name=Как тебя зовут?
echo Привет, %name%!
pause

В этом скрипте:

  1. Мы отключаем вывод команд с помощью @echo off.
  2. Мы используем set /p для запроса ввода пользователя и сохранения его в переменную name.
  3. Затем мы используем echo для отображения приветствия с именем пользователя.
  4. Наконец, pause держит окно консоли открытым, чтобы мы могли увидеть результат.

Когда вы запустите этот скрипт, он будет ждать, пока вы введете свое имя и нажмете Enter. Это как если бы вы вели разговор с компьютером!

Запись в Консоль

Теперь давайте попробуем что-то поинтереснее:

@echo off
echo Давайте досчитаем до 5!
for /l %%i in (1,1,5) do (
echo %%i
ping -n 2 localhost >nul
)
echo Пуск!
pause

Этот скрипт:

  1. Объявляет, что он будет досчитывать до 5.
  2. Использует цикл for для счета от 1 до 5.
  3. Отображает每一数字 с короткой паузой (используя ping в качестве delaу).
  4. Заканчивает сообщением "Пуск!".

Запустите этот скрипт, и вы увидите, как числа появляются одно за другим, как счетdown ракеты!

Нулевое Устройство (NUL)

Устройство NUL похоже на черную дыру для данных. Anything sent to it simply disappears. Это может показаться бесполезным, но на самом деле это довольно удобно для подавления нежелательного вывода.

Вот пример:

@echo off
echo Это будет отображено.
echo Это не будет отображено. > NUL
dir > NUL
echo Вы видели список каталогов? Нет!
pause

В этом скрипте:

  1. Первый echo отображается normalmente.
  2. Второй echo перенаправляется в NUL, поэтому он не отображается.
  3. Вывод команды dir также отправляется в NUL.
  4. Последний echo подтверждает, что мы не видели список каталогов.

Это особенно полезно, когда вы хотите выполнять команды, не захламляя консоль их выводом.

Работа с Принтерами (PRN)

Хотя мы и не печатаем так часто, как раньше, скрипты Batch могут взаимодействовать с принтерами. Устройство PRN представляет собой принтер по умолчанию.

Вот простой пример:

@echo off
echo Это тестовая印刷 работа. > PRN
echo Проверьте ваш принтер!
pause

Этот скрипт отправляет строку текста напрямую на ваш принтер по умолчанию. Будьте осторожны с этим - мы не хотим тратить бумагу зря!

Сerial и Parallel Порты (COM и LPT)

Для тех из вас, кто работает с старым оборудованием или специализированным оборудованием, Batch может также взаимодействовать с сerial (COM) и параллельными (LPT) портами.

Вот пример, который отправляет данные в сerial порт:

@echo off
echo Привет, устройство! > COM1
echo Данные отправлены в COM1
pause

Этот скрипт отправляет "Привет, устройство!" в первый сerial порт. Конечно, вам нужно устройство, подключенное к этому порту, чтобы увидеть любой эффект.

Заключение

И вот мы и arrived! Мы совершили стремительный экскурс по устройствам в скриптах Batch. От общения с консолью до отправки secret сообщений в нулевое устройство и даже до приветствия принтеров и сerial портов, вы теперь обладаете возможностью взаимодействовать с различными частями вашего компьютера с помощью простых команд Batch.

Помните, ключ к овладению скриптами Batch (или любым программированием, кстати) - это практика. Так что не бойтесь экспериментировать с этими примерами, модифицировать их и видеть, что произойдет. Кто знает? Вы можете создать следующее великолепное произведение скрипта Batch!

До свидания, счастливого скриптинга!

Credits: Image by storyset