Показать полную графическую версию : [решено] Вывести имена файлов *.txt в каталоге
ndvikulov
27-02-2013, 09:25
Прошел год и решил кое-что модифицировать в скриптах и нашел эту тему :)
Как писалось выше, этот код позволяет узнать имя файла по расширению в папке в которой расположен .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'
в чем ошибка?
мя файла по расширению »
@echo off
set folder="c:\windows"
set rs=*.log
for /f "delims=" %%a in ('dir /b /a-d "%folder%\%rs%"') do echo %%~na
pause
megaloman
27-02-2013, 10:01
Или @Echo Off
cls
Set Where=D:\У попа была собака\Поп ее любил
FOR %%f IN ("%Where%\*.exe") DO Echo %%~nxf
Если в имени не надо расширения, то DO Echo %%~nf
ndvikulov
28-02-2013, 08:33
sov44, megaloman, Спасибо, что откликнулись!
sov44, ваш вариант не сработал.
megaloman, прекрасное решение! короткое и понятное!)
sov44, ваш вариант не сработал. »
Странно. Код рабочий. :dont-know
Димончик555
08-03-2014, 16:21
Доброго дня!
@Echo off
chcp 1251
Dir "Polnyy\put\do\kataloga" /B> "%~dp0\logfile.txt"
pause
Вы знаете, этим батником выводятся три строки абракадабры всех регистров, вроде обезьяна пожмакала по клавишам.
Файл logfile.txt создается но в нем 0 байт.
Я именно разбираюсь как работают бат файлы, для меня это пока как говорится темный лес.
Foreigner
08-03-2014, 16:33
Polnyy\put\do\kataloga »
В какой кодировке сам батник? Содержит ли путь кириллицу, сохраните батник в windows-1251 (ANSI).
Димончик555
08-03-2014, 17:44
@Echo on - так лучше
Долго не мог войти в сеть. Папа отримонтировал утюг и вкключил его в другую розетку.
Сзади меня озарила ярко голубая жаркая вспышка со звуком пом или чмок, утюг выпустил густой большой буровато синий гриб.
Экран на секунду погас, в доме приостановились на чуть холодильник и все. По-ходу в доме на четверть секунды ушло электричество, его всосал утюг.
Компьютер застыл вместе с изображением- курсор не мигает, мышки неслушает и клавиш. Не выключается. Я его из сети высмыкнул. Перегружал пять раз, пока все востановилось.
Димончик555
08-03-2014, 18:02
Содержит ли путь кириллицу Не содержит. В этой же папке два батника еще, три текстовых файла, один atest.asm. Путь D:\MYPROG\vyvedet_imena_faylov.bat
Батник отсюда, из этой же темы http://forum.oszone.net/post-1699774-4.html
Foreigner
08-03-2014, 18:22
Димончик555, Тогда я не знаю, что вы делаете не так, батник абсолютно рабочий. Приведите Ваш реальный вариант.
Димончик555
08-03-2014, 18:22
Ага, ага chcp - Смена кодовой страницы.
Так я же полностью привел вариант, сообщение двадцать шесть. да, простите, я сам пока попробую те и те варианты, погуглю, если уже будет не сообразить, отпишусь.
Вы знаете, этим батником выводятся три строки абракадабры всех регистров, вроде обезьяна пожмакала по клавишам. »
Вот перевод зтих Ваших трёх строк:
Текущая кодовая страница: 1251
Системе не удается найти указанный путь.
Для продолжения нажмите любую клавишу . . .
Файл logfile.txt создается но в нем 0 байт. »
Системе не удается найти указанный путь.
Вывод: где-то ошибка в указанном в пакетном файле пути. Ошибка может быть в одной букве (как по Якубовичу).
Димончик555
08-03-2014, 20:41
Спасибо!!!!
dee.jack
12-04-2014, 14:16
Еще вопрос, возможно ли - чтоб bat производил операции с выделенными файлами в проводнике. Например запускаем bat и ставим на паузу, выделяем нужные .txt файлы и продолжаем работу.
возможно ли - чтоб bat производил операции с выделенными файлами в проводнике. Например запускаем bat и ставим на паузу, выделяем нужные .txt файлы и продолжаем работу. »
Нет, невозможно. Поскольку пакетный файл не может являться клиентом Automation.
Единственный вариант — работать через «Oтправить…» или глагол контекстного меню для выделенных файлов.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.