|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге |
|
CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
|
Новый участник Сообщения: 2 |
Помогите реализовать задачу.
Нужно создать bat-ник который выведет на экран имена файлов txt в котологе в котором находиться сам bat. Если txt файлов нет тогда вывести сообщение пользователю что их нет. Все чтобы выводилось в самой командной строке. |
|
Отправлено: 12:39, 22-06-2011 |
Пользователь Сообщения: 78
|
Профиль | Отправить PM | Цитировать Iska
Цитата:
Для чего служат цифры перед символом перенаправления? |
|
Отправлено: 19:55, 06-04-2012 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать DesmondTruman,
Спасибо, особенно за это "chcp 1251" теперь в тексте нормальный шрифт, дело в том, что я находил уже подобный код, и эта проблема сейчас можно сказать решена. Еще после исполнения этих команд я пытаюсь вставить открытие этого тхт в конце исполнения этого батника, довольно простым способом, просто с новой строки путь к файлу тхт. "C:\блабла\блабла\logfile.txt" Файл то открывается, а вот консоль батника не закрывается автоматом, а только после закрытия самого logfile.txt. Пробовал ниже ставить end, exit - не помогает. Может есть такая команда, которая бы закрыла консоль, а logfile.txt оставался бы открытым при этом. |
Отправлено: 20:27, 06-04-2012 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата DesmondTruman:
В данном конкретном случае мы буквально говорим: нужно перенаправить стандартный поток ошибки в пустое устройство, тем самым подавляя вывод на экран любых сообщений об ошибках. Разумеется, если некое приложение не следует стандартам и тупо пишет ошибки и диагностику вместо «stderr» в стандартный поток вывода «stdout» — тут уж ничего не поделаешь. См. также: Стандартные потоки — Википедия. stdin, stdout, stderr |
|
Отправлено: 23:38, 06-04-2012 | #13 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата dee.jack:
|
|
Отправлено: 23:53, 06-04-2012 | #14 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Ребята, еще одна задачка
![]() Как писал выше - батник получает имя файла с определенным расширением лежащим рядом с ним, а затем надо с именем файла произвести манипуляции. Например, такой файл: Europe_2_05.2012096.aqua.721.250m.shp Как имея это имя в переменной %nameforfiles% батнику сказать, что 2012096 - это 5 апреля, 2012097 - соответственно 6 апреля и тд. Задумка: прочитать имя и переименовать в "05.04.2012 aqua 721" (вместо "aqua" может быть "terra"; а вместо "721" может быть "367"). мой суперкод ![]() ::расположение папки MODIS set dir=C:\Users\user\Desktop\MODIS\ ::берем имя файла с расширением .shp лежащий рядом setlocal enableextensions enabledelayedexpansion for /f "delims=" %%i in ('dir /b /a:-d "%~dp0*.shp" 2^>nul') do if not defined sFile set nameforfiles=%%i if defined sFile (echo [%nameforfiles%]) else (echo Not found any [*.shp] files) endlocal ::смотри aqua или terra echo %nameforfiles%|findstr "aqua" if errorlevel 1 ::::::::::::::тут надо как то хитро переменную %nameforfiles% ::::::::::::::привести к виду "05.04.2012 aqua 721" ren %dir%new\shape\shape.dbf %nameforfiles%.dbf ren %dir%new\shape\shape.shp %nameforfiles%.shp ren %dir%new\shape\shape.shx %nameforfiles%.shx ren %dir%new\shape\shape.prj %nameforfiles%.prj move *.xml %dir%new\snimok move *.aux %dir%new\snimok move *.jgw %dir%new\snimok move *.jpg %dir%new\snimok move *.prj %dir%new\snimok del /q *.zip rmdir /s /q %dir%new\other ren %dir%new %nameforfiles% rmdir /s /q OK pause |
Отправлено: 10:24, 07-04-2012 | #15 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать можно как нибудь переменную %DATE% увеличивать и уменьшать?
|
Отправлено: 15:36, 07-04-2012 | #16 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать сделал так:
echo %nameforfiles%|findstr "aqua" if "%errorlevel%"=="0" (set sputnik="aqua") else (set sputnik="terra") echo %nameforfiles%|findstr "721" if "%errorlevel%"=="0" (set chanel="721") else (set chanel="367") set dateforrename=%date% SET /P day=Today? (y/n): if "%day%"=="y" ( goto next) SET /P dateforrename=Enter new date: буду благодарен, если предложите автоматическое решение |
Отправлено: 18:01, 07-04-2012 | #17 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать Цитата Iska:
В команде выше используется поиск и представление только одного файла. У меня задачка схожая. 1. Найти файлы с расширением .xyz в директории на один уровень выше батника. ..\ 2. В случае отсутсвия таких файлов, можно так же выдать сообщения об их отсутсвии. 3. В случае обнаружения таких файлов открыть их в приложении находящееся в директории батника pack.exe. |
|
Отправлено: 12:34, 08-04-2012 | #18 |
Ветеран Сообщения: 1758
|
|
Отправлено: 12:51, 08-04-2012 | #19 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать Foreigner,
Спасибо, нашёл этому применение с перенаправлением из другого батника посредством call. Ещё бы подобный скрипт был полезен для переменных расширений файлов примерно такого вида .jpg01, .jpg02, .jpg03 и т.д. Интересует как примерно обозначить их в скрипте выше, чтобы также происходило поочерёдное их открытие, и так же не влияло на название файла. Проблему решил таким способом: *.jpg* Спасибо. ![]() |
Последний раз редактировалось dee.jack, 10-04-2012 в 21:12. Отправлено: 17:22, 10-04-2012 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Архивирование файлов в каталоге | 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 как вывести список всех файлов в папке | Вебмастеру | 6 | 12-02-2005 17:33 |
|