Chcp 1251 что это значит в батнике

Автоматизация удаления документов по типу

Задача очистки жесткого диска от временных файлов может быть решена с помощью следующей строки:

del /f /s /q C:\*.tmp

Следует разъяснить используемые параметры

/f

Происходит удаление всех документов, даже при наличии у них атрибута «только чтение»

/s

Выполняется удаление файлов из всех подкаталогов.

/q

Не всплывает окна, просящего подтверждения действиям удаления.

C:

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

*.tmp

Тип удаляемых документов.

Следует аккуратно использовать параметр /q. С ним удаление будет происходить без каких-либо запросов и это может привести к весьма неприятным последствиям.

Спасшая статья:

Приложение cmd.exe – это командная строка или программная оболочка с текстовым интерфейсом (во загнул ).

Запустить командную строку можно следующим способом: Пуск → Выполнить → вводим в поле команду – cmd и жмем ОК. В итоге откроется рабочее окно программы – c:WINDOWSsystem32cmd.exe. ( рис.1)

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

Перейдем собственно к проблеме: иногда вместо русских букв при выполнении команд выходит набор непонятных символов ( рис.2).

Первым делом нужно зайти в свойства окна – правой кнопкой щелкнуть по верхней части окна → Свойства → выйдет окно рис.3, здесь в поле Шрифтвыбираем Luc >ОК.

Теперь Вы получили нормальный текст на русском языке. Так же можно поменять текущую кодировку шрифта, для этого используется команда chcp. Набираем эту команду и жмем Enter, в результате получим текущую кодировку для командной строки – рис.4.

Для изменения кодировки так же применим chcp в следующем формате:

Где – это цифровой параметр нужного шрифта, например,

1251 – Windows (кириллица);

Выбирайте на любой вкус. Т.о. что бы изменить кодировку на UTF-8 нужно выполнить команду chcp 65001.

almixРазработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.

Как корректно отобразить Русский текст в CMD. Проблемы с кодировкой могут возникнуть, например, при выполнении Bat файла, когда нужно вывести в консоль русский текст и при других обстоятельствах, о которых речь пойдёт далее.

Рассмотрим пример: когда нужно вывести в консоль Русский текст, скажем «Примет мир». Для этого создадим Bat файл с именем «1.bat». Используйте для этого обычный Блокнот Windows (Notepad.exe) Запишем в него следующие строки!

Для тех, кто не понял или не в курсе, строчки «echo.» я добавил специально, что бы были отступы, от строки «Примет мир»

Теперь запускаем файл 1.bat и результат будет такого вида.

Как видим проблема с кодировкой в cmd на лицо. И произошло это по следующей причине.

Стандартный блокнот Windows сохранил Bat файл в кодировке «1251» а консоль вывела его в кодировки «866». Вот от сюда все проблемы!

Как перенаправить результат выполнения команд в файл

Часто, при выполнении сложного bat файла в автоматическом режиме проверить результаты его работы бывает затруднительно по многим причинам. Поэтому проще записывать результаты работы команд batch файла в текстовый файл (лог-файл). а потом анализировать правильность работы bat файла по этому логу.

Перенаправить результат работы команд bat файла в лог-файл достаточно просто. Далее будет показано, как это можно сделать.

Создайте bat-файл следующего содержания (скопируйте эти строки в Блокнот и сохраните файл с расширением bat):

@echo off
echo Start %time%
echo Create test.txt
echo test>C:\test.txt
echo Copy Test.txt to Old_test.txt
copy C:\test.txt C:\Old_test.txt
echo Stop %time%

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

Третья строка записывает в лог-файл пояснение того, что следующая команда создаст файл test.txt
Команда из четвертой строки создает файл test.txt с корне диска С. Файл создается для примера. Эта команда записывает в файл C:\test.txt слово test

Пятая строка выводит в лог-файл пояснение, что следующая команда выполняет копирование файла из одного места в другое.
Команда в шестой строке копирует созданный файл C:\test.txt в файл C:\Old_test.txt, т.е. создается копия файла под новым именем.

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

Сохраните этот пакетный файл под именем, например, 1.bat

Предположим, что отчет о работе пакетного файла мы бы хотели хранить в отдельной папке и каждый день записывать отчет с новым именем файла, чтобы была возможность в любой из дней обратиться к логам за предыдущие дни. Причем, имя лог-фала хотелось бы иметь в виде даты работы пакетного файла. Чтобы все это реализовать создадим на диске С (например) папку с именем LOG, т.е. полный путь к ней будет выглядеть C:\LOG. Созданный пакетный файл 1.bat будем запускать следующей командой:

