Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Список файлов. (http://forum.oszone.net/showthread.php?t=142738)

New DiploBoy 15-06-2009 18:32 1143966

Список файлов.
 
Здравствуйте. Вчера столкнулся такой проблемой. У меня есть коллекция файлов. Для этих файлов надо создаст список. Так как файлы очень много (50 000), как надо написать командную строку, который создаст полный список файлов и каталогов. Спасибо

Drongo 15-06-2009 19:34 1144043

New DiploBoy, Если нужно что-то вроде структуры или простого списка, то вот:
Код:

@echo off

chcp 1251
tree /A /F > list.txt

Если же нет, то расширьте задачу. Вам нужно, чтобы список каталогов был отдельно, а список файлов отдельно?

New DiploBoy 15-06-2009 19:38 1144052

Drongo,
Спасибо. Этот код хватит.

Sirimika 07-02-2011 14:53 1606815

Задача подобная, только нужно вывести список файлов не из всех папок подряд, а выборочно.

Код:

@echo on
SETLOCAL enabledelayedexpansion

set Otdel1="1.0.1 Финансовый департамент"
set Otdel2="1.0.2 Юридический департамент"
set Otdel3="1.0.3 Департамент HR"
set Otdel4="1.0.4 Департамент IT"
set Otdel5="1.0.5 Департамент PR"
set Otdel6="1.0.6 Департамент маркетинга"
set Otdel7="1.0.7 Департамент экономической безопасности"
set Otdel8="1.0.8 ДОУ"
set Otdel9="1.0.9 АХУ"

chcp 1251
For /L %%i In (1,1,9) Do (
      tree "Z:\1.0 Департамент отделов обеспечения/%Otdel%%i%/1.0.%%i.0 Внутренние документы подразделения" /A /F > list2.txt
)
pause

не могу понять как нужно правильно в пути написать переменную отдела.
Писала:
Код:

%Otdel%%i%
!Otdel%%i!

выдает что:

Z:\1.0 ДЕПАРТАМЕНТ ОТДЕЛОВ ОБЕСПЕЧЕНИЯ\1.0.9.0 ВНУТРЕННИЕ ДОКУМЕНТЫ ПОДРАЗДЕЛЕНИЯ
Путь задан неправильно: \1.0 ДЕПАРТАМЕНТ ОТДЕЛОВ ОБЕСПЕЧЕНИЯ\1.0.9.0 ВНУТРЕННИЕ ДОКУМЕНТЫ ПОДРАЗДЕЛЕНИЯ
Подпапки отсутствуют

El Sanchez 07-02-2011 15:30 1606847

Цитата:

Цитата Sirimika
не могу понять как нужно правильно в пути написать переменную отдела. »

Sirimika,
Код:

call tree "Z:\1.0 Департамент отделов обеспечения\%%Otdel%%i%%\1.0.%%i.0 Внутренние документы подразделения" /A /F > list2.txt

Sirimika 07-02-2011 16:25 1606889

если написать так
Код:

call tree "Z:\1.0 Департамент отделов обеспечения\%%Otdel%%i%%\1.0.%%i.0 Внутренние документы подразделения" /A /F > list2.txt
то выдает:

Слишком много параметров: └╒╙"\1.0.9.0 Внутренние документы подразделения"

El Sanchez 07-02-2011 17:15 1606938

Цитата:

Цитата Sirimika
Слишком много параметров: └╒╙"\1.0.9.0 Внутренние документы подразделения" »

Sirimika,
Во первых, переместите кавычки в каждом объявлении переменной из красной позиции в зеленую:
Код:

set "Otdel1="1.0.1 Финансовый департамент"
...
set "Otdel9="1.0.9 АХУ"

Во вторых, если работаете с кириллицей в CMD, сохраняйте скрипт в кодировке DOS (OEM-866), т.е. Notepad не подходит.
В третьих, уберите setlocal и chcp 1251.

Sirimika 08-02-2011 14:41 1607610

1. Кавычки все перенесла
2. сохранить я могу только в ANSI, Юникод, Юникод Big Endian, UTF-8. Сейчас у меня сохранено в ANSI
3. убрала Setlocal и chcp1251

Получаю вот что:
Z:\1.0 ─ХЯРЁЄРЬХЭЄ ЮЄФХЫЮТ ЮСХЁЯХЎХЭШ \1.0.9 └╒╙\1.0.9.0 ┬ЭЄЄЁХЭЭШХ ФЮЪЄЬХЭЄ√ ЯЮФЁРЧФХЫХЭШ
Путь задан неправильно: \1.0 ─ХЯРЁЄРЬХЭЄ ЮЄФХЫЮТ ЮСХЁЯХЎХЭШ \1.0.9 └╒╙\1.0.9.0 ┬ЭЄЄЁХЭЭШХ ФЮЪЄЬХЭЄ√ ЯЮФЁРЧФХЫХЭШ
Подпапки отсутствуют

El Sanchez 08-02-2011 15:20 1607636

Цитата:

Цитата Sirimika
Получаю вот что:
Z:\1.0 ─ХЯРЁЄРЬХЭЄ ЮЄФХЫЮТ ЮСХЁЯХЎХЭШ \1.0.9 └╒╙\1.0.9.0 ┬ЭЄЄЁХЭЭШХ ФЮЪЄЬХЭЄ√ ЯЮФЁРЧФХЫХЭШ
Путь задан неправильно: \1.0 ─ХЯРЁЄРЬХЭЄ ЮЄФХЫЮТ ЮСХЁЯХЎХЭШ \1.0.9 └╒╙\1.0.9.0 ┬ЭЄЄЁХЭЭШХ ФЮЪЄЬХЭЄ√ ЯЮФЁРЧФХЫХЭШ
Подпапки отсутствуют »

Sirimika, или избавляйтесь от кириллических названий папок, или опять же
Цитата:

Цитата El Sanchez
сохраняйте скрипт в кодировке DOS (OEM-866), т.е. Notepad не подходит »

Скачайте AkelPad или Notepad++, сохраните батник в нужной кодировке и забудьте про стандартный виндовый Notepad.

amel27 08-02-2011 15:59 1607663

Цитата:

Цитата El Sanchez
забудьте про стандартный виндовый Notepad »

ту упоминали, что можно использовать шрифт Terminal

Sirimika 09-02-2011 12:13 1608353

Цитата:

Цитата El Sanchez
Скачайте AkelPad или Notepad++ »

Дома то я сама этим пользуюсь, просто на работе разрешается использовать только виндовое %)
Так-с с кодировкой решился вопрос.
Теперь другая проблема =(
В файл он записывает только данные из последней папки из 9

Sirimika 09-02-2011 12:50 1608379

все разобралась. Дурацкая опечатка.

Нужно было написать
Код:

/A /F >> list2.txt


Время: 16:11.

Время: 16:11.
© OSzone.net 2001-