Пакетный скрипт Windows должен принимать входной файл с определенным расширением - PullRequest
0 голосов
/ 03 января 2019

Как заставить файл .bat принимать файл, который заканчивается в определенном расширении из пути к файлу .bat?Я новичок в пакетных командах.

Например: мне нужно запустить следующую команду в bat:
некоторая команда inputfile.extension.

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

Заранее спасибо!

1 Ответ

0 голосов
/ 03 января 2019

Это можно сделать с помощью аргумента "0", отправляемого в пакетный файл (%0), который на самом деле похож на %~dpnx0 или даже упрощен %~f0.Что вам нужно, так это d rive letter и только p ath.Итак, вы можете попробовать:

command %~dp0file.ext

или даже намного более сложный (может не сработать, если command.ext нет ни в PATH, ни в %~dp0):

pushd %cd%
cd %~dp0
command file.ext
popd

%~1 - расширяет %1, удаляя все окружающие кавычки (")
%~f1 - расширяет %1 до полного имени пути
%~d1 - расширяет %1 дотолько буква диска
%~p1 - расширяется %1 только на путь
%~n1 - расширяется %1 только на имя файла
%~x1 - расширяется %1 только на расширение файла
%~s1 - расширенный путь содержит только короткие имена
%~a1 - расширяет %1 до атрибутов файла
%~t1 - расширяет %1 до даты / времени файла
%~z1- расширяет %1 до размера файла
%~$PATH:1 - ищет каталоги, перечисленные в переменной окружения PATH
, и расширяет %1 до полностью
квалифицированного имени первого найденного.имя переменной среды
не определено или файл
не найден в результате поиска, тогда этот модификатор
расширяется до пустой строки

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

%~dp1 - расширяет %1 до буквы диска и только пути
%~nx1 - расширяет %1 дотолько имя файла и расширение
%~dp$PATH:1 - выполняет поиск в каталогах, перечисленных в переменной среды PATH
для %1, и расширяется до
буквы диска и пути к первому найденному.
%~ftza1 - расширяет %1 до DIR-подобной выходной линии

С call /?

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