Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Вместо явного задания строки для разбора можно пользоваться переменными среды, например:
@ECHO OFF
SET M=ААА ББББ ВВВВ,ГГГГГ ДДДД
FOR /F "EOL=; TOKENS=2,3* DELIMS=,
" %%i IN ("%M%") DO @ECHO %%i %%j %%k
Наконец, команда FOR /F позволяет обработать строку вывода другой команды. Для этого следует вместо набора имен файлов в скобках ввести строку вызова команды в апострофах (не в кавычках!). Строка передается для выполнения интерпретатору команд cmd.exe, а вывод этой команды записывается в память и обрабатывается так, как будто строка вывода взята из файла. Например, следующий командный файл:
@ECHO OFF
CLS
ECHO Имена переменных среды:
ECHO.
FOR /F "DELIMS==" %%i IN ('SET') DO ECHO %%i
выведет перечень имен всех переменных среды, определенных в настоящее время в системе.
В цикле FOR допускается применение тех же синтаксических конструкций (операторов), что и для заменяемых параметров (табл. 5).
Таблица 5. Операторы для переменных команды FOR
Операторы | Описание |
%~Fi | Переменная %i расширяется до полного имени файла |
%~Di | Из переменной %i выделяется только имя диска |
%~Pi | Из переменной %i выделяется только путь к файлу |
%~Ni | Из переменной %i выделяется только имя файла |
%~Xi | Из переменной %i выделяется расширение имени файла |
%~Si | Значение операторов N и X для переменной %i изменяется так, что они работают с кратким именем файла |
Если планируется использовать расширения подстановки значений в команде FOR, то следует внимательно подбирать имена переменных, чтобы они не пересекались с обозначениями формата.
Например, если мы находимся в каталоге C:\Program Files\Far и запустим командный файл следующего содержания:
@ECHO OFF
CLS
FOR %%i IN (*.txt) DO ECHO %%~Fi
то на экран выведутся полные имена всех файлов
с расширением txt:
C :\Program Files\Far\Contacts.txt
C:\Program Files\Far\FarFAQ.txt
C:\Program Files\Far\Far_Site.txt
C:\Program Files\Far\License.txt
C:\Program Files\Far\License.xUSSR.txt
C:\Program Files\Far\ReadMe.txt
C:\Program Files\Far\register.txt
C:\Program Files\Far\WhatsNew.txt
Дата публикования: 2014-12-08; Прочитано: 257 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!