1.bat>C:\LOG\%date~-10%.txt

Если пакетный файл будет запускаться из Планировщика, то нужно указать полный путь с bat-файлу. Помните, что если в пути есть пробелы, то надо использовать либо кавычки, либо формат 8.3. Т.е., если путь к bat-файлу C:\Program Files\1.bat, например, то в командной строке Планировщика для запуска bat-файла нужно указать одну из следующих строк:

"C:\Program Files\1.bat">C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

После запуска файла 1.bat в папке C:\LOG будет создан файл с именем, равным дате запуска bat-файла, например, 13.01.2004.txt Это и будет отчет о работе пакетного файла 1.bat

Запуск bat-файла, пример которого показан в первом листинге вверху страницы, указанной выше командой, приведет к созданию лог-файла такого содержания:

Start 19:03:27,20
Create test.txt
Copy Test.txt to Old_test.txt
Скопировано файлов: 1.
Stop 19:03:27,21

Таким образом, для выполнения перенаправления результатов работы bat-файла в лог-файл нужно использовать символ перенаправления > Синтаксис таков:

Путь\ИмяФайла.bat>Путь\ИмяЛогФайла.txt

Расширение лог-файла может быть любым. При желании, отчет о выполнении пакетного задания можно оформить даже в виде страницы html (соответствующие теги могут быть выведены в лог-файл так, как выводились комментарии в примере 1.bat) и скопировать его на корпоративный сервер.

Метки

Создадите файл start.bat в той же папке, где и test.bat, напишите в нем:

Мы запустили батник, НО подали в него аргументы 2 и 2. Чтобы к ним обратиться, нужно написать %n, где «n» — номер аргумента, считая от одного(не от нуля), вот код, считающий сумму первого и второго аргумента (их может быть от нуля до 9-и):

Метка — это именованное место в коде, она создается с помощью команды «:name»

А этот переходит на метку :m и продолжает выполнение, начиная с нее

И в завершение статьи, хочу сказать о команде call. Она превращает в последующей команде «%%» в «%», а переменные — на их значения. Пример использования:

Как добавить комментарии в bat-файл — b14esh.com

Описание:

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

При написании большого пакетного файла очень полезно добавлять комментарии к его основным блокам.

Это позволит с легкостью разобраться в том, что делают эти блоки по прошествии времени.

Комментирование больших пакетных файлов (как, в принципе, и любого кода) — хороший тон,

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

по прошествии значительного времени с момента написания.

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

Первый:

Больше годится для написания больших комментариев, описывающих либо весь пакетный файл, либо несколько больших его блоков.

Код выглядит следующим образом:
goto start
—————————————
Этот пакетный файл предназначен
для автоматизации рутинных операций,
выполняемых ночью для синхронизации
содержимого корпоративного ftp-сервера
с ftp-серверами филиалов
—————————————
Пакетный файл написан 01/01/2004
Последнее исправление внесено 10/02/2004
—————————————
И т.д.
:start

Такое написание комментария при запуске пакетного файла передаст управление сразу к команде,
следующей за меткой start. За это отвечает оператор перехода goto.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Больше годится для написания больших комментариев, описывающих либо весь пакетный файл, либо несколько больших его блоков.

Код выглядит следующим образом:

goto start

—————————————

Этот пакетный файл предназначен

для автоматизации рутинных операций,

выполняемых ночью для синхронизации

содержимого корпоративного ftp-сервера

с ftp-серверами филиалов

—————————————

Пакетный файл написан 01/01/2004

Последнее исправление внесено 10/02/2004

—————————————

И т.д.

:start

Такое написание комментария при запуске пакетного файла передаст управление сразу к команде,

следующей за меткой start. За это отвечает оператор перехода goto.

Второй:

Простые комментарии можно добавить, начиная строки с команды rem

rem Этот блок устанавливает соединение с удаленным сервером

Простые комментарии можно добавить, начиная строки с команды rem

rem Этот блок устанавливает соединение с удаленным сервером

Третий:

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

:: Этот блок проверяет дату изменения файлов

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

:: Этот блок проверяет дату изменения файлов

Проблемы консолей visual studio

В Visual Studio имеется возможность подключения консолей, по умолчанию подключены командная строка для разработчика и Windows PowerShell для разработчика. К достоинствам можно отнести возможности определения собственных параметров консоли, отдельных от общесистемных, а также запуск консоли непосредственно в директории разработки.

