|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Directory printer (делает список файлов/папок) |
|
CMD/BAT - [решено] Directory printer (делает список файлов/папок)
|
Старожил Сообщения: 267 |
Профиль | Отправить PM | Цитировать
как реализовать принтер дерева файлов/папок в txt файл?
условия задачи: 1. BAT файл должен уметь делать список файлов по маске (например *.txt или *.*) 2. BAT файл должен уметь делать список папок и естественно подпапок 3. можно ли реализовать работу из текущей папки? т.е. откуда запустили BAT, там он листинг и проводит (+ в подпапках тоже проводит листинг). т.е. подставляет путь своего местонахождения в переменную задания пути. а также если возможно чтобы умел работать и с подстановкой пути. (например по умолчанию переменная x=CurrentDir, но пользователь туда может вписать свой путь например C:\Program Files). с этим путем BAT и будет работать. получается маску файлов реализовать отдельной строкой нужно? чтобы работало например так: x=CurrentDir, y=*.txt (либо например *.* по желанию пользователя) итого: x+y=CurrentDir:\*.txt 4. у пользователя должен быть выбор на п.1. или п.2. это можно реализовать либо оператором case и чтобы BAT спрашивал "что выполнить? листинг файлов или листинг папок?" либо реализовать любым друим способом 5. учесть работу с русскими именами (через chcp 1251 chcp 866 либо иным способом) Specially for amel27: я 3-4 года пользуюсь каким то сторонним Directory printer'ом, но ваше решение меня просто убило. настолько простое, что добавив капельку функционала - получится мощный и полезный инструмент, а главное простой! пример простенького листера файлов ( "резак" длинных имен с сохранением расширения) от amel27 |
|
Отправлено: 07:30, 19-06-2010 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать shadowbat, 1-4. ВСЁ это делает одна единственная команда DIR, т.е. весь смысл батника сводится к передаче ей нужных параметров: файлы/папки (параметр /A), начальная папка, маска и т.п. Варианты: через блок переменных, через параметры командной строки батника, интерактивно пользователем... как нужно?.. и нужно ли, если можно просто набрать в командной строке DIR с нужными параметрами?
Цитата shadowbat:
Цитата shadowbat:
|
||
Отправлено: 15:15, 19-06-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:27, 03-07-2010 | #3 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать shadowbat,
а немножко фантазии? Echo off&Chcp 866&Title L I S T I N G & Cls set $dir=%1 set $mask=%2 set $list=%3 set $deep=%4 if "%$list%"=="" call :input if "%$dir%"=="" set $dir=%CD% if "%$list%"=="1" (set $list=D) else set $list=-D if "%$deep%"=="1" set $deep=^/s Dir /A%$list% %$deep% /d %$dir%\%$mask% > %$dir%\strr.lst set /p dspl=Вывести листинг на экран? 1-да: if "%dspl%" NEQ "1" (goto :eof) else type %$dir%\strr.lst pause&goto :eof :input set /p $dir=Введите путь к директории, по умолчанию текущая: set /p $mask=Укажите маску: set /p $list=Укажите тип вывода, "1"-каталоги, "2"-файлы: set /p $deep=Обрабатывать подкаталоги, "1"-да, "2"-нет: |
Последний раз редактировалось deepred, 04-07-2010 в 14:16. Отправлено: 14:11, 03-07-2010 | #4 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать set $m=%CD% set $f=dir.txt set mp=500 (for /f "delims=" %%a in ('dir /b/s "%$m%"') do @( set "b=%%~dpna"&call echo.%%b:~0,%mp%%%%%~xa))>"%$f%" например если в папке два файла: file.txt file & file.txt то в dir.txt будет только file.txt как то можно, чтобы в dir.txt записались оба файла? |
|
Отправлено: 13:50, 13-12-2015 | #5 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:32, 13-12-2015 | #6 |
Старожил Сообщения: 267
|
Профиль | Отправить PM | Цитировать Georgio спасибо, помогло
|
Отправлено: 20:03, 13-12-2015 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочие - Как вывести список папок и файлов в текстовый файл? | Vowan | Программное обеспечение Windows | 15 | 23-11-2013 15:29 | |
Advanced Directory Printer 1.55 | OSZone Software | Новости программного обеспечения | 0 | 12-11-2009 21:30 | |
Получить список пользователей из activ directory | kynabo | Microsoft Windows NT/2000/2003 | 1 | 28-05-2008 09:05 | |
Заполнить список пользователей в sharepoint servise 3 из active directory | kynabo | Вебмастеру | 1 | 16-05-2008 02:56 | |
Список компов в сети? Список открытых папок на компе? | DANTIST | Программирование и базы данных | 3 | 12-06-2003 10:05 |
|