Страница 1 из 3

Создание подкаталогов

Добавлено: Пт июл 01, 2011 20:28
Zombie
Доброго времени суток.....

Задача такая: имеем кучу папок с файлами, внутри каждой папки нужно создать подкаталог например "111" и переместить в этот каталог все файлы из корневого каталога.

З.Ы.

"куча" каталогов создается вот этим скриптом от Batya

Добавлено: Сб июл 02, 2011 09:14
Avada
Zombie
1. По поводу принятого на форуме оформления скриптов и их фрагментов см. здесь
2. По поводу самого цитирования полного скрипта вместо ссылки на источник см. здесь. Пост-источник в таком случае приводится в режиме отдельного сообщения (см. ссылку "Отдельно" над постом).
Соблюдаем правила.
Пост исправлен.

Добавлено: Сб июл 02, 2011 10:40
Flasher
Avada
Спасибо, теперь можно спрашивать.

Zombie
Корневой каталог - это родительский, т.е. один из тех, который будет выделен? Можно конечно и не выделять, тогда будут обрабатываться все подкаталоги активной папки.

Добавлено: Сб июл 02, 2011 11:00
Zombie
Flasher
в общем да, немного уточню есть несколько тысяч файлов типа "ааа.xml" "ббб.xml" и тд
их нужно поместить в папки. т.е. скрипт создает папку используя имя файла(ааа.xml) НО копирует файл ааа.xml не просто в каталог aaa, а в каталог ааа\1\ааа.xml

так вроде понятней написал.

Добавлено: Сб июл 02, 2011 11:15
Flasher
Т.е. файлы aaa.xml, 666.xml изначально лежат в в папках "aaa" и "666" соответственно? Правильно? Кроме них ещё что-то в каждом из этих каталогов есть?

Добавлено: Сб июл 02, 2011 11:22
Zombie
да,файлы aaa.xml, 666.xml изначально лежат в в папках "aaa" и "666". все файлы с одним расширением но кол-во файлов в папках разное.

Добавлено: Сб июл 02, 2011 12:15
Flasher

Код: Выделить всё

' Cоздание подкаталога в папках активной панели
' и перемещение в него одноимённого файла
' Параметры: "%P" <расширение файлов> <имя создаваемой папки>
' Пример: "%P" xml 1
'================================================
With CreateObject("Scripting.FileSystemObject")
On Error Resume Next
  Set FF = .GetFolder(WScript.Arguments(0))
  For Each F In FF.SubFolders
    For Each P In F.Files
      If F.Name = .GetBaseName(P) And _
        .GetExtensionName(P)=WScript.Arguments(1) Then
        .CreateFolder F & "\" & WScript.Arguments(2)
        .MoveFile P, F & "\" & WScript.Arguments(2) & "\"
      End If
    Next
  Next
End With
Wscript.Quit

Добавлено: Сб июл 02, 2011 12:30
Zombie
не работает :(
запускал через тотал с параметрами "%P" xml 1
пробовал запускать на 1 папке и на нескольких выделенных ничего не произошло.

Добавлено: Сб июл 02, 2011 12:33
Flasher
Zombie
В каком смысле на "1 папке и на нескольких"?

Добавлено: Сб июл 02, 2011 12:34
Zombie
на одной выделенной и на нескольких выделенных папках в тотале.

Добавлено: Сб июл 02, 2011 12:35
Flasher
А где в названии скрипта написано про выделение? Выделение тут роли не играет.

Добавлено: Сб июл 02, 2011 12:43
Zombie
Flasher
я в этом мало разбираюсь думал это принципиально :oops:

для примера

есть папка PFR-700-Y-2010-ORG-000-000-023971 в ней 2 файла: PFR-700-Y-2010-ORG-000-000-023971-DCK-00001-DPT-000000-DCK-00000.XML и PFR-700-Y-2010-ORG-000-000-023971-DCK-01002-DPT-000000-DCK-00000.XML

после работы скрипта должно получиться:
PFR-700-Y-2010-ORG-000-000-023971\1\PFR-700-Y-2010-ORG-000-000-023971-DCK-00001-DPT-000000-DCK-00000.XML
PFR-700-Y-2010-ORG-000-000-023971-DCK-01002-DPT-000000-DCK-00000.XML

Добавлено: Сб июл 02, 2011 12:59
Flasher
Zombie
Предлагаю по-своему:

Имеем структуру:

- Активная папка\
  • - aaa\
    • - aaa.txt
      - aaa.xml
      - хрюхрюхрю.bmp
  • - 666\
    • - 666.flv
      - 666.xml
      - блаблабла.xxx
Находимся в активной папке, жмём кнопку и получается:

- Активная папка\
  • - aaa\
    • - 1\
      • - aaa.xml
    • - aaa.txt
      - хрюхрюхрю.bmp
  • - 666\
    • -1\
      • - 666.xml
    • - 666.flv
      - блаблабла.xxx
Так? Если да, то всё должно работать.

Добавлено: Сб июл 02, 2011 13:05
Zombie
почти

Имеем структуру:
- aaa\
- aaa.xml
- aaa01.xml
- aaa02.xml
жмём кнопку и должно получиться:
- aaa\
- 1\
- aaa.xml
- aaa01.xml
- aaa02.xml

,но не получается :(

Добавлено: Сб июл 02, 2011 13:10
Flasher
Zombie писал(а):- aaa01.xml
- aaa02.xml
Не понял. Это тоже должно переместиться в папку "1"?
Если да, то где было об этом написано? Я не телепат...
Хотя aaa.xml всё равно должен был переместиться. Папки "1" также не создаются?