Youtubezilla.ru

Мастер бытовой техники
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Ответ 1

Вот как я это сделал:

Вот как выглядит команда:

%1 применяется к первому параметру, %2 (и здесь сложная часть) применяется ко второму. Таким способом можно передать до 9 параметров.

Ответ 2

Еще один полезный совет — использовать %* для обозначения «все». Например:

Когда вы бежите:

вышеуказанный командный файл будет работать:

У меня может быть немного неправильный синтаксис, но это общая идея.

Ответ 3

Если вы хотите разумно обрабатывать отсутствующие параметры, вы можете сделать что-то вроде:

Ответ 4

Доступ к пакетным параметрам может быть простым с% 1,% 2. % 9 или также% *,
но только если содержание простое.

Для сложного содержимого, такого как «&»^& , простого способа не существует, так как невозможно получить доступ к% 1 без возникновения ошибки.

Линии расширяются до

И каждая строка терпит неудачу, так как одна из & находится вне кавычек.

Это можно решить с помощью чтения из временного файла отмеченной версии параметра.

Хитрость заключается в том, чтобы включить echo on и развернуть% 1 после оператора rem (работает также с %2.. %* ).
Таким образом, даже «&»& может отображаться без ошибки, как отмечается.

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

Дополнительные символы * # используются для защиты содержимого вроде /? (показал бы помощь для REM ).
Или символ ^ в конце строки может работать как многострочный символ, даже после rem .

Затем читаем параметр rem из файла, но внимательно.
FOR/F должен работать с отложенным расширением, иначе содержимое с «!» будет уничтожен.
После удаления лишних символов в param1 вы его получили.

И для безопасного использования param1 включите отложенное расширение.

Ответ 5

Да, и просто не забудьте использовать переменные типа %%1 при использовании if и for и банды.

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

Ответ 6

Нет необходимости усложнять его. Это просто команда% 1% 2 параметров, например,

В «паузе» отображается то, что сделал командный файл, и ждет, пока вы нажмете клавишу ANY. Сохраните это как xx.bat в папке Windows.

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

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

Ответ 7

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

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

Суть его имеет функции :init , :parse и :main .

Примечание: IF «%1″==»» вызовет проблемы, если %1 заключен в кавычки.

В этом случае используйте IF [%1]==[] или, только в NT 4 (SP6) и позже, IF «%

Ответ 9

Пусть это просто.

Вот 3 вызова из командной строки.

Ответ 10

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

Ответ 11

Я написал простой read_params script, который может быть вызван как функция (или внешний .bat ) и поместит все переменные в текущую среду. Он не будет изменять исходные параметры, потому что функция call ed с копией исходных параметров.

Читайте так же:
Функция Excel: подбор параметра

Например, с учетом следующей команды:

myscript.bat сможет использовать переменные после вызова функции:

Ограничения

  • Невозможно загрузить аргументы без значения, например -force . Вы можете использовать -force=true , но я не могу придумать способ разрешить пустые значения, не зная список параметров загодя, которые не будут иметь значения.

