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

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

Ответить
Настройки темы
CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге

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


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

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


Помогите реализовать задачу.
Нужно создать bat-ник который выведет на экран имена файлов txt
в котологе в котором находиться сам bat. Если txt файлов нет тогда вывести сообщение
пользователю что их нет. Все чтобы выводилось в самой командной строке.

Отправлено: 12:39, 22-06-2011

 

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo off
Echo В папке %~dp0 ищем txt-файлы
Dir /B /A:-D %~dp0*.txt
Pause

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 22-06-2011 в 19:34.

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

Отправлено: 15:09, 22-06-2011 | #2



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

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


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


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

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


megaloman, Спасибо большое! А как сделать если в папке нет файлов txt
тогда выводилось бы сообщение "В папке нет txt файлов"

Отправлено: 17:10, 22-06-2011 | #3


Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo off
cls
Echo В папке %~dp0 ищем txt-файлы
Dir /B /A:-D %~dp0*.txt 2>nul || Echo В папке %~dp0 txt-файлы не найдены 
Pause

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

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

Отправлено: 19:31, 22-06-2011 | #4


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


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

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


Интересует то же самое, только для любых расширений файлов, желательно такой-же компактный код, и чтобы эти данные можно было записать в тхт или в лог, можно в том же каталоге откуда и запущен bat.

Отправлено: 17:26, 05-04-2012 | #5


Пользователь


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

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


dee.jack

Код: Выделить весь код
@Echo off
chcp 1251
Dir "Полный\путь\до\каталога" /B> "%~dp0\logfile.txt"
exit
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:13, 05-04-2012 | #6


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


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

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


Здравствуйте. Похожая задача. У меня батник, а рядом файл с расширением определенным. Этот файл будет с разным именем каждый день. Как мне узнать имя единственного файла с определенным расширением в папке и записать это имя в переменную?

примерный алгоритм:
1. батник смотрит в своей папке имя файла с расширением .shp
2. записывает это имя в переменную для последующих команд.

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

Спасибо.

Отправлено: 12:42, 06-04-2012 | #7


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


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

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


можно вывести в файл и потом считать

for /f %%i in (file.txt) do (
set VAR = %%i
echo %VAR%
)

но что то как то кривовато. есть изящнее способ?

Отправлено: 13:58, 06-04-2012 | #8


Ветеран


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

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


Цитата ndvikulov:
з.ы. не получилось вывод dir записать в переменную - пишется только в файл. »
Попробуйте так:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "delims=" %%i in ('dir /b /a:-d "%~dp0*.shp" 2^>nul') do if not defined sFile set sFile=%%i
if defined sFile (echo [%sFile%]) else (echo Not found any [*.shp] files)

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

Отправлено: 16:29, 06-04-2012 | #9


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


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

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


Спасибо!

Отправлено: 16:35, 06-04-2012 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Архивирование файлов в каталоге Tonny_Bennet Скриптовые языки администрирования Windows 53 11-01-2015 13:11
CMD/BAT - [решено] узнать количество файлов в каталоге через CMD toro Скриптовые языки администрирования Windows 5 04-12-2013 06:31
Прочие - Как вывести список папок и файлов в текстовый файл? Vowan Программное обеспечение Windows 15 23-11-2013 15:29
Разное - [решено] Как получить список файлов находящихся в каталоге? Kocuk Microsoft Windows 2000/XP 8 27-02-2012 23:25
php как вывести список всех файлов в папке E-mail Вебмастеру 6 12-02-2005 17:33




 
Переход