Windows 95/98/NT/2000 FAQ - Как запустить командный файл с параметрами?

Как запустить командный файл с параметрами?

Для этого запустите командный файл с параметром %1, %2 и т.д. Пример для hello.bat:

@echo hello %1 Harchenko

На выходе получим:

hello Andrey Harchenko

если вызывается файл "hello.bat Andrey" (не требуется вводить расширение .bat)

Также вы можете использовать следующие параметры:

Параметр Описание
%1 Стандартный параметр
%~f1 Расширяет %1 до полного пути к файлу. Если вы только ввели имя файла, этот параметр расширит его включением драйва/директории
%~d1 Извлекает имя драйва из %1.
%~p1 Извлекает путь из %1
%~n1 Извлекает имя файла из %1 но без расширения
%~x1 Извлекает расширение файла из %1
%~s1 Изменяет длинное имя и расширение файла до стандартного 8.3 Используется как %~sn1 для короткого имени файла и как %~sx1 для короткого расширения

Можно объеденить несколько параметров:

Параметр Описание
%~dp1 Расширяет %1 только до имени драйва и пути
%~nx1 Расширяет %1 только до имени и расширения файла

Чтобы увидеть как все это работает, вставьте в командный файл testing.bat следующее:

@echo off
echo fully qualified name %~f1
echo drive %~d1
echo path %~p1
echo file name %~n1
echo file extension %~x1
echo short file name %~sn1
echo short file extension %~sx1
echo drive and directory %~dp1
echo file name and extension %~nx1

Запустите этот файл с файлом, имеющим длинное име и расширение. Например, для c:\temp\longfilename.long получите следующее:

fully qualified name c:\TEMP\longfilename.long
drive c:
path \TEMP\
file name longfilename
file extension .long
short file name LONGFI~1
short file extension .LON
drive and directory c:\TEMP\
file name and extension longfilename.long

Данный пример рассматривает параметр %~f1. Для всех последующих (%~f2, %~f3 и т.д.) все делается аналогично.