Changelog

  • 2/18/2016
    • Больше не требуется отсроченное расширение
    • Теперь работает с другими аргументами командной строки, ища — перед параметрами.

    Ответ 12

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

    Примечание: это работает для Windows 7 Pro.

    Ответ 13

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

    Допустим, мы хотим реализовать утилиту foobar . Требуется начальная команда. Он имеет необязательный параметр —foo который принимает необязательное значение (которое, конечно, не может быть другим параметром); если значение отсутствует, по default по default . Он также имеет необязательный параметр —bar который принимает требуемое значение. Наконец, он может принимать флаг —baz без допустимого значения. Ох, и эти параметры могут прийти в любом порядке.

    Другими словами, это выглядит так:

    • Используйте SETLOCAL чтобы переменные не SETLOCAL в вызывающую среду.
    • Не забудьте инициализировать переменные SET FOO= и т.д., Если кто-то определил их в вызывающей среде.
    • Используйте %

    1 , не обновляются, потому что они определяются при анализе IF . Вы можете использовать %

    2 внутри блока IF , но это может сбить с толку, потому что у вас есть SHIFT . Вы можете поместить SHIFT в конец блока для ясности, но это может потеряться и/или сбить людей с толку. Так что «захват» %

    Ответ 14

    Создайте новый командный файл (пример: openclass.bat) и напишите эту строку в файле:

    Затем поместите пакетный файл, скажем, в папку system32, перейдите в свой файл класса Java, щелкните правой кнопкой мыши, «Свойства», «Открыть с. «, затем найдите пакетный файл, выберите его и. /p >

    Это работает для меня.

    PS: Я не могу найти способ закрыть окно cmd, когда я закрываю Java-класс. На данный момент.

    Ответ 15

    Простое решение (хотя вопрос старый)

    Где YourLocalPath — это текущий путь к каталогу.

    Для простоты сохраните команду param в переменной и используйте переменную для сравнения.

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

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

    Ответ 16

    enter image description here

    Для использования циклов получить все аргументы и в чистом пакетном режиме:

    Ваш код готов сделать что-то с номером аргумента там, где это нужно, например.

    Ответ 17

    Что если я хочу передать более 9 параметров? Я использую 10 параметров в одном скрипте, но параметр номер 10 отображается как «10»

    Ожидаемый результат и id, как обернуть%

    Ответ 18

    В пакетном файле

    % 1 и% 2 возвращают первое и второе значения аргумента соответственно.

    Создайте файл Bat, чтобы быстро открывать несколько веб-страниц

    Открывать несколько веб-сайтов в Windows 10 одновременно (в любом браузере) без использования закладок или расширений браузера. Вам нужно будет создать файл .bat для автоматического выполнения определенных задач на основе инструкций в файле. В этом случае он открывает сразу несколько веб-страниц.

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

    Создать файл

    Есть два способа начать создание файла .bat. Сначала откройте Блокнот или щелкните правой кнопкой мыши в любом месте экрана и выберите «Создать -> Текстовый документ». Оба эти метода помогут вам открыть пустой текстовый документ. Убедитесь, что вы выбрали «Текстовый документ», поскольку вам не нужны никакие параметры форматирования.

    Изображение 1: как создать файл Bat для быстрого открытия нескольких веб-сайтов в Windows 10

    Введите следующую команду в первой строке:
    @echo off
    Затем вы войдете в список веб-страниц, которые хотите быстро открыть. Вы должны ввести полный URL. Например, если вы хотите добавить TipsMake.com в свой список, вам нужно добавить URL https://TipsMake.com. Если URL-адрес введен неправильно, файл возвращает сообщение об ошибке.

    Поместите каждый веб-сайт в отдельную строку и добавьте перед ним слово «начало», например:
    начать https://tipsmake.com
    На мгновение вы можете скопировать текст позже и просто ввести нужный URL-адрес веб-сайта.
    @echo off начать https://www.website1.com
    начать https://www.website2.com
    начать https://www.website3.com

    Содержимое вашего файла должно выглядеть примерно так, но, конечно, с вашими собственными веб-сайтами:

    Изображение 2: как создать файл Bat для быстрого открытия нескольких веб-сайтов в Windows 10

    Вы можете добавить столько URL-адресов, сколько захотите. Просто убедитесь, что каждая строка начинается с «start».

    Сохраните файл

    Если вы сохраните файл обычным способом, это будет просто «безобидный» файл Блокнота. Вместо этого вы должны сохранить файл как .bat. Обратите внимание: не используйте «Сохранить как», но вы должны вручную добавить расширение .bat к имени файла.

    Например, вы можете назвать свой файл TechSites.bat.

    Изображение 3: как создать файл Bat для быстрого открытия нескольких веб-сайтов в Windows 10

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

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

    Редактировать файл

    Хотя с помощью этого файла Bat вы можете одновременно открывать несколько веб-сайтов в Windows 10, если со временем потребности меняются, вам может потребоваться добавить или удалить несколько веб-сайтов из списка.

    Вам не нужно вводить все заново, просто щелкните файл правой кнопкой мыши и выберите «Редактировать». Это повторно откроет файл в Блокноте для редактирования. По завершении сохраните изменения.

    Изображение 4: как создать файл Bat для быстрого открытия нескольких веб-сайтов в Windows 10

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

    Запуск скрытых файлов .BAT или .CMD (невидимый режим) с помощью скрипта

    Метод запуска Windows Script Host позволяет запускать программу или сценарий в невидимом режиме. Вот пример кода сценария Windows, который запускает командный файл с именем syncfiles.bat невидимо.

    Ссылка: метод запуска. Установка параметра intWindowStyle в 0 скрывает окно.

    Допустим, у нас есть файл с именем syncfiles.bat в C:Batch Files каталог. Давайте запустим его в скрытом режиме, используя Windows Scripting.

      Скопируйте следующие строки в Блокнот.

    Заметка: Замените имя / путь пакетного файла соответственно в сценарии в соответствии с вашими требованиями.

    СВЯЗАННЫЙ: Как автоматически поднять пакетный файл, чтобы запустить его от имени администратора? и VBScripts и повышение прав UAC (запуск от имени администратора)

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

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

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

    • Откроется окошко свойств, скопируйте путь из строки «Объект». Данный путь вам понадобится, когда будем создавать бат файл.

    То же самое проделайте со всеми программами, которые хотите запускать. Сохраненные пути вы можете записать в текстовый документ.

    Создание bat файла

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

    Теперь будем писать команды.

    • Первая команда «start». После нее пробел.
    • Дальше вводим две кавычки, в которые ничего не пишем. Опять пробел.
    • И вводим путь к одной программе из тех которые мы выбрали. Обратите внимание, что путь должен быть в кавычках.

    Должна получиться подобная строка:
    start «» «C:Program FilesAdobeAdobe Photoshop CC 2018Photoshop.exe»

    В приведенном примере я указал путь к программе фотошоп, а у вас будет свой путь и программа. Теперь перейдите на новую строку и введите следующую программу по тому же шаблону: start “” «Путь к нужной программе». Введите все нужные программы. Должно получиться примерно так:

    start «» «C:Program FilesAdobeAdobe Photoshop CC 2018Photoshop.exe»

    start «» «C:Program Files (x86)Audacityaudacity.exe»

    start «» «C:Program FilesMicrosoft OfficerootOffice16EXCEL.EXE»

    В моем примере три программы, у вас столько, сколько захотите.

    • После того, как мы прописали все команды, нажимаем на «Файл» > «Сохранить как».

    • В открывшемся окошке внизу в пункт «Имя файла» задайте свое название, и в конце поставьте точку и расширение «bat». Получиться так: «Ваше название.bat».

    • Нажмите «Сохранить».

    После этого по указанному вами пути будет создан ваш bat файл. Нажмите на него двойным щелчком левой кнопкой мышки и нужные вам программы запустятся.

    Как открывать сразу несколько сайтов

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

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

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

    Поддержите блог, нажмите на кнопку соц. сети. Это помогает блогу в развитии.
    Спасибо!

    P. S. А хотите стать невидимым в сети? Тогда данная заметка будет вам полезной.

    Очистка папки Prefetch

    В папке Prefetch (файлы с расширением .pf) находится информация о часто открываемых программах и сервисах, для более быстрой их последующей загрузки. Из этой папки можно удалить все файлы, что позволит системе быстрее грузится, но при этом в первый раз программы будут загружаться медленнее. После удаления всех файлов и папки система снова создаст кэш этих часто запускаемых программ. Зачем нужно чистить эту папку? Часто в этой папке Prefetch содержится кэш давно удаленных программ, поэтому размер папки может достигнуть по умолчанию до 400 Мб.

    Команда на очистку папки Prefetch:

    Как создать bat файл в Windows

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

    Как скачивать файлы с сайта с помощью БАТника

    Таким образом сформировалась задача — скачать эти видеоролики, причем, желательно автоматизированно, так как их количество было более 400 шт!

    Вариантов скачать данные файлы было несколько:

    1. С помощью одного их плагинов для браузера, позволяющих сохранять видео с web-страницы. Данный вариант не подходил, так как абсолютно не имел автоматизации, и каждый видео-файл нужно было бы запускать и скачивать отдельно. НЕ ПОДХОДИТ!

    2. Открывать каждый файл по прямой ссылке (типа такой: http: // site.ru/some-folder/video154.mp4) и с помощью нажатия клавиш CTRL + S сохранять файл в нужную папку на компьютере. Этот способ сохранения также без автоматизации. НЕ ПОДХОДИТ!

    3. Использовать программу Offline Explorer Enterprise или ее аналог. Подобные программы могут скачивать сайты почти со всем их содержимым, можно настроить скачивание только конкретных типов файлов, запустить процесс и ждать окончания, занимаясь другими делами.

    Но данные программы практически все платные, их нужно найти, скачать, купить(?!), установить, настроить и только после этого запустить процесс и наслаждаться результатом. НЕ ОЧЕНЬ ПОДХОДИТ!

    4. Использовать простую программу WGET и БАТник (BAT-файл). Программа WGET бесплатная, БАТник написать — 5 минут, и готово! Запустить БАТник и ждать окончания скачивания всех файлов. ПОДХОДИТ!

    Содержимое BAT-файла:

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video1.mp4» — P D : 2

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video2.mp4» — P D : 2

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video3.mp4» — P D : 2

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video4.mp4» — P D : 2

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video5.mp4» — P D : 2

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video6.mp4» — P D : 2

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video7.mp4» — P D : 2

    .

    .

    wget . exe — c —nocheck— certificate «http: // site.ru/some-folder/video450.mp4» — P D : 2

    Синтаксис команды очень простой:

    wget.exe — использовать программу WGET;

    -c — ключ для возобновления закачки с места остановки, если загрузка файла случайно прервется;

    —no-check-certificate — игнорировать сертификаты сайтов (для HTTPS). Если не добавить этот ключ, а на сайте стоит жесткая переадресация всех HTTP-запросов на HTTPS (например, 301-ый редирект), то можно получить ошибку:

    ERROR: cannot verify site.ru’s certificate, issued by `/C=US/O=Let’s Encrypt/CN=Let’s Encrypt Authority X3′:
    Unable to locally verify the issuer’s authority.

    To connect to vs1.coursehunters.net insecurely, use `—no-check-certificate’.
    Unable to establish SSL connection.

    И скачать файлы не получится. Потому что, ХЗ какой сертификат используется :)))

    После добавления ключа будет отображаться предупреждение, просто игнорируем его:

    WARNING: cannot verify vs1.coursehunters.net’s certificate, issued by `/C=US/O=Let’s Encrypt/CN=Let’s Encrypt Authority X3′:
    Unable to locally verify the issuer’s authority.

    «http: // site.ru/some-folder/video1.mp4» — адрес конкретного файла, который нужно скачать. Внимание: пробелы перед // и после не нужны!

    -P D:2 — путь для сохранения скачиваемых файлов (если не хотим, чтобы файлы сохранялись в папку с программой WGET и БАТником).

    Соответственно, прописать в BAT-файле столько строк, сколько файлов нужно скачать. Сгенерировать нужное количество однотипных строк можно с помощью регулярных выражений или программы MS Excel (как вариант).

    Итак, нужно сделать следующее:

    • Создать БАТник;
    • Скачать программу WGET с этого сайта либо с иного web-ресурса;
    • Поместить программу WGET в одну папку с БАТником;
    • Запустить БАТник и ждать окончания процесса скачивания файлов;

    Как скачивать файлы с сайта с помощью БАТника

    • Если скачивание в какой-то момент остановится, закрыть консоль и запустить заново, предварительно удалив строки, в которых прописаны уже скачанные файлы. Строку с последним недокаченным файлом не удалять!

    Внимание! Для упрощения отладки БАТника не вставляйте в него сразу много строк, а напишите для начала 1-2 и после них добавьте команду на паузу, чтобы успеть прочитать сообщение об ошибке, если она возникнет.

    Содержимое модифицированного BAT-файла:

    (более оптимальное — чтобы не писать много строк в БАТнике, а только одну)

    FOR / L %% I IN ( 104 , 1 , 428 ) DO wget . exe — c —nocheck— certificate » http: // site.ru/some-folder/video%%I.mp4 » — P D : 2 && TIMEOUT / T 20 / NOBREAK

    В этом случае скачивание файлов выполняется в цикле.

    FOR — оператор цикла;

    /L — ключ, задающий обработку набора из последовательности чисел с заданными началом, концом и шагом приращения;

    %%I — переменная (если команду просто запускать в CMD или в POWERSHELL, то указывать один знак процента, в БАТнике нужно два);

    IN (104,1,428) — диапазон значений для переменной I и шаг изменений: (первое значение, шаг, последнее значение);

    http: // site.ru/some-folder/video%%I.mp4 — ссылка на скачивание файлов, содержащая в себе переменную %%I.

    && — оператор «И», позволяющий выполнить в цикле вторую команду, в нашем случае это пауза на 20 секунд. Знак & можно написать один раз.

    Третий пример:

    У вас 20 человек в кабинете, принтер один и всем нужно выводить на него печать. Можно написать батник закинуть его в обмен зайти в кабинет и всем пользователям сказать зайдите туда-туда, нажмите то-то, и можете печатать, а если у Вас есть active directory, то можно распространить с помощью неё.

    1. Открываем WordPad.
    2. Пишем:

    start \192.168.0.37SamsungU
    Start – запуск, \192.168.0.37 – ip адрес, SamsungU – имя принтера.

    Если у вас ip адреса раздаются по DHCP, то лучше ввести не ip адрес, а имя компьютера.

    3. Дальше выбираем Файл => Сохранить как => в строке Имя файла пишем допустим, print.bat, жмем Ок, запускаем и наслаждаемся.

    голоса
    Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector