Получение имени файла без расширения в Windows Batch Script

Я пытаюсь создать команду контекстного меню щелчка правой кнопкой для сжатия файлов JavaScript с компрессором YUI. Моя конечная цель должна попытаться заставить это работать на контекстном меню:

java.exe -jar yuicompressor-2.4.2.jar -o <filename>.min.js <filename>.js

Я знаю, что могу использовать переменную %1 ссылаться на открываемое имя файла. Я не могу выяснить, как получить эту команду в синтаксис пакетного файла и не смог найти любые ответы онлайн.

Обновление:
Ответ Jeremy (+comments) работал. Для любого, кто натыкается на это, вот то, что я должен был сделать:

В действии я создал для файла JavaScript, я использовал это в качестве команды:

minify.bat "%1"

Который называет мой сценарий пакетной обработки, который похож на это:

java.exe -jar yuicompressor-2.4.2.jar -o "%~dpn1.min.js" %1

Для сценария пакетной обработки имейте в виду, что код выше принимает каталоги для java.exe, и yuicompressor оба добавляются к Вашему PATH переменные. Если Вы не добавляете их к своему пути, необходимо будет использовать полный путь для файлов.

Последовательность %~dpn используется для получения:

  1. %~d - Диск
  2. %~p - Путь
  3. %~n - Имя файла
53
задан Assad Ebrahim 28 August 2012 в 21:06
поделиться

2 ответа

Измените действие для вызова командного файла:

RunCompressor.bat "%1"

Используйте % ~ n1 , чтобы получить имя файла без расширения в RunCompressor.bat:

start javaw.exe -jar yuicompressor-2.4.2.jar -o "%~n1.min.js" "%1"

Полезная статья

start javaw.exe закрывает окно команд при запуске командного файла.

46
ответ дан 7 November 2019 в 08:52
поделиться

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

java.exe -cp yuicompressor-2.4.2.jar MyClass "%1"
0
ответ дан 7 November 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: