Работа с bat файлами: Работа с bat-файлами. — База полезных знаний

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

Редактировать BAT файл можно в блокноте или любом другом текстовом редакторе, ориентированным на работу с кодом.

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

На Windows (как, впрочем, и на UNIX) установленные в системе программы соответствующим образом регистрируются системой. Поэтому некоторые из установленных программ могут запускаться одной простой командой из BAT файла или из апплета Выполнить панели Пуск. Одной из таких программ является Firefox:

start firefox

Если после этой команды писать путь к исполняемому файлу, то происходит следующее: запускается обозреватель Firefox и пробует обработать запрос, то есть файл, путь к которому указан. То есть, если указать следующее:

start firefox C:\Program Files\Mozilla Firefox\firefox.exe

Обозреватель откроется, чтобы не было написано после start firefox.  Однако, если взять портативную программу, то ситуация окажется совсем иная. Рассмотрим в качестве примера ftp-клиент Filezilla. Поскольку система не знает о программе, вышеупомянутая строчка

start filezilla

работать не будет. Чтобы запустить неизвестную системе программу, надо указать к ней путь:

start D:\FileZilla\FileZilla.exe

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

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

start C:\Program Files\Sound Club\scw.exe

В примере два имени с пробелами. Заменим их короткими. Правила создания коротких имен следующие: в коротком имени используются первые шесть символов имени без учета пробелов, после имени указывают порядковый номер папки с помощью символа ~. Так как папки Program Files и Sound Club у меня в единственном числе, получится следующее:

Program Files - Progra~1
Sound Club - SoundC~1
start C:\Progra~1\SoundC~1\scw.exe

Если рядом будут присутствовать две папки, например Sound Club и Sound Clown, то следуя правилам, в примере выше надо будет указать SoundC~2, так как в этом случае Sound Club окажется вторым именем (имена считаются в алфавитном порядке).

Но этот способ неудобен тем, что приходится указывать порядковые номера. Ситуация с Program files более менее нормальная. Мало у кого встретится две подобные папки на системном диске. Но если вы решили установить несколько продуктов Mozilla на свой компьютер. У вас получится несколько папок, например:

Mozilla Firefox
Mozilla Thunderbird
Mozilla Sunbird

Короткими именами для них будут

Mozill~1
Mozill~2
Mozill~3

А теперь представьте, что вы написали BAT файл с упоминанием этих программ. Если удалить Firefox, оставшиеся записи перестанут работать, а если удалить Thunderbird, перестанет работать запись для Sunbird. 

Пробелы и кавычки в bat-файлах

Кавычки на самом деле работают, но не с теми способами, которые обычно советуют. Советуют обычно следующее:

start "C:\Program Files\Sound Club\scw.exe"

Так команда не сработает, поскольку если посмотреть справку по ней (start /?), то в справке вы увидите следующее:

START ["заголовок"] [/D путь] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/NODE узел NUMA] [/AFFINITY маска сходства] [/WAIT] [/B]
      [команда/программа] [параметры]

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

start "" "C:\Program Files\Sound Club\scw.exe"

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

start C:\"Program Files"\"Sound Club"\scw.exe

Однако, в ряде случаев не работает ничего из вышеописанного. В таких случаях я могу посоветовать использовать команду cd. Переходим на системный раздел, затем с помощью cd в папку Program Files и запускаем программу (start):

%SystemDrive%
cd \Program Files\Sound Club\
start scw.exe

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

start firefox
start jetaudio
rem start defraggler

В данном случае отключен запуск установленной в системе программы Defraggler. exe. Комментируют строки, указывая команду rem в начале строки. Все BAT файлы выполняются в окне консоли. Чтобы оно исчезало по окончании выполнения команд, не забывайте в конце писать команду на выход exit.

start firefox
start jetaudio
rem start defraggler
exit

Запуск приложений из bat-файла

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

start firefox

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

start C:\"Program Files"\"Mozilla Firefox"\firefox.exe

Также, в BAT файле обязательно должна присутствовать команда на завершение:

start C:\"Program Files"\"Mozilla Firefox"\firefox.exe
exit

 

Запуск программ в bat-файлах с параметрами (ключами)

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

start /min D:\FileZilla\FileZilla.exe
exit

 Ключ указывается через слэш после основной команды (команда /ключ). Основной командой в данном случае является start. 

Вообще ключей существует очень много и наборы ключей разных программ могут существенно различаться. Есть, несколько общих. Например, ключ справки (/? или /help). 

start /?

Консоль выведет на экран перечень допустимых ключей c комментариями для команды start.

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

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

start Sleep.exe 15

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

/S
/s
/q
/silent
и ряд других

В ряде случаев бывает очень удобно. 

start avast.exe /S
exit

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

Есть и другие возможности по управлению программами при помощи BAT файлов. Можно запустить программу, приказав ей открыть файл при запуске. Очень удобно, когда весь твой инструментарий открывает нужные документы и папки нажатием всего одной кнопки:

rem соединение с ftp-сервером
start /min D:\FileZilla\FileZilla.exe "ftp://логин:пароль@сервер"

rem открытие index. php в Firefox
start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php"

rem открытие start.html в текстовом редакторе
start /min C:\"Program Files"\текстовой_редактор.exe "E:\сервер\папка_сайта\index.html"

rem открытие папки с файлами сайта
start /min E:\сервер\папка_с_сайтом

rem выход из консоли
exit

Отмечу, что все вышеописанные приемы можно применять в различных комбинациях и сочетаниях.

start /min /wait program.exe /m /S
start C:\Directory\program2.exe "C:\Files\file.odt"
exit

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

start C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/папка_сайта/index.php"

Работа со списками файлов и документов OTUS

Пользователи при работе с компьютером будут иметь дело с разными документами и их хранилищами: файлами, папками, портфелями. Основы их использования – «база», без которой не удастся быстро добиться того или иного результата.

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

Командная строка

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

Для получения списка файлов в папке через командную строчку, необходимо:

  1. Перейти к желаемому хранилищу или диску.
  2. Кликнуть правой кнопкой мыши, удерживая клавишу «Shift» зажатой, по свободному пространству.
  3. Выбрать в открывшемся меню пункт «Открыть окно команд». На экране появится консоль. Там еще будет указан путь к нужной директории.
  4. Ввести один из нескольких доступных вариантов команд:. Формат txt – это тип файла, в котором будет сохранен получившийся список.

Далее просто нужно отправить запрос на обработку. Для этого – нажать на клавиатуре Enter.

Указанные в 4 шаге команды несколько отличаются друг от друга. Каждый подходит для собственных случаев:

  • /b – получение списка только с именами файлов;
  • /s – дополнительно включены все файлы и подкаталоги, расположенные внутри соответствующего хранилища.

Этот прием позволяет создать в «хранилище» документ с заданным расширением и списком имеющихся внутри файлов. Может использоваться во всех операционных системах Windows.

Особенности приема

Командная строка – достаточно простой прием, но он предусматривает некоторые особенности. Они связаны с именами документации.

Если файлы были на русском, то при открытии txt документа вместо «названий» будут непонятные символы. Такое случается, если пользователь работает с «Блокнотом» или иными стандартными текстовыми редакторами. Происходит такой из-за того, что система не поймет кодировку MS-DOS.

Для корректной работы и считывания списков рекомендуется пользоваться Word или Open Office:

  1. Кликнуть по текстовому документу ПКМ.
  2. Выбрать пункт меню «Открыть с помощью…».
  3. В появившемся списке нажать на MS Word.
  4. Выбрать кодировку в окне «Преобразование текста». Остановиться рекомендуется на MS-DOS.

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

Bat-документы

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

Для создания документа .bat нужно открыть «Блокнот» и вставить туда такой код:

После сохраните документ с упомянутым ранее расширением. Допустимо использовать любое имя файла. Параметры сохранения окажутся следующими:

  • имя файла: file list.bat;
  • тип: все файлы.

