Войти

Показать полную графическую версию : [решено] Вывести имена файлов *.txt в каталоге


Страниц : 1 [2]

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'

в чем ошибка?

sov44
27-02-2013, 09:46
мя файла по расширению »
@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
28-02-2013, 08:47
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 - Смена кодовой страницы.

Так я же полностью привел вариант, сообщение двадцать шесть. да, простите, я сам пока попробую те и те варианты, погуглю, если уже будет не сообразить, отпишусь.

Georgio
08-03-2014, 19:29
Вы знаете, этим батником выводятся три строки абракадабры всех регистров, вроде обезьяна пожмакала по клавишам. »


Вот перевод зтих Ваших трёх строк:

Текущая кодовая страница: 1251
Системе не удается найти указанный путь.
Для продолжения нажмите любую клавишу . . .



Файл logfile.txt создается но в нем 0 байт. »

Системе не удается найти указанный путь.


Вывод: где-то ошибка в указанном в пакетном файле пути. Ошибка может быть в одной букве (как по Якубовичу).

Димончик555
08-03-2014, 20:41
Спасибо!!!!

dee.jack
12-04-2014, 14:16
Еще вопрос, возможно ли - чтоб bat производил операции с выделенными файлами в проводнике. Например запускаем bat и ставим на паузу, выделяем нужные .txt файлы и продолжаем работу.

Iska
12-04-2014, 15:36
возможно ли - чтоб bat производил операции с выделенными файлами в проводнике. Например запускаем bat и ставим на паузу, выделяем нужные .txt файлы и продолжаем работу. »
Нет, невозможно. Поскольку пакетный файл не может являться клиентом Automation.

Единственный вариант — работать через «Oтправить…» или глагол контекстного меню для выделенных файлов.




© OSzone.net 2001-2012