Показать полную графическую версию : [решено] Цикл с использованием имен файлов
Добрый день!
Передо мной стоит следующая задача. Необходимо запустить некоторое приложение, одним из параметров которого будет имя файла, файлов в директории несколько. Я понимаю, что нужен цикл, но не понимаю как правильно его организовать.
К сожалению у меня очень поверхностные познания в написании батников. Заранее благодарна за помощь.
Petya V4sechkin
12-01-2010, 18:48
@Echo Off
Set Folder=ваша_папка_с_файлами
For %%I In (%Folder%\*) Do ваше_приложение %%I
В зависимости от типа приложения может понадобится команда Start /Wait для его запуска:
@Echo Off
Set Folder=ваша_папка_с_файлами
For %%I In (%Folder%\*) Do Start /Wait ваше_приложение %%I
@echo off
rem Маска файлов
set Mask=*.*
rem Имя проги
set Exec=echo
rem Фиксированные параметры
set Param=
for %%f in (*.*) do %Exec% %%f %Param%
Из всего можно оставить только последнюю строку, вписав вместо %Mask% - маску файлов для параметра (*.*), вместо %Exec% - имя проги, а вместо %Param% - дополнительные параметры.
Спасибо большое, разобралась
blackswan
05-07-2010, 17:17
у меня немного другая задача
в папке есть файлы с расширением 1 (р1), некоторое приложение конвертирует их в файлы с расширением 2 (р2), необходимо пройти по папке (и подпапкам рекурсивно) и запустить с каждым приложение вот так:
<приложение> <имя файла>.р1 <имя файла>.р2
где <имя файла> у них одинаково, в общем надо с переменной %%I вычленить лишь имя и в выходном файле дописать к нему расширение р2
blackswan,
читаем Help в CMD (в частности For /?)...
Echo on&Chcp 866
set $DSF=F:\2\ren_at_sub
rem папка с твоими файлами
for /f %%a in ('Dir /b /s %$DSF% ^| Find /i ".p1"') do Ren %%~dpa%%~nxa %%~na.p2
pause& goto :eof
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.