Главная > Batch programming, Microsoft > Как узнать имя выполняемого командного файла

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

И другие фишки, которые могут пригодится при batch-programming

Получение первого символа переменной

@ECHO OFF
set name=Adam
set first=%name:~0,1%
echo %first%
%* in a batch script refers to all the arguments (e.g. %1 %2 %3
%4 %5 …)
Substitution of batch parameters (%n) has been enhanced.  You can
now use the following optional syntax:
%~1         — expands %1 removing any surrounding quotes («)
%~f1        — expands %1 to a fully qualified path name
%~d1        — expands %1 to a drive letter only
%~p1        — expands %1 to a path only
%~n1        — expands %1 to a file name only
%~x1        — expands %1 to a file extension only
%~s1        — expanded path contains short names only
%~a1        — expands %1 to file attributes
%~t1        — expands %1 to date/time of file
%~z1        — expands %1 to size of file
%~$PATH:1   — searches the directories listed in the PATH
environment variable and expands %1 to the fully
qualified name of the first one found.  If the
environment variable name is not defined or the
file is not found by the search, then this
modifier expands to the empty string
The modifiers can be combined to get compound results:
%~dp1       — expands %1 to a drive letter and path only
%~nx1       — expands %1 to a file name and extension only
%~dp$PATH:1 — searches the directories listed in the PATH
environment variable for %1 and expands to the
drive letter and path of the first one found.
%~ftza1     — expands %1 to a DIR like output line
In the above examples %1 and PATH can be replaced by other
valid values.  The %~ syntax is terminated by a valid argument
number.  The %~ modifiers may not be used with %*

Using batch parameters

You can use batch parameters anywhere within a batch file to extract information about your environment settings.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true

Shift

Changes the position of batch parameters in a batch file.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/shift.mspx?mfr=true

Using command redirection operators

You can use redirection operators to redirect command input and output streams from the default locations to different locations. The input or output stream location is referred to as a handle

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

Using filters

Used in conjunction with the command redirection pipe character (|), a command filter is a command within a command that reads the command’s input, transforms the input, and then writes the output. Filter commands help you sort, view, and select parts of a command output.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/filters.mspx?mfr=true

Cmd.exe provides the batch parameter expansion variables %0 through %9. When you use batch parameters in a batch file, %0 is replaced by the batch file name, and %1 through %9 are replaced by the corresponding arguments that you type at the command line. To access arguments beyond %9, you need to use the shift command. For more information about the shift command, see Shift The %* batch parameter is a wildcard reference to all the arguments, not including %0, that are passed to the batch file.

For example, to copy the contents from Folder1 to Folder2, where %1 is replaced by the value Folder1 and %2 is replaced by the value Folder2, type the following in a batch file called Mybatch.bat:

xcopy %1\*.* %2

To run the file, type:

mybatch.bat C:\folder1 D:\folder2

This has the same effect as typing the following in the batch file:

xcopy C:\folder1 \*.* D:\folder2

You can also use modifiers with batch parameters. Modifiers use current drive and directory information to expand the batch parameter as a partial or complete file or directory name. To use a modifier, type the percent (%) character followed by a tilde (~) character, and then type the appropriate modifier (that is, %~modifier).

%* in a batch script refers to all the arguments (e.g. %1 %2 %3

%4 %5 …)
Substitution of batch parameters (%n) has been enhanced.  You can
now use the following optional syntax:
%~1         — expands %1 removing any surrounding quotes («)
%~f1        — expands %1 to a fully qualified path name
%~d1        — expands %1 to a drive letter only
%~p1        — expands %1 to a path only
%~n1        — expands %1 to a file name only
%~x1        — expands %1 to a file extension only
%~s1        — expanded path contains short names only
%~a1        — expands %1 to file attributes
%~t1        — expands %1 to date/time of file
%~z1        — expands %1 to size of file
%~$PATH:1   — searches the directories listed in the PATH
environment variable and expands %1 to the fully
qualified name of the first one found.  If the
environment variable name is not defined or the
file is not found by the search, then this
modifier expands to the empty string
The modifiers can be combined to get compound results:
%~dp1       — expands %1 to a drive letter and path only
%~nx1       — expands %1 to a file name and extension only
%~dp$PATH:1 — searches the directories listed in the PATH
environment variable for %1 and expands to the
drive letter and path of the first one found.
%~ftza1     — expands %1 to a DIR like output line
In the above examples %1 and PATH can be replaced by other
valid values.  The %~ syntax is terminated by a valid argument
number.  The %~ modifiers may not be used with %*
Рубрики:Batch programming, Microsoft
  1. Комментариев нет.
  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: