Показать полную графическую версию : [решено] пройтись по всем подпапкам и запустить опр. команду
Нужно создать скрипт который должен в опред. пути пройтись по всем подпапкам и запустить опр. команду.
и записывать результат этой команды в файл.
Т.е отчте можно так сказать.
Что значит «пройтись»? Какую именно команду? «Результат» — stdout приложения?
Если кратко:
cmd /k help
Команды: DIR, ECHO,
Операторы: >>, >, 1>>, 2>>
Мне нужен цикл.
Вы можете показать пример.
Я синтаксисом CMD не знаком.
Вот цикл на С++ аналог его я хочу написать в CMD.
int счетчик_папок =0; \\Узнать етото счетчик надо из кол-ва подпапок по пути C:\\Myfolder
for(int i=0;i!=cчетчик папок;i++)
{
cout<<i<<endl;
}
Как-так.Спасибо!
nbafree, понятней не стало. Особливо учитывая то, что Ваш цикл на C++ пуст.
Почему пуст?Он выводит на экран значение интовой переменной i.
количество итераций равной счетчику папок.
Тогда так.Есть SVN в папке C:\\repos\ и там много репозиториев.
есть утилита svnlook.exe котроя с пом. команды svnlook info PATH_OF_REPO выводить на экран информацию о репозитории(напрюктопоследний раз коммител и кол-во ревизий)
svnlook info PATH_OF_REPO>info.txt записывает файл нужную инфу.
Вот мне нужно в подпапках где есть много репозиториев (C:\\repos\) вызывать эту команду записывать инфу о каждом из них.
Почему пуст?Он выводит на экран значение интовой переменной i.
количество итераций равной счетчику папок. »
Уважаемый коллега, не будете ли Вы любезны ещё раз окинуть непредвзятым взглядом приведённый Вами цикл и ответить себе на вопрос: сколько раз он отработает? Ибо, в моём представлении, цикл от нуля до нуля отработает ровно ноль раз. Вопрос риторический.
Тогда так.Есть SVN в папке C:\\repos\ и там много репозиториев.
есть утилита svnlook.exe котроя с пом. команды svnlook info PATH_OF_REPO выводить на экран информацию о репозитории(напрюктопоследний раз коммител и кол-во ревизий)
svnlook info PATH_OF_REPO>info.txt записывает файл нужную инфу.
Вот мне нужно в подпапках где есть много репозиториев (C:\\repos\) вызывать эту команду записывать инфу о каждом из них. »
Правильно ли я понимаю, что нужно получить перечень папок только первого уровня вложенности в «C:\repos» и выполнить для каждой из них указанную/указанные команды?
for /d %%i in ("C:\repos\*.*") do (
echo %%i
svnlook.exe info "%%~i" >"%%~i-info.txt"
)
Или неправильно понимаю?
\\Узнать етото счетчик надо из кол-ва подпапок по пути C:\\Myfolder »
Это я вначале ноль установил так для красоты :)
а i должен равнять кол-ву папок.
Извиняюсь за корявое объснение.
Да это то что надо!!!
И можно еще вопрос что означает вот эта запись %~i ?
И можно еще вопрос что означает вот эта запись %~i ? »
Я не писал пакетный файл, а делал всё непосредственно в командной строке, посему, при написании поста, банально забыл добавить ещё один «%» в последнюю переменную. Должно быть «"%%~i-info.txt"» (я поправил пост (http://forum.oszone.net/post-2009455.html#post2009455) выше).
«%%~i» означает — «Взять значение переменной цикла перебора «i» и удалить из неё, если есть, обрамляющие кавычки».
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.