Отдельной опцией Visual Studio является встроенная односеансная консоль отладки, которая перехватывает команду Visual Studio на запуск приложения, запускается сама, ожидает компиляцию приложения, запускает его и отдает ему управление. Таким образом, отладочная консоль в течение всего рабочего сеанса находится под управлением приложения и возможность использования команд Windows или самой консоли, включая команду CHCP, не предусмотрена.

Совет 6. Тестирование приложения целесообразно выполнять во внешних консолях, более дружелюбных к локализации.

Анализ проблем консолей был бы не полон без ответа на вопрос – можно ли запустить консольное приложение без консоли? Можно – любой файл “.exe” запустится двойным кликом, и даже откроется окно приложения. Однако консольное приложение, по крайней мере однопоточное, по двойному клику запустится, но консольный режим не поддержит – все консольные вводы-выводы будут проигнорированы, и приложение завершится

Создание BAT-файла в Windows 10

В любой версии ОС Виндовс можно создавать батники и использовать их для работы с приложениями, документами или другими данными. Сторонние программы для этого не нужны, поскольку Windows и сама предоставляет все возможности для этого.

Способ 1: Блокнот

Через классическое приложение «Блокнот» можно без труда создать и наполнить BAT необходимым набором команд.

Вариант 1: Запуск Блокнота

Этот вариант самый распространенный, поэтому рассмотрим его первым.

  1. Через «Пуск» запустите встроенный в Windows «Блокнот».
  2. Впишите нужные строчки, проверив их корректность.
  3. Нажмите на «Файл» > «Сохранить как».
  4. Сперва выберите директорию, где будет храниться файл, в поле «Имя файла» вместо звездочки впишите подходящее название, а расширение, идущее после точки, измените с .txt на .bat. В поле «Тип файла» выберите вариант «Все файлы» и нажмите «Сохранить».
  5. Если в тексте есть русские буквы, кодировка при создании файла должна быть «ANSI». Иначе вместо них в Командной строке вы получите нечитаемый текст.
  6. Батник можно запустить как обычный файл. Если в содержании нет команд, взаимодействующих с пользователем, Командная строка отобразится на секунду. В противном случае запустится ее окно с вопросами или другими действиями, требующими ответа от юзера.

Вариант 2: Контекстное меню

  1. Вы также можете сразу открыть директорию, куда планируете сохранить файл, нажать по пустому месту правой кнопкой мыши, навести на «Создать» и из перечня выбрать «Текстовый документ».
  2. Задайте ему желаемое имя и измените расширение, идущее после точки, с .txt на .bat.
  3. В обязательном порядке появится предупреждение о смене расширения файла. Согласитесь с ним.
  4. Кликните по файлу ПКМ и выберите «Изменить».
  5. Файл откроется в Блокноте пустым, и там вы его сможете наполнить по своему усмотрению.
  6. Закончив, через «Пуск» > «Сохранить» внесите все изменения. Для этой же цели можно использовать сочетание клавиш Ctrl + S.

Если у вас на компьютере установлен Notepad++, лучше воспользоваться им. Это приложение подсвечивает синтаксис, позволяя удобнее работать с созданием набора команд. На верхней панели есть возможность выбрать кодировку с поддержкой кириллицы («Кодировки» > «Кириллица» > «OEM 866»), так как стандартная ANSI у некоторых по-прежнему продолжает отображать кракозябры вместо нормальных букв, введенных на русской раскладке.

Способ 2: Командная строка

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

  1. Откройте Командную строку любым удобным способом, например, через «Пуск», вписав в поиск ее название.

Впишите команду , где copy con — команда, которая создаст текстовый документ, c:\ — директория сохранения файла, lumpics_ru — имя файла, а .bat — расширение текстового документа.

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

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

Для сохранения файла используйте комбинацию клавиш Ctrl + Z и нажмите Enter. Их нажатие отобразится в консоли так, как показано на скриншоте ниже — это нормально. В самом батнике эти два символа не появятся.
Если все прошло успешно, вы увидите уведомление в Командной строке.
Для проверки корректности созданного файла запустите его, как любой другой исполняемый файл.

Не забывайте, что в любой момента можно редактировать батники, кликнув по ним правой кнопкой мыши и выбрав пункт «Изменить», а для сохранения нажать Ctrl + S.

Организатор

Если загружать по несколько файлов в день, то в скором времени в папке «Загрузки» их скопятся сотни. Можно создать скрипт, который упорядочит их по типу. Достаточно поместить .bat-файл с программой в папку с неорганизованными данными и дважды щелкнуть для запуска:

