Написание bat файлов

Как получить короткое (8.3) имя файла?

«А зачем? – спросите вы – Ведь мы живем в мире Интернета, Web-сервисов и NTFS с длинными именами файлов». Это действительно так, но иногда встречаются программы, которые отчаянно сопротивляются прогрессу, и в частности, не любят имен файлов и полных путей с пробелами. Одной из таких программ, кстати, является утилита build.exe из Windows DDK… В таких ситуациях спасает использование короткого, «беспробельного» DOS-имени для файла.

ПРЕДУПРЕЖДЕНИЕ

Доступ к файлу по короткому имени может быть не всегда возможен. На файловой системе NTFS создание коротких псевдонимов для файлов может быть отключено путем установки в единицу значения «NtfsDisable8dot3NameCreation» в ключе реестра «HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem».

Итак, все же (в предположении, что надругательства над NTFS не было) – как? Внимательный читатель должен был заметить в предыдущем разделе, что при обращении к переменным %0 — %9 можно использовать префикс

%~s1        - expanded path contains short names only

который нам как раз мог бы помочь. Но есть засада – все эти полезные префиксы нельзя использовать с произвольной переменной окружения, а присваивание переменным %0 — %9 не поддерживается. К счастью, описываемые префиксы можно еще использовать с переменными цикла for, и это дает нам способ достичь требуемого результата. Например, вот так можно получить 8.3-путь к “Program Files”:

      for /d %%i in ("%PROGRAMFILES%") do (
    set PROGRAMFILESSHORT=%%~si
)

echo8.3-имя для каталога "%PROGRAMFILES%" -^> "%PROGRAMFILESSHORT%"

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

      for /?

Как создать «батник» в операционной системе Windows 7

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

Способ 1: использование расширенного текстового редактора Notepad++

Программа Notepad++ является аналогом стандартного Блокнота в операционной системе Windows, значительно превосходя его в количестве и тонкости настроек.

  1. Файл можно создать на любом диске или в папке. Для примера будет использован рабочий стол. На свободном месте нажмите правую кнопку мыши, наведите курсор на надпись «Создать», в выпавшем сбоку окошке щелчком левой кнопки мыши выберите «Текстовый документ»

Очень важна роль кодировки, в которой будет исполнена команда. По умолчанию используется кодировка ANSI, которую нужно заменить на OEM 866. В шапке программы нажимаем на кнопку «Кодировки», нажимаем на аналогичную кнопку в выпавшем меню, затем выбираем пункт «Кириллица» и нажимаем на «OEM 866». Как подтверждение смены кодировки справа внизу в окне появится соответствующая запись.

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

shutdown.exe -r -t 00

После запуска этот батник перезагрузит компьютер. Сама команда означает запуск перезагрузки, а цифры 00 — задержку ее выполнения в секундах (в данном случае она отсутствует, то есть перезапуск выполнится незамедлительно).
Когда команда будет записана в поле, наступает самый важный момент — превращение обычного документа с текстом в исполняемый. Для этого в окошке Notepad++ слева вверху выберите пункт «Файл», затем нажмите на «Сохранить как».

К уже заданному ранее слову или фразе без пробела допишется «.BAT», и получится так, как на скриншоте ниже.

После нажатия на кнопку «OK» в предыдущем окне, на рабочем столе появится новый файл, который будет выглядеть как белый прямоугольник с двумя шестеренками.

Способ 2: использование стандартного текстового редактора Блокнот

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

  1. На рабочем столе двойным щелчком откройте ранее созданный текстовый документ — от откроется в стандартном редакторе.

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

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

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

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

lumpics.ru

Что такое bat и зачем это нужно?

Бат – это расширение файла (bat). Наверняка многие юзеры знают, что каждый файл имеет свое расширение. Это последняя строчка после точки в названии. Именно этот «хвостик» нужен для определения системой как музыка, видео, изображение или любой другой. Можете даже поэкспериментировать. Возьмите любую картинку и переименуйте вместе с расширением. Виндовс сразу оповестит, что вы изменяете расширение, и файл может не определяться системой. Согласитесь с запросом и увидите, что ваша картинка уже не отображается как изображение. Если переименовать как прежде, все снова восстановится. Если у вас не видны расширения, необходимо активировать эту функцию в проводнике, во вкладке «вид».

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

Что собой представляет BAT-файл

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

С помощью таких батников можно автоматизировать целые классы задач:

  • осуществлять управление файловой системой компьютера (удалять, создавать, перемещать файлы, каталоги, подкаталоги);
  • выполнять последовательность команд с определёнными параметрами, которые могут быть контекстно-зависимыми;
  • осуществлять пакетный запуск программ/утилит.

Запуск программ и основные команды

Следующее видео о работе с командами для «батников»:

На официальном сайте Microsoft доступна библиотека, где находится список возможных для запуска команд и приложений

Стоит обратить внимание, что часть из них может не поддерживаться в системах Windows 8 или 10

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

  1. В основном, пользователям нужно немного – настроить запуск определенной программы (или нескольких), запустить одну из функций, настроить раздачу Wi-Fi через ноутбук или отключить компьютер через заданное время. Чтобы запустить программу или сразу несколько, нужно ввести следующее: start “расположение_программы”.
  1. Если в названиях папок есть пробелы, нужно пометить расположение двойными кавычками: start ” “C:MyfilesMyfile.exe”.
  2. После прописанного пути, можно добавить свои опции, чтобы программа запускалась вместе с ними. Это также берется в кавычки, таким образом: start “c:windowsnotepad.exefile.txt”
  1. Следующая интересная функция позволяет загружать «батник» из текущего файла. Для этого нужно воспользоваться оператором call, что выглядит так: call расположение_файла опции
  2. Полученные параметры во время запуска возможно прочесть из подключаемого файла. К примеру, для вызова файла с опциями потребуется указать: call file.bat опция1 опция2 опция3. Из file.bat можно считать эти операторы и пользоваться ими как путями, чтобы запускать другие приложения подобным образом: echo %1 или Каждой опции присваивается свой номер, к которому добавляется знак процента. В показанном примере результатом является вывод команд отправленных опций в консоль (echo применяется, если нужно вывести текст в консоль).
  3. В некоторых случаях, перед запуском следующей команды следует выждать время (к примеру, когда первая программа будет полностью запущена). Это делается с помощью команды: timeout /t указать_количество_секунд
  4. Если есть необходимость запускать программу свернутой или развернутой, можно добавить перед путем к программе параметр MIN или MAX: start /MINc:windowsnotepad.exe.
  5. Чтобы закрыть окно с командами, когда они будут запущены (впрочем, в большинстве случаев оно будет закрыто, если используется start), в последней строчке нужно добавить exit. Если же консоль так и остается открытой, можно попытаться сделать следующее: cmd /c start /b “” расположение_программы опции.

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

Примеры bat файлов