Остается щелкнуть по «Сохранить». Теперь – поместить созданную документацию в папку или диск, из которого требуется получить список. После запуска документации с расширением .bat появится filelist. В нем расположен интересующий пользователя список.

Специальное приложение

При решении вопроса, связанного с получением вложенных перечней файлов в хранилище, можно воспользоваться бесплатной программой. Она называется Dir Lister. У этой программы нет инсталлятора – она работает без инициализации на устройстве. Нужно просто распаковать архив на компьютере.

Для создания списка из имеющихся файлов в хранилище через DirLister, потребуется:

  1. Запустить приложение на компьютере.
  2. Выбрать место для сохранения списка файлов. Для этого есть раздел Output File и кнопка «Save As…».
  3. Определиться с корневым хранилищем – тем, который будет просканирован. Сделать это нужно в Directory….
  4. Уточнить критерии поиска файлов по маске «*.*», выбрав нужно имя или тип документации.
  5. Щелкнуть по кнопке «Make List».

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

Total Commander

Определить и получить список можно при помощи Total Commander. Это – один из самых популярных файловых менеджеров. Рассматриваемый далее прием – очень быстрый и удобный для новичков.

Чтобы определить список документов, находящихся в папке, через Total Commander, потребуется:

  1. Зайти в популярный файловый менеджер.
  2. Открыть папку, с которой планируется дальнейшая работа.
  3. В пункте «Выделение…» выбрать «Выделить все».
  4. Нажать на «Копировать имена в буфер обмена».
  5. Открыть «Блокнот» или любой другой редактор текста.
  6. Вставить туда из буфера обмена полученную информацию.

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

Браузеры

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

Для этого нужно:

  1. Открыть свой интернет-обозреватель. Подойдет любое соответствующее приложение.
  2. Открыть через «Проводник» нужную папку – ту, с которой планируется дальнейшая работа.
  3. Переместить файл в браузерное окно.

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

Работа с Excel

Алгоритмы получения файлов с их расширением .txt или .doc уже были изучены. Предложенные ранее приемы актуальны для непосредственной работы в Windows. Но получение списков может потребоваться в «офисных» приложениях. Это – распространенная ситуация, с которой сталкиваются многие сотрудники.

Далее будут приведены примеры того, как получить список в Excel. Их можно использовать только в соответствующем приложении.

Функция ФАЙЛЫ

Функция ФАЙЛЫ появилась в MS Excel очень давно. Это – первая операция, с которой должен уметь работать каждый офисный работник. Особенно тот, кто много взаимодействует с таблицами.

Для того, чтобы воспользоваться данным приемом, потребуется:

  1. В любой ячейке листа (пример – A1) добавить путь к папке, перечень документов которого требуется сформировать.
  2. Создать именованный диапазон через «Формулы»-«Диспетчер имен»-«Создать». В окне прописать имя без пробелов.
  3. В поле диапазона вставить =ФАЙЛЫ(Лист1!$A$1).
  4. Нажать на «Ок».

Для извлечения отдельных документов из созданной переменной нужна функция ИНДЕКС. Она отвечает за вытаскивание информации из массивов по их номерам.

Макросы

Получить список можно при помощи готового макроса. Этот вариант подойдет тем, кто не знаком с соответствующим функционалом в Excel.

Пользователю предстоит:

  1. Зажать сочетание Alt + F11.
  2. Выбрать Insert-Module.
  3. Скопировать и вставить в контекстном меню следующий код.
  4. Сохранить изменения.

Для запуска макроса нужно нажать Alt + F8. Теперь можно выбрать адрес любой папки или диска, а затем смотреть на результат.

Power Query

Получить списки в Excel можно через Power Query. Это – мощный и бесплатный софт от корпорации Microsoft. Он предназначен для того, чтобы упрощать большинство задач, связанных с офисными приложениями.

Чтобы посмотреть документацию в каталоге или подпапках, предстоит:

  1. Скачать и установить Power Query. Этот шаг обязателен для MS Office, которые вышли ранее 2016 года.
  2. Переключиться в «Данные»-«Создать запрос».
  3. Выбрать «Из файла»-«Из папки».
  4. Указать папку, из которой нужно получить список.
  5. Подтвердить обработку запроса.

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

Работа с C#

При программировании тоже иногда необходимо получить список файлов в каталогах и иных хранилищах. Далее будут приведены примеры работы на C# для каждого случая.

Файлы в папке

Для формирования перечня документов в заданном хранилище в Си Шарпе используется метод GetFiles. Он принимает три параметра:

  • path – путь к папке, в котором осуществляется дальнейший поиск;
  • pattern – шаблон поиска;
  • options – способ обнаружения информации, который указывает, что сведения ищутся только в текущей папке или включая подпапки.

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

Папка в папке

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

В рассматриваемом языке программирования есть и EnumerateRirectories. Он дает возможность обработки получаемого перечня до его непосредственного и полного получения. Доступен в .NET Framework 4.0 и новее. С его помощью получить списки удается быстро и качественно.

Рекурсивно

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

Такой подход имеет один недостаток – если к какой-то папке отсутствует доступ, на экране возникнет ошибка. Перечень вообще не сформируется.

Исправить ситуацию и получить список удастся при помощи такого кода:

При помощи этого сайта можно увидеть примеры реализации всех перечисленных методов в Си Шарп. Спасибо большое за внимание.

Как освоить IT

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

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

Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!

Как работает пакетный файл Microsoft?

При создании пакетного файла Microsoft, т.е.: сохранение

 @echo off
:петля
эхо привет!
перейти в петлю
 

as hiloop.bat , как работает код? Первоначально я думал, что он работает так же, как и любой другой код, такой как C++, но потом я где-то прочитал, что пакетный файл напрямую работает с ОС или что-то в этом роде, что делает его чрезвычайно эффективным, поэтому

Как работает файл Microsoft . bat?

  • пакетный файл

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

Однако, поскольку пакетный файл может вызывать поддержку DLL-библиотек COM (которые, по сути, являются скомпилированными программами), все, что делается в них, может быть очень эффективным. И есть тысячи dll с кусками функциональности, такими как доступ к базе данных, использование компонентов интерфейса и почти все, что вам нужно для создания многих сложных, но обычных вещей.

Пакетные файлы, оканчивающиеся на .bat, интерпретируются командой command.com и запускаются в эмуляции MS-DOS.

Пакетные файлы, оканчивающиеся на .cmd, интерпретируются cmd.exe и запускаются как консольные приложения Windows.

Вы можете запустить интерпретатор команд в интерактивном режиме, нажав «Пуск», «Выполнить», а затем введя команду command. com или cmd.exe. Он предложит вам ввести команды и выполнит каждую строку после того, как вы ее наберете. Пакетный файл в основном просто указывает команды заранее, поэтому вам не нужно их вводить. Пакетный файл не подвергается предварительной обработке или компиляции, поэтому повышение эффективности незначительно или отсутствует.

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

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

Существуют исключения, такие как goto , которая не имеет смысла, если вы вводите ее в командной строке, но имеет смысл при выполнении в пакетном файле. Увидев команду goto , оболочка вернется к началу файла и будет читать каждую строку по очереди, пока не найдет метку, указанную в команде goto . Затем он начинает выполняться оттуда.

Приведенный выше метод интерпретируется , а не компилируется , поэтому он гораздо менее эффективен при выполнении, чем компилируемый язык, такой как C++. Я бы никогда не назвал пакетные файлы «чрезвычайно эффективными». Может быть, «чрезвычайно в эффективный».

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

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

bash — Как запустить файлы .sh или .bat из терминала?

У меня есть довольно простая проблема, которая возникла так случайно, что до сих пор я просто игнорировал ее. Я загрузил веб-сервер tomcat, и книга «Murach’s Java Servlets and JSP» говорит мне перейти в каталог tomcat/bin и запустить сервер, набрав в Терминале

