Войти

Показать полную графическую версию : [решено] Пакетный файл для выборки из спика файлов текстовый(название и описание)


Скуб
15-05-2010, 16:56
Разработать пакетный файл для вывода в файл списка всех файлов в заданном каталоге (задается в командной строке), начинающихся с символа a, а также информацию о них.

amel27
15-05-2010, 18:00
Скуб, так как тип информации не оговорен
DIR /A-D "%~1\a*"|FIND "." >file.txt

megaloman
17-05-2010, 16:50
amel27, У меня имеет место некоторая странность: команда dir *.* выдаёт Содержимое папки D:\delete
17.05.2010 15:37 1 aaaa.bat
17.05.2010 15:47 0 bbb
17.05.2010 15:37 9 Финуправления в .doc
17.05.2010 15:37 9 Финуправления в Интернете.doc
17.05.2010 15:37 9 Финуправления в.doc
17.05.2010 15:37 9 Финуправления.doc
6 файлов 37 байт

, а команда dir a*.* выдаёт Содержимое папки D:\delete

17.05.2010 15:37 9 Финуправления в Интернете.doc
17.05.2010 15:37 1 aaaa.bat
17.05.2010 15:37 9 Финуправления в .doc
3 файлов 19 байт
То есть к оглавлению файлов на букву "a" почему-то цепляются лишние строки. Не могу понять, в чём загвоздка
Причём, если файлы с указанными именами на дискетке, всё нормально, а на жестком почему-то цепляются лишние файлы.

amel27
17-05-2010, 18:07
megaloman, похоже DIR ищет по длинным и по коротким контекстам имен
DIR /X a*

Iska
17-05-2010, 20:40
megaloman, amel27, озвучьте Ваши ОС, где сие наблюдалось, пожалуйста. Если сие так и есть (в плане «це не не баг, а фича»), это ж какие «грабли» можно получить :(.

Iska
17-05-2010, 22:17
Вопрос снимается, приношу свои извинения. Надо почаще вспоминать молодость:
Remarks

The following list identifies some other search characteristics:

* The search includes the long and short file names.

amel27
18-05-2010, 03:33
это ж какие «грабли» можно получить »
не так уж часто это может проявиться, надо просто держать эту фичу в уме...
как вариант - использовать свою фильтрацию, на FindStr:
DIR /A-D *|Findstr /BIRC:"....................................a"

Iska
18-05-2010, 15:17
не так уж часто это может проявиться, надо просто держать эту фичу в уме... »
Просто уму непостижимо, что я ни разу не наступил на это… Возможно потому, что маски использовал, похоже, только в расширениях.

Проблема оказывается гораздо шире, ибо здесь и «del a*.*», и «for %i in (a*.*) do …» ведут себя идентичным образом. Ещё хуже, что и прочие среды (например, WSH: «WScript.CreateObject("Scripting.FileSystemObject").DeleteFile "c:\001\a*.*"») ведут себя столь же, гм, неподобающим, хоть и объяснимым образом.

В общем, да, Вы правы — надо сие держать в уме.




© OSzone.net 2001-2012