Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [BAT] В имени символов f больше символов a, что то не могу сообразить 
V
    Опции темы
Shadowlord
Дата 27.4.2009, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 28.11.2006

Репутация: нет
Всего: 5



Собственно надо написать батник по заданию:В имени символов f больше символов a;
то есть чтоб он выводил на экран имена файлов в указанной директории в которых символов f больше чем символов a;
вот ни как не могу сообразить как это сделать
PM MAIL   Вверх
Akina
Дата 27.4.2009, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



Организация цикла по всем файлам - for %%x in *.*
Выделение одного символа из имени - %FN:~i,1% (от начала) или %FN:~0,-1% (от конца)
Сравнить, я полагаю, сможешь.
Само собой, потребуется связывание времени исполнения.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Shadowlord
Дата 27.4.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 28.11.2006

Репутация: нет
Всего: 5



Akina,  спасибо
PM MAIL   Вверх
01MDM
Дата 27.4.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 10.5.2008
Где: Default City

Репутация: 29
Всего: 29



Shadowlord, без учета расширения файла - по условию только имя .  

Код

@echo off
setlocal enabledelayedexpansion

for %%i in (*.*) do (
    set "file=%%~ni"
    set "len=0"
    set "cnt=0"
    call:count "%%~xi"
)
goto:eof

:count

if not "!file:~%len%!"=="" (
    
    if "!file:~%len%,1!"=="f" set /a cnt+=1
    if "!file:~%len%,1!"=="a" set /a cnt-=1
    
    set /a len+=1
    goto:count
)

if %cnt% gtr 0 echo %file%%~1



--------------------
Вопросы в личке останутся без ответов.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0415 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.