CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
-
VALET93
CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Помогите реализовать задачу.
Нужно создать bat-ник который выведет на экран имена файлов txt
в котологе в котором находиться сам bat. Если txt файлов нет тогда вывести сообщение
пользователю что их нет. Все чтобы выводилось в самой командной строке.
Нужно создать bat-ник который выведет на экран имена файлов txt
в котологе в котором находиться сам bat. Если txt файлов нет тогда вывести сообщение
пользователю что их нет. Все чтобы выводилось в самой командной строке.
-
VALET93
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Код:
Код: Выделить всё
@Echo off
Echo В папке %~dp0 ищем txt-файлы
Dir /B /A:-D %~dp0*.txt
Pause-
VALET93
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Iska
Цитата:
"%~dp0*.shp" 2^>nul')
Для чего служат цифры перед символом перенаправления?
Цитата:
"%~dp0*.shp" 2^>nul')
Для чего служат цифры перед символом перенаправления?
-
VALET93
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Прошел год и решил кое-что модифицировать в скриптах и нашел эту тему 
Как писалось выше, этот код позволяет узнать имя файла по расширению в папке в которой расположен .bat файл запущенный.
Код:
А как мне узнать расширение мя файла по расширению, расположенного в другой папке? например %dir%
пробовал разные варианты - ничего не получается.
вот часть варианта, который я вижу вроде бы правильным, но не работает:
'dir %dir% /b /a:-d "%dir%*.shp" 2^>nul'
в чем ошибка?

Как писалось выше, этот код позволяет узнать имя файла по расширению в папке в которой расположен .bat файл запущенный.
Код:
Код: Выделить всё
@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А как мне узнать расширение мя файла по расширению, расположенного в другой папке? например %dir%
пробовал разные варианты - ничего не получается.
вот часть варианта, который я вижу вроде бы правильным, но не работает:
'dir %dir% /b /a:-d "%dir%*.shp" 2^>nul'
в чем ошибка?
-
VALET93
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Ага, ага chcp - Смена кодовой страницы.
Так я же полностью привел вариант, сообщение двадцать шесть. да, простите, я сам пока попробую те и те варианты, погуглю, если уже будет не сообразить, отпишусь.
Так я же полностью привел вариант, сообщение двадцать шесть. да, простите, я сам пока попробую те и те варианты, погуглю, если уже будет не сообразить, отпишусь.
-
VALET93
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
megaloman, Спасибо большое! А как сделать если в папке нет файлов txt
тогда выводилось бы сообщение "В папке нет txt файлов"
тогда выводилось бы сообщение "В папке нет txt файлов"
-
VALET93
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Код:
Код: Выделить всё
@Echo off
cls
Echo В папке %~dp0 ищем txt-файлы
Dir /B /A:-D %~dp0*.txt 2>nul || Echo В папке %~dp0 txt-файлы не найдены
Pause-
dee.jack
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Интересует то же самое, только для любых расширений файлов, желательно такой-же компактный код, и чтобы эти данные можно было записать в тхт или в лог, можно в том же каталоге откуда и запущен bat.
-
dee.jack
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Цитата ndvikulov:
з.ы. не получилось вывод dir записать в переменную - пишется только в файл.
Попробуйте так:
Код:
з.ы. не получилось вывод dir записать в переменную - пишется только в файл.
CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Попробуйте так:
Код:
Код: Выделить всё
@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-
ndvikulov
Re: CMD/BAT - [решено] Вывести имена файлов *.txt в каталоге
Здравствуйте. Похожая задача. У меня батник, а рядом файл с расширением определенным. Этот файл будет с разным именем каждый день. Как мне узнать имя единственного файла с определенным расширением в папке и записать это имя в переменную?
примерный алгоритм:
1. батник смотрит в своей папке имя файла с расширением .shp
2. записывает это имя в переменную для последующих команд.
з.ы. не получилось вывод dir записать в переменную - пишется только в файл.
Спасибо.
примерный алгоритм:
1. батник смотрит в своей папке имя файла с расширением .shp
2. записывает это имя в переменную для последующих команд.
з.ы. не получилось вывод dir записать в переменную - пишется только в файл.
Спасибо.