@echo off

rem Каждый файл в папке

for %%a in («.\*») do (

rem проверить на наличие расширения и непринадлежность к данному скрипту

if «%%~xa» NEQ «» if «%%~dpxa» NEQ «%~dpx0» (

rem проверить наличие папки для каждого расширения, и если ее нет, то создать

if not exist «%%~xa» mkdir «%%~xa»

rem переместить файл в папку

move «%%a» «%%~dpa%%~xa\»

))

В итоге файлы в директории «Загрузки» сортируются по папкам, названия которых соответствуют их расширению. Это так просто. Данный пакетный скрипт работает с любым типом данных, будь то документ, видео или аудио. Даже если ПК не поддерживает их, сценарий все равно создаст папку с соответствующей меткой. Если уже есть каталог JPG или PNG, то программа просто переместит туда файлы с данным расширением.

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

Автоматическое создание резервной копии данных

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

Скрипт архивирует папку файлопомойки (\\SERVER\e$ \Exchange)

и папку с данными юзеров (домашнюю Данные пользователей (\\SERVER\e$ \Departments))

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

rem *******************
rem задаём винты где лежат папки для архивирования и винт куда будем бэкапить
rem *******************
SET DRIVE1ST=d:
SET DRIVE2ND=e:

rem *******************
rem пароль на архив
rem *******************
SET PASSWD=qmsdhgsdfgsdfhdsfhsdhf

rem *******************
rem если копировать для надёжности куданить на сетку
rem *******************
rem SET COPYTO=\\shpakk\c$ \!backup

rem ********************
rem *** Проверим путь назначения архива
rem ********************
%DRIVE1ST%
if not exist \!backup md \!backup
if not exist \!backup\Departments md \!backup\Departments
if not exist \!backup\Exchange md \!backup\Exchange
if not exist \!backup\MEDEA_rdisk md \!backup\MEDEA_rdisk
cd \!backup

rem ******************************
rem *** Backup \\SERVER\e$ \Exchange
rem ******************************
SET DIRNAME=Exchange
SET FILENAME=SERVER_Exchange
SET SOURCEDIR=e:\Exchange
rar a -r -m5 -dh -x*.mp3 -x*.fcd -x*.avi -x*.zip -x*.rar -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*
if not exist %DIRNAME%\%FILENAME%_new.rar goto next2
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar
copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%
 
:next2
rem ***************************
rem *** Backup \\SERVER\e$ \Users
rem ***************************
SET DIRNAME=Departments
SET FILENAME=SERVER_Departments
SET SOURCEDIR=e:\Departments
if not exist %DIRNAME%\%FILENAME%_new.rar goto next3
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_4.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_3.rar %FILENAME%_4.rar
ren %DIRNAME%\%FILENAME%_2.rar %FILENAME%_3.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%_2.rar
:next3
rem *******************
rem это если архив будет большим - кусками бить -v357888k
rem *******************
rem rar a -r -m5 -v357888k -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%
rem *******************
rem архивирование пошло, не берём мультимедиа файлы
rem *******************
rar a -r -dh -x*.mp3 -x*.fcd -x*.avi -x*.exe -x*.jpg -x*.tif -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%
goto next4
 
:next4
rem **********************************
rem *** Create repair disk on \\SERVER
rem **********************************
SET DIRNAME=MEDEA_rdisk
SET FILENAME=MEDEA_rdisk
SET SOURCEDIR=%windir%\repair
%windir%\system32\rdisk.exe /s-
rar a -r -m5 -dh -w%DRIVE2ND%\ -p%PASSWD% %DIRNAME%\%FILENAME%_new %SOURCEDIR%\*.*
if not exist %DIRNAME%\%FILENAME%_new.rar goto next5
del %DIRNAME%\%FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%.rar %FILENAME%_old.rar
ren %DIRNAME%\%FILENAME%_new.rar %FILENAME%.rar
copy %DIRNAME%\%FILENAME%.rar %COPYTO%\%DIRNAME%
 
:next5

В итоге имеем 3 папки:

Departments, в ней:

SERVER_Departments_2.rar — 2х дневной давности

SERVER_Departments_3.rar — 3х дневной давности

SERVER_Departments_4.rar — 4х дневной давности

SERVER_Departments_new.rar — НОВЫЙ

SERVER_Departments_old.rar — СТАРЫЙ

Exchange

Так как архивируем обменник — он нам сильно то и не нужен храним только сегодняшний и вчерашний архивы

SERVER_Exchange.rar

SERVER_Exchange_old.rar

ну и систему на всякий в папке

SERVER_rdisk

SERVER_rdisk.rar

SERVER_rdisk_old.rar

Использование параметров командной строки

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

Для доступа из командного файла к параметрам командной строки применяются символы %0, %1, …, %9 или %*. При этом вместо %0 подставляется имя выполняемого пакетного файла, вместо %1, %2, …, %9 — значения первых девяти параметров командной строки соответственно, а вместо %* — все аргументы. Если в командной строке при вызове пакетного файла задано меньше девяти параметров, то «лишние» переменные из %1 – %9 замещаются пустыми строками. Рассмотрим следующий пример. Пусть имеется командный файл copier.bat следующего содержания:

@ECHO OFF
CLS
ECHO Файл %0 копирует каталог %1 в %2
XCOPY %1 %2 /S

Если запустить его из командной строки с двумя параметрами, например

copier.bat C:\Programs D:\Backup

то на экран выведется сообщение

Файл copier.bat копирует каталог C:\Programs в D:\Backup

и произойдет копирование каталога C:\Programs со всеми его подкаталогами в D:\Backup.

При необходимости можно использовать более девяти параметров командной строки. Это достигается с помощью команды SHIFT, которая изменяет значения замещаемых параметров с %0 по %9, копируя каждый параметр в предыдущий, то есть значение %1 копируется в %0, значение %2 – в %1 и т.д. Замещаемому параметру %9 присваивается значение параметра, следующего в командной строке за старым значением %9. Если же такой параметр не задан, то новое значение %9 — пустая строка.

Рассмотрим пример. Пусть командный файл my.bat вызван из командной строки следующим образом:

my.bat p1 p2 p3

Тогда %0=my.bat, %1=p1, %2=p2, %3=p3, параметры %4 – %9 являются пустыми строками. После выполнения команды SHIFT значения замещаемых параметров изменятся следующим образом: %0=p1, %1=p2, %2=p3, параметры %3 – %9 – пустые строки.

При включении расширенной обработки команд SHIFT поддерживает ключ /n, задающий начало сдвига параметров с номера n, где n может быть числом от 0 до 9.
Например, в следующей команде:

SHIFT /2

параметр %2 заменяется на %3, %3 на %4 и т.д., а параметры %0 и %1 остаются без изменений.

Команда, обратная SHIFT (обратный сдвиг), отсутствует. После выполнения SHIFT уже нельзя восстановить параметр (%0), который был первым перед сдвигом. Если в командной строке задано больше десяти параметров, то команду SHIFT можно использовать несколько раз.
В командных файлах имеются некоторые возможности синтаксического анализа заменяемых параметров. Для параметра с номером n (%n) допустимы синтаксические конструкции (операторы), представленные в следующей таблице:

Таблица 2.1. Операторы для заменяемых параметров

Операторы

Описание

%~Fn

Переменная %n расширяется до полного имени файла

%~Dn

Из переменной %n выделяется только имя диска

%~Pn

Из переменной %n выделяется только путь к файлу

%~Nn

Из переменной %n выделяется только имя файла

%~Xn

Из переменной %n выделяется расширение имени файла

%~Sn

Значение операторов N и X для переменной %n изменяется так, что они работают с кратким именем файла

%~$PATH:n

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

 Данные синтаксические конструкции можно объединять друг с другом, например:

%~DPn — из переменной %n выделяется имя диска и путь,
%~NXn — из переменной %n выделяется имя файла и расширение.

Рассмотрим следующий пример. Пусть мы находимся в каталоге C:\TEXT и запускаем пакетный файл с параметром Рассказ.doc (%1=Рассказ.doc). Тогда применение операторов, описанных в таблице выше, к параметру %1 даст следующие результаты:

Обработка текстовых строк

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

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:1. Студент I/II курса ВХК РАН.

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

Дата, извлекаемая из переменной %DATE%, имеет по умолчанию формат «22.02.2022» (ДД.ММ.ГГГГ).

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:1. Студент I/II курса ВХК РАН.

Время, извлекаемое из переменной %TIME%, имеет формат » 9:50:36,79″, то есть содержит:

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

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

Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:1. Студент I/II курса ВХК РАН.

Замена частей строк пока не выглядит актуальной для студенческих задач. Ищем сами, спрашиваем…

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

….

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

….

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Мир технологий
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: