![]() |
Вывести имена файлов *.txt в каталоге
Помогите реализовать задачу.
Нужно создать bat-ник который выведет на экран имена файлов txt в котологе в котором находиться сам bat. Если txt файлов нет тогда вывести сообщение пользователю что их нет. Все чтобы выводилось в самой командной строке. |
Код:
@Echo off |
megaloman, Спасибо большое! А как сделать если в папке нет файлов txt
тогда выводилось бы сообщение "В папке нет txt файлов" |
Код:
@Echo off |
Интересует то же самое, только для любых расширений файлов, желательно такой-же компактный код, и чтобы эти данные можно было записать в тхт или в лог, можно в том же каталоге откуда и запущен bat.
|
dee.jack
Код:
@Echo off |
Здравствуйте. Похожая задача. У меня батник, а рядом файл с расширением определенным. Этот файл будет с разным именем каждый день. Как мне узнать имя единственного файла с определенным расширением в папке и записать это имя в переменную?
примерный алгоритм: 1. батник смотрит в своей папке имя файла с расширением .shp 2. записывает это имя в переменную для последующих команд. з.ы. не получилось вывод dir записать в переменную - пишется только в файл. Спасибо. |
можно вывести в файл и потом считать
for /f %%i in (file.txt) do ( set VAR = %%i echo %VAR% ) но что то как то кривовато. есть изящнее способ? |
Цитата:
Код:
@echo off |
Спасибо!
|
Iska
Цитата:
Для чего служат цифры перед символом перенаправления? |
DesmondTruman,
Спасибо, особенно за это "chcp 1251" теперь в тексте нормальный шрифт, дело в том, что я находил уже подобный код, и эта проблема сейчас можно сказать решена. Еще после исполнения этих команд я пытаюсь вставить открытие этого тхт в конце исполнения этого батника, довольно простым способом, просто с новой строки путь к файлу тхт. "C:\блабла\блабла\logfile.txt" Файл то открывается, а вот консоль батника не закрывается автоматом, а только после закрытия самого logfile.txt. Пробовал ниже ставить end, exit - не помогает. Может есть такая команда, которая бы закрыла консоль, а logfile.txt оставался бы открытым при этом. |
Цитата:
В данном конкретном случае мы буквально говорим: нужно перенаправить стандартный поток ошибки в пустое устройство, тем самым подавляя вывод на экран любых сообщений об ошибках. Разумеется, если некое приложение не следует стандартам и тупо пишет ошибки и диагностику вместо «stderr» в стандартный поток вывода «stdout» — тут уж ничего не поделаешь. См. также: Стандартные потоки — Википедия. stdin, stdout, stderr |
Цитата:
Код:
start "" notepad.exe "C:\блабла\блабла\logfile.txt" |
Ребята, еще одна задачка :) Помогите, плиз.
Как писал выше - батник получает имя файла с определенным расширением лежащим рядом с ним, а затем надо с именем файла произвести манипуляции. Например, такой файл: Europe_2_05.2012096.aqua.721.250m.shp Как имея это имя в переменной %nameforfiles% батнику сказать, что 2012096 - это 5 апреля, 2012097 - соответственно 6 апреля и тд. Задумка: прочитать имя и переименовать в "05.04.2012 aqua 721" (вместо "aqua" может быть "terra"; а вместо "721" может быть "367"). мой суперкод :) Код:
|
можно как нибудь переменную %DATE% увеличивать и уменьшать?
|
сделал так:
Код:
echo %nameforfiles%|findstr "aqua" буду благодарен, если предложите автоматическое решение |
Цитата:
В команде выше используется поиск и представление только одного файла. У меня задачка схожая. 1. Найти файлы с расширением .xyz в директории на один уровень выше батника. ..\ 2. В случае отсутсвия таких файлов, можно так же выдать сообщения об их отсутсвии. 3. В случае обнаружения таких файлов открыть их в приложении находящееся в директории батника pack.exe. |
dee.jack,
Код:
@echo off |
Foreigner,
Спасибо, нашёл этому применение с перенаправлением из другого батника посредством call. Ещё бы подобный скрипт был полезен для переменных расширений файлов примерно такого вида .jpg01, .jpg02, .jpg03 и т.д. Интересует как примерно обозначить их в скрипте выше, чтобы также происходило поочерёдное их открытие, и так же не влияло на название файла. Проблему решил таким способом: *.jpg* Спасибо. :) |
Прошел год и решил кое-что модифицировать в скриптах и нашел эту тему :)
Как писалось выше, этот код позволяет узнать имя файла по расширению в папке в которой расположен .bat файл запущенный. Код:
@echo off пробовал разные варианты - ничего не получается. вот часть варианта, который я вижу вроде бы правильным, но не работает: 'dir %dir% /b /a:-d "%dir%*.shp" 2^>nul' в чем ошибка? |
Цитата:
Код:
@echo off |
Или
Код:
@Echo Off |
sov44, megaloman, Спасибо, что откликнулись!
sov44, ваш вариант не сработал. megaloman, прекрасное решение! короткое и понятное!) |
Цитата:
|
Доброго дня!
@Echo off chcp 1251 Dir "Polnyy\put\do\kataloga" /B> "%~dp0\logfile.txt" pause Вы знаете, этим батником выводятся три строки абракадабры всех регистров, вроде обезьяна пожмакала по клавишам. Файл logfile.txt создается но в нем 0 байт. Я именно разбираюсь как работают бат файлы, для меня это пока как говорится темный лес. |
Цитата:
|
@Echo on - так лучше
Долго не мог войти в сеть. Папа отримонтировал утюг и вкключил его в другую розетку. Сзади меня озарила ярко голубая жаркая вспышка со звуком пом или чмок, утюг выпустил густой большой буровато синий гриб. Экран на секунду погас, в доме приостановились на чуть холодильник и все. По-ходу в доме на четверть секунды ушло электричество, его всосал утюг. Компьютер застыл вместе с изображением- курсор не мигает, мышки неслушает и клавиш. Не выключается. Я его из сети высмыкнул. Перегружал пять раз, пока все востановилось. |
Содержит ли путь кириллицу Не содержит. В этой же папке два батника еще, три текстовых файла, один atest.asm. Путь D:\MYPROG\vyvedet_imena_faylov.bat
Батник отсюда, из этой же темы http://forum.oszone.net/post-1699774-4.html |
Димончик555, Тогда я не знаю, что вы делаете не так, батник абсолютно рабочий. Приведите Ваш реальный вариант.
|
Ага, ага chcp - Смена кодовой страницы.
Так я же полностью привел вариант, сообщение двадцать шесть. да, простите, я сам пока попробую те и те варианты, погуглю, если уже будет не сообразить, отпишусь. |
Цитата:
Вот перевод зтих Ваших трёх строк: Цитата:
Цитата:
Цитата:
Вывод: где-то ошибка в указанном в пакетном файле пути. Ошибка может быть в одной букве (как по Якубовичу). |
Спасибо!!!!
|
Еще вопрос, возможно ли - чтоб bat производил операции с выделенными файлами в проводнике. Например запускаем bat и ставим на паузу, выделяем нужные .txt файлы и продолжаем работу.
|
Цитата:
Единственный вариант — работать через «Oтправить…» или глагол контекстного меню для выделенных файлов. |
Время: 01:27. |
Время: 01:27.
© OSzone.net 2001-