С помощью пакетных файлов можно делать огромное количество различных действий, которые очень сложно/долго, а в некоторых ситуациях, просто невозможно выполнить без использования bat файлов, т.к. необходимо либо приобретать специальный софт под конкретную задачу (пример — массовая конвертация картинок в папке(ах) по ключу в названии, либо самостоятельно писать такую программу на каком-либо языке программирования, что сможет далеко не каждый, да и целесообразность этого, для разового действия минимальна. На нашем сайте есть несколько примеров использования пакетных файлов для решения специализированных задач, которые, возможно, смогут вам помочь.

  • Как автоматизировать запуск bat-файлов
  • Как автоматически ответить на запрос о подтверждении с помощью bat-файла
  • Как выполнить цикл определенное число раз в bat-файле
  • Как добавить комментарии в bat-файл
  • Как дождаться появления определенного файла в папке с помощью bat-файла
  • Как завершить процесс (программу) с помощью bat-файла
  • Как запретить повторный запуск приложения с помощью bat-файла
  • Как зациклить выполнение команды с помощью bat-файла
  • Как из одного bat-файла запустить другой
  • Как изменить IP адрес компьютера с помощью bat-файла
  • Как изменить дату с помощью bat-файла
  • Как изменить значение параметра в реестре с помощью bat-файла
  • Как изменить название процессора в Windows с помощью bat-файла
  • Как импортировать значения переменных реестра с помощью bat-файла
  • Как использовать символ процента в bat-файле
  • Как настроить кодировку шрифтов (исправить иероглифы, кракозябры) в bat-файле
  • Как отключить вывод на экран команд при выполнении bat-файла
  • Как отправить сообщение по сети из bat-файла
  • Как переименовать файлы по маске с помощью bat-файла
  • Как перенаправить результат выполнения команд в лог-файл с помощью bat-файла
  • Как присвоить переменной значение из реестра с помощью bat-файла
  • Как проверить наличие прав администратора с помощью bat-файла
  • Как сделать автоматическое создание резервной копии данных с помощью bat-файла
  • Как сделать резервную копию файлов с сервера FTP с помощью bat-файла
  • Как сделать экспорт реестра с помощью bat-файла
  • Как сменить аудио устройство по умолчанию с помощью bat-файла
  • Как создать бекап на сервере с подстановкой даты в имя архива с помощью bat-файла
  • Как создать папку с помощью bat файла
  • Как создать папку с именем равным текущей дате с помощью bat-файла
  • Как создать паузу перед выполнением следующей команды с помощью bat-файла
  • Как создать файл с произвольным именем с помощью bat-файла
  • Как удалить файлы определенного типа с помощью bat-файла
  • Как узнать имя компьютера с помощью bat-файла
  • Как узнать разрядность версии Windows с помощью bat-файла

Что это за упомянутые ранее операторы объединения команд?

Это операторы &, && и ||. Они практически совсем не освещены в документации, но полезны в повседневности. Они позволяют объединять несколько команд в одну, т.е. примерно так:

command1 & command2
command1 && command2
command1 || command2

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

command1
command2

Оператор && гарантирует, что вторая команда будет выполнена только, если первая была выполнена успешно, т.е. с нулевым кодом возврата (он же %errorlevel%). Такие конструкции очень популярны в мире shell-сценариев Unix. Например:

      cd sources && make clean

Я был приятно удивлен, узнав, что cmd.exe тоже умеет выполнять такие конструкции. Это безопаснее и правильнее, нежели простое последовательное выполнение этих команд, и короче и проще, чем строгая проверка и обработка кодов возврата. Очень удобно при написании на скорую руку. Не менее полезен иногда и оператор ||. Суть его тоже логична – выполнить вторую команду, если первая дала сбой. Часто встречается в таких идиомах:

      cd sources || exit 1

Если перейти в каталог sources не удастся, то будет произведен выход с кодом ошибки 1. Если же первая команда отработает нормально, то вторая выполнена не будет. Например, такая простейшая защита помогла бы в случае с cd по UNC-адресу, описанному ранее.

Редактирование bat

  1. Чтобы отредактировать уже созданный файл bat, щелкнуть на нем мышью (правой), использовав пункт «Изменить».

  2. Файл откроется в выбранной по умолчанию для этого типа файлов программе.

Программы редактирования

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

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

Параметры

{%переменная|%%переменная}
Обязательный параметр. Замещаемый параметр. Используйте %переменная для
выполнения команды for из командной строки. Используйте %%переменная
для выполнения команды for в пакетном файле. Переменные учитывают регистр и могут
быть представлены со значением альфа, например, %A, %B или %C.
(множество)
Обязательный параметр. Задает один или несколько файлов, каталогов, диапазон значений или
текстовых строк, подлежащих обработке заданной командой. Скобки являются обязательными.
команда
Обязательный параметр. Задает команду, которая будет выполнена для каждого файла, каталога
диапазона значений или текстовой строки, включенной в указанный параметр
(множество).
ПараметрыКоманднойСтроки
Задает параметры командной строки, которые используются с указанной командой.
/?
Отображение справки в командной строке.

Вопрос по запуску

Перед решением основной дилеммы необходимо изучить версии активации командной строки. Варианты отличаются в зависимости от вида винды (XP, семёрка, восьмёрка или десятка).

Для вызова системного окошка со строкой нужны такие действия:

  1. Зажать синхронно две кнопки: «Win» (обозначается на клавиатуре флажком) и букву R. Принцип работает на Windows 7 и XP. На восьмёрке используется сочетание кнопок «Win» + X (английская буква).
  2. В появившейся графе пропишите cmd и нажмите «Enter».

Можно задействовать меню «Пуск». Наводите курсор в нижний левый угол и нажимаете левую кнопку мыши. Выберите графу «Все программы». Перейдя в раздел под названием «Стандартные», выберите «Командную строку».

Но такой вариант оптимален только для версий системы до Windows 10.

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

Например, если вас интересует, как создать файл в командной строке Windows 10, то в первую очередь вызовите её.

Для этого в меню «Пуск» выбираете разделе «Служебные»,а после этого – командную строку.

Есть и универсальный способ вызова для всех ОС. Он выражается в следующем алгоритме:

  1. Используя проводник, открыть диск с системной папкой (как правило его буквенное обозначение C) с виндой.
  2. Открывается папка «Windows», а в ней -«System32». Там и находится файл «cmd.exe». Это та самая командная строка.
  3. Этот файл запускается от администратора.

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

Как создать файл .BAT в Windows 7

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

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

Добавляем в файл команду, например, для копирования

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

Разъясняю что тут к чему:

  • xcopy — это сама команда;
  • C:\test\testcopy — это источник, т.е. папка откуда копируются файлы и каталоги;
  • C:\test\backup — это результат, т.е. место, куда будут скопированы файлы и каталоги;
  • /f /i /y /s — дополнительные параметры синтаксиса для команды xcopy (см.синтаксис ниже по тексту).

Количество строчек может быть любым, т.е. если Вам надо скопировать 100 папок, Вы пишете 100 строчек в одном файле и меняете в них только пути.

Далее, касательно синтаксиса (какие дополнительные параметры есть, какие можно дописать и зачем они нужны).

Какие есть (т.е. те, что я указал в данном примере):

  • /f — выводит имена исходных файлов и файлов-результатов в процессе копирования
  • /i — создает новый каталог в случае, если тот отсутствует в конечном пути
  • /y — перезаписывает файл в случае, если он уже есть
  • /s — копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.

Далее нам надо сменить формат файла с txt на bat. Делается это следующим образом.

Длинные имена в bat-файлах

Иногда в bat встречаются программы, не работающие с длинными именами с пробелами – обычно это некоторые старые программы для MS-DOS. В этих случаях помогает использование коротких DOS-имен без пробелов, а также кавычек.

Правила записи коротких DOS-имен (формат 8.3): задействуется шесть начальных символов имени папки, не учитывая пробелы, далее указывается ее номер по порядку через ~. Например: start C:Program FilesMozilla Firefoxfirefox.exe преобразуется в: start C:Progra~1Mozill~1firefox.exe.

Возможна ситуация, когда в одном каталоге имеются несколько папок с одинаковыми символами в названии.

В одном каталоге имеются несколько папок с одинаковыми символами в названии

Их короткие имена в этом случае должны нумероваться в соответствии с алфавитным порядком папок:

  • Mozill~1;
  • Mozill~2;
  • Mozill~3.

Однако, если Mozilla Firefox будет удален с компьютера, следующие за Mozill~1 записи работать не будут. Поэтому, короткие DOS-имена – не лучший вариант решения проблемы длинных имен. Создание имен этого типа на NTFS также бывает отключено в реестре Windows.

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

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

Однако, в некоторых случаях кавычки не работают совсем. В этом случае возможно использование команды изменения текущего рабочего каталога Chdir (CD). Запись start firefox.exe приобретает в этом случае следующий рабочий вид.

Запись start firefox.exe приобретает рабочий вид

Справка. Команда CD – пожалуй, единственное универсальное решение вопроса длинных имен в bat-файлах.

Меняем формат файла и пробуем его запустить

Сначала открываем «Мой компьютер», там переходим «Сервис» — «Свойства папки» — «Вид» и снимаем галочку «Скрывать расширение для зарегистрированных типов файлов».

Жмем «Применить» и «Ок». Теперь мы можем менять расширение известных системе файлов, а посему направляемся к нашему файлику, жмем правой кнопкой мышки, выбираем «Переименовать» и методом печатания на клавиатуре меняем расширение с txt на bat (на вопрос системы стоит ли это делать отвечаем утвердительно).

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

Собственно, все, что нам остается — это запустить этот файл простым кликом по нему мышки.

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

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

Как экранировать символ?

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

  • Операторы перенаправления ввода-вывода <, >, >>.
  • Оператор конвейера |.
  • Операторы объединения команд ||, & и &&.
  • Оператор разыменования переменной %…%.

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

      echo
      The ratio should be up to 10%.
    

символ процента будет «съеден» интерпретатором, который решит, что это попытка вывода значения какой-то переменной. В случае со знаком процента решение довольно хорошо известно и состоит в удвоении этого символа:

      echo
       The ratio should be up to 10%%.
    

после чего все заработает так, как надо. Однако в других случаях все менее очевидно. Рассмотрим командный сценарий, который генерирует незатейливый HTML-файл:

      @echo
      
      off
      
      set OUTPUTFILE=%1

echo<html>                                  >%OUTPUTFILE%
echo<head>                                 >>%OUTPUTFILE%
echo<title>This is a greeting page</title> >>%OUTPUTFILE%
echo</head>                                >>%OUTPUTFILE%
echo<body>                                 >>%OUTPUTFILE%
echoHello World!                           >>%OUTPUTFILE%
echo</body>                                >>%OUTPUTFILE%
echo</html>                                >>%OUTPUTFILE%

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

> was unexpected at this time.

Оно и понятно: командный интерпретатор не в силах разобраться, где его просят вывести на экран символ HTML-тега, а где перенаправить вывод. В нормальных языках программирования эта проблема обычно решается обрамлением строковых литералов кавычками. Отчасти это помогает и в bat-файлах. Но лишь отчасти. Выполнение строки

      echo
      "<html>"                                 >%OUTPUTFILE%

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

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

      @echo off
set OUTPUTFILE=%1

echo^<html^>                                    >%OUTPUTFILE%
echo^<head^>                                   >>%OUTPUTFILE%
echo^<title^>This is a greeting page^</title^> >>%OUTPUTFILE%
echo^</head^>                                  >>%OUTPUTFILE%
echo^<body^>                                   >>%OUTPUTFILE%
echoHello World!                               >>%OUTPUTFILE%
echo^</body^>                                  >>%OUTPUTFILE%
echo^</html^>                                  >>%OUTPUTFILE%

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

Длинные имена в bat-файлах

Иногда в bat встречаются программы, не работающие с длинными именами с пробелами – обычно это некоторые старые программы для MS-DOS. В этих случаях помогает использование коротких DOS-имен без пробелов, а также кавычек.

Правила записи коротких DOS-имен (формат 8.3): задействуется шесть начальных символов имени папки, не учитывая пробелы, далее указывается ее номер по порядку через ~. Например: start C:Program FilesMozilla Firefoxfirefox.exe преобразуется в: start C:Progra~1Mozill~1firefox.exe.

Возможна ситуация, когда в одном каталоге имеются несколько папок с одинаковыми символами в названии.

В одном каталоге имеются несколько папок с одинаковыми символами в названии

Их короткие имена в этом случае должны нумероваться в соответствии с алфавитным порядком папок:

  • Mozill~1;
  • Mozill~2;
  • Mozill~3.

Однако, если Mozilla Firefox будет удален с компьютера, следующие за Mozill~1 записи работать не будут. Поэтому, короткие DOS-имена – не лучший вариант решения проблемы длинных имен. Создание имен этого типа на NTFS также бывает отключено в реестре Windows.

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

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

Однако, в некоторых случаях кавычки не работают совсем. В этом случае возможно использование команды изменения текущего рабочего каталога Chdir (CD). Запись start firefox.exe приобретает в этом случае следующий рабочий вид.

Запись start firefox.exe приобретает рабочий вид

Справка. Команда CD – пожалуй, единственное универсальное решение вопроса длинных имен в bat-файлах.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector