Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Цикл с использованием имен файлов (http://forum.oszone.net/showthread.php?t=163280)

Bastet 12-01-2010 18:36 1318423

Цикл с использованием имен файлов
 
Добрый день!
Передо мной стоит следующая задача. Необходимо запустить некоторое приложение, одним из параметров которого будет имя файла, файлов в директории несколько. Я понимаю, что нужен цикл, но не понимаю как правильно его организовать.
К сожалению у меня очень поверхностные познания в написании батников. Заранее благодарна за помощь.

Petya V4sechkin 12-01-2010 18:48 1318429

Код:

@Echo Off
Set Folder=ваша_папка_с_файлами
For %%I In (%Folder%\*) Do ваше_приложение %%I

В зависимости от типа приложения может понадобится команда Start /Wait для его запуска:
Код:

@Echo Off
Set Folder=ваша_папка_с_файлами
For %%I In (%Folder%\*) Do Start /Wait ваше_приложение %%I


NiOl 12-01-2010 18:54 1318438

Код:

@echo off
rem Маска файлов
set Mask=*.*

rem Имя проги
set Exec=echo

rem Фиксированные параметры
set Param=

for %%f in (*.*) do %Exec% %%f %Param%

Из всего можно оставить только последнюю строку, вписав вместо %Mask% - маску файлов для параметра (*.*), вместо %Exec% - имя проги, а вместо %Param% - дополнительные параметры.

Bastet 15-01-2010 14:42 1320982

Спасибо большое, разобралась

blackswan 05-07-2010 17:17 1447665

у меня немного другая задача
в папке есть файлы с расширением 1 (р1), некоторое приложение конвертирует их в файлы с расширением 2 (р2), необходимо пройти по папке (и подпапкам рекурсивно) и запустить с каждым приложение вот так:
<приложение> <имя файла>.р1 <имя файла>.р2
где <имя файла> у них одинаково, в общем надо с переменной %%I вычленить лишь имя и в выходном файле дописать к нему расширение р2

deepred 05-07-2010 19:28 1447763

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



Время: 20:19.

Время: 20:19.
© OSzone.net 2001-