$ startup

Однако я получаю сообщение об ошибке

 -bash: запуск: команда не найдена
 

Соответствующие файлы в этом каталоге — startup.sh и startup.bat. Ввод обоих из них возвращает одно и то же сообщение об ошибке

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

  • Баш
  • Кот
  • терминал

0

. sh предназначен для систем *nix, а .bat должен быть для Windows. Поскольку в вашем примере показана ошибка bash и вы упоминаете Терминал, я предполагаю, что вы используете OS X.

В этом случае вам нужно зайти в папку и ввести:

 ./startup.sh
 

./ просто означает, что вы должны вызвать скрипт, расположенный в текущем каталоге. (В качестве альтернативы просто введите полный путь к startup.sh ). Если это не сработает, проверьте, есть ли у startup.sh права на выполнение.

5

Это потому, что скрипт отсутствует в вашем $PATH. Используйте

 ./имя_сценария
 

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

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

 chmod u+x имя сценария
 

Файл .sh представляет собой сценарий оболочки Unix. Файл .bat представляет собой пакетный файл Windows.

1

Введите bash имя_сценария.sh или ./имя_сценария в терминале Linux. Перед использованием ./script_name сделайте ваш скрипт исполняемым с помощью sudo chmod 700 имя_сценария и введите имя_сценария.bat в окнах.

Самый простой способ для ленивых пользователей Mac вроде меня: перетащите файл startup.sh из Finder в окно терминала и нажмите клавишу «Ввод».

Чтобы выключить Tomcat, сделайте то же самое с shutdown.sh .

Вы можете удалить все файлы .bat , поскольку они предназначены только для ПК с Windows и бесполезны на Mac для другого компьютера Unix. Я удаляю их, так как это облегчает чтение списка этой папки.

Я обнаружил, что новая загрузка Tomcat не запускается на моем Mac из-за ограничений прав доступа к файлам, вызывающих ошибки при запуске. Я использую приложение BatChmod , которое оборачивает графический интерфейс вокруг эквивалентных команд Unix для сброса прав доступа к файлам.

Системы Unix защищают доступ к портам с номерами до 1024. Поэтому, если вы хотите использовать порт 80 с Tomcat, вам нужно научиться выполнять «переадресацию портов» для пересылки входящих запросов на порт 8080, где Tomcat прослушивает по умолчанию. Чтобы выполнить переадресацию портов, вы отдаете команды приложению фильтрации пакетов (брандмауэру), встроенному в Mac OS X (и BSD). Раньше мы использовали ipfw . В Mac OS X 10.7 (Lion) и более поздних версиях Apple переходит на более новый инструмент, pf .

Основываясь на комментарии IsmailS, команда, которая сработала для меня в OSX, была:

 sudo sh ./startup.sh
 

В Windows введите либо startup , либо startup.bat

В unix введите ./startup.sh

(при условии, что вы находитесь в каталоге tomcat/bin)

Введите 90 003

 chmod 755 имя сценария.  ш
 

Другими словами, разрешите себе запустить файл. Я предполагаю, что у вас есть только разрешение на чтение и запись.

1

  1. добавить #!bin/bash поверх вашего файла .sh
  2. sudo chmod +x ваш файл .sh
  3. ./ваш.sh файл

эти шаги работают~

1

Мое предложение исходит не от терминала; однако это гораздо более простой способ.

Файлы .bat можно запускать через Wine. Используйте это видео, чтобы помочь вам установить его: https://www.youtube.com/watch?v=DkS8i_blVCA. В этом видео объясняется, как установить, настроить и использовать Wine. Это так же просто, как открыть файл .bat в самом Wine, и он будет работать так же, как и в Windows.

Благодаря этому вы также можете запускать файлы .exe и файлы .sh.

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

У меня была эта проблема с файлами *.sh в Yosemite, и я не мог понять, какой правильный путь для папки на моем рабочем столе .