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

Показать сообщение отдельно

Аватара для zion87

Старожил


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

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


antonyk, вот такое решение будет работать но только с одной директорией(параметром), как сделать несколько директорий "компактным кодом" - не знаю (ждите ответов гуру )
Код: Выделить весь код
@echo off
If '%1==' GoTo :Eof
if exist "%1" for /f "delims=*" %%a in (' dir /s /b "%1\*.*" ^|findstr /bev /c:files.bbs /c:all_files.txt ') do echo %%a>>"%1\all_files.txt" && (
  if not exist "%1\files.bbs" for /f "delims=*" %%b in (' dir /b "%1\*.*" ^|findstr /bev /c:files.bbs /c:all_files.txt ') do echo %%b>>"%1\files.bbs" 
)
if not exist "%1" echo error not found && pause
goto:eof
при условии, что я правильно понял условие:
  • директории нет - error not found
  • отсутствует files.bbs - создаем files.bbs и в нем список файлов из текущей директории
    Код: Выделить весь код
    file1.ini
    file2.ini
    и так далее ...
  • создается файл all_files.txt - в нем файлы с путями
    Код: Выделить весь код
    c:\file1.ini
    c:\file2.ini
    и так далее ...
вообщем я хочу сказать, что если вы хотите задать два параметра и более, то придется несколько раз скопировать вот это в бат
Код: Выделить весь код
if exist "%1" for /f "delims=*" %%a in (' dir /s /b "%1\*.*" ^|findstr /bev /c:files.bbs /c:all_files.txt ') do echo %%a>>"%1\all_files.txt" && (
  if not exist "%1\files.bbs" for /f "delims=*" %%b in (' dir /b "%1\*.*" ^|findstr /bev /c:files.bbs /c:all_files.txt ') do echo %%b>>"%1\files.bbs" 
)
if not exist "%1" echo error not found && pause
заменяя %1 на %2,%3,%4,%5 - если вы сделаете для 5 директорий, то можно будет вводить и одну и две и три и т.д. до пяти включительно и все равно будет работать...

Последний раз редактировалось zion87, 14-01-2012 в 10:55.

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

Отправлено: 09:32, 14-01-2012 | #2