Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] пройтись по всем подпапкам и запустить опр. команду

Ответить
Настройки темы
CMD/BAT - [решено] пройтись по всем подпапкам и запустить опр. команду

Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нужно создать скрипт который должен в опред. пути пройтись по всем подпапкам и запустить опр. команду.
и записывать результат этой команды в файл.
Т.е отчте можно так сказать.

Отправлено: 14:01, 19-10-2012

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Что значит «пройтись»? Какую именно команду? «Результат» — stdout приложения?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:08, 19-10-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 894
Благодарности: 137

Профиль | Отправить PM | Цитировать


Если кратко:
cmd /k help
Команды: DIR, ECHO,
Операторы: >>, >, 1>>, 2>>

-------
Я не развожу политику в подписи
ПТН ПНХ


Отправлено: 01:18, 20-10-2012 | #3


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Мне нужен цикл.
Вы можете показать пример.
Я синтаксисом CMD не знаком.
Вот цикл на С++ аналог его я хочу написать в CMD.

int счетчик_папок =0; \\Узнать етото счетчик надо из кол-ва подпапок по пути C:\\Myfolder
for(int i=0;i!=cчетчик папок;i++)
{
cout<<i<<endl;
}

Как-так.Спасибо!

Отправлено: 22:32, 20-10-2012 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


nbafree, понятней не стало. Особливо учитывая то, что Ваш цикл на C++ пуст.

Отправлено: 01:00, 21-10-2012 | #5


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Почему пуст?Он выводит на экран значение интовой переменной i.
количество итераций равной счетчику папок.
Тогда так.Есть SVN в папке C:\\repos\ и там много репозиториев.
есть утилита svnlook.exe котроя с пом. команды svnlook info PATH_OF_REPO выводить на экран информацию о репозитории(напрюктопоследний раз коммител и кол-во ревизий)
svnlook info PATH_OF_REPO>info.txt записывает файл нужную инфу.
Вот мне нужно в подпапках где есть много репозиториев (C:\\repos\) вызывать эту команду записывать инфу о каждом из них.

Отправлено: 05:20, 21-10-2012 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата nbafree:
Почему пуст?Он выводит на экран значение интовой переменной i.
количество итераций равной счетчику папок. »
Уважаемый коллега,
читать дальше »
не будете ли Вы любезны ещё раз окинуть непредвзятым взглядом приведённый Вами цикл и ответить себе на вопрос: сколько раз он отработает? Ибо, в моём представлении, цикл от нуля до нуля отработает ровно ноль раз. Вопрос риторический.


Цитата nbafree:
Тогда так.Есть 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"
)
Или неправильно понимаю?

Последний раз редактировалось Iska, 21-10-2012 в 14:58. Причина: Исправлено: «"%~i-info.txt"» → «"%%~i-info.txt"»

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:51, 21-10-2012 | #7


Новый участник


Сообщения: 9
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата nbafree:
\\Узнать етото счетчик надо из кол-ва подпапок по пути C:\\Myfolder »
Это я вначале ноль установил так для красоты
а i должен равнять кол-ву папок.
Извиняюсь за корявое объснение.

Да это то что надо!!!
И можно еще вопрос что означает вот эта запись %~i ?

Отправлено: 14:08, 21-10-2012 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата nbafree:
И можно еще вопрос что означает вот эта запись %~i ? »
Я не писал пакетный файл, а делал всё непосредственно в командной строке, посему, при написании поста, банально забыл добавить ещё один «%» в последнюю переменную. Должно быть «"%%~i-info.txt"» (я поправил пост выше).

«%%~i» означает — «Взять значение переменной цикла перебора «i» и удалить из неё, если есть, обрамляющие кавычки».
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:00, 21-10-2012 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] пройтись по всем подпапкам и запустить опр. команду

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Службы - как запустить команду mitin Microsoft Windows 8 и 8.1 7 10-09-2012 00:53
Как запустить команду и не ждать ее окончания? Anarasius AutoIt 6 27-04-2012 03:11
Как изменить иконки сразу ко всем подпапкам ? Military Хочу все знать 3 20-07-2010 08:00
[решено] Как запустить случайную команду? Pozia AutoIt 21 24-01-2010 20:09
Установка - [решено] Не получается запустить правильно команду на установку из GuiRunOnce Firebolt Автоматическая установка Windows 2000/XP/2003 4 10-03-2009 12:45




 
Переход