Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Задача следующая.
Есть папка PSX, в ней подпапка PSX-PSP.PSN.Collection, и в ней подпапки (на примере трех):
[PSX-PSP] 2Xtreme (english) [SCUS-94508]
[PSX-PSP] A Bug's Life (english) [SCES-01489]
[PSX-PSP] Alundra (english) [SLUS-00553]
...
В каждой подпапке (первого уровня), вторая подпапка с кодом (который присутствует в имени первой подпапки):
SCUS94508
SCES01489
SLUS00553
...
В каждой подпапке (второго уровня) с кодом, три файла (имена файлов не меняются):
KEYS.BIN (размер меньше 1Кб)
DOCUMENT.DAT (размер 1 - 10Мб)
EBOOT.PBP (размер 20 - 2000Мб)

Общая структура выглядит следующим образом (на примере трех папок):
PSX (главная папка)
+ PSX-PSP.PSN.Collection (подпапка нулевого уровня)
+ [PSX-PSP] 2Xtreme (english) [SCUS-94508] (подпапка первого уровня)
+ SCUS94508 (подпапка второго уровня)
- KEYS.BIN (файл)
- DOCUMENT.DAT (файл)
- EBOOT.PBP (файл)
+ [PSX-PSP] A Bug's Life (english) [SCES-01489] (подпапка первого уровня)
+ SCES01489 (подпапка второго уровня)
- KEYS.BIN (файл)
- DOCUMENT.DAT (файл)
- EBOOT.PBP (файл)
+ [PSX-PSP] Alundra (english) [SLUS-00553] (подпапка первого уровня)
+ SLUS00553 (подпапка второго уровня)
- KEYS.BIN (файл)
- DOCUMENT.DAT (файл)
- EBOOT.PBP (файл)

Необходимо переделать скрипт, что бы он выполнял следующее:
1. Сканировал все подпапки в подпапке нулекого уровня PSX-PSP.PSN.Collection
2. Для каждой подпапки в папке PSX-PSP.PSN.Collection создавал два текстовые файла с именем подпапки второго уровня с расширением XPD, (SCUS94508 и добавлением _1 и _2 к имени, SCUS94508_1.xpd и SCUS94508_2.xpd) следующего содержания:
первый файл SCUS94508_1.xpd (в скобках информация которая меняется)
[Info]
EID=gdp#
Desc=[PSX-PSP] 2Xtreme (english) [SCUS-94508] Part 1 (имя подпапки первого уровня [PSX-PSP] 2Xtreme (english) [SCUS-94508] + неизменное Part 1)
Size=58067 (размер файла EBOOT.PBP в подпапке второго уровня SCUS94508 в килобайтах)
Code=SCUS94508 (имя подпапки второго уровня SCUS94508 без дефиса)
NPage=javascript:alert("Please wait for Part 2 to begin downloading.");window.location="http://192.168.1.10/PSX/XPD/SCUS94508_P2.xpd" (имя второго файла SCUS94508_P2.xpd)
[File]
C=http://192.168.1.10/PSX/PSX-PSP.PSN.Collection/[PSX-PSP]%202Xtreme%20(english)%20[SCUS-94508]/SCUS94508/EBOOT.PBP (подпапка первого уровня/второго уровня/файл EBOOT.PBP, вместо пробела %20)
A=http://192.168.1.10/PSX/PSX-PSP.PSN.Collection/[PSX-PSP]%202Xtreme%20(english)%20[SCUS-94508]/SCUS94508/DOCUMENT.DAT (подпапка первого уровня/второго уровня/файл DOCUMENT.DAT, вместо пробела %20)

второй файл SCUS94508_2.xpd (в скобках информация которая меняется)
[Info]
EID=gdp#
Desc=[PSX-PSP] 2Xtreme (english) [SCUS-94508] Part 2 (имя подпапки первого уровня [PSX-PSP] 2Xtreme (english) [SCUS-94508] + неизменное Part 2)
Size=1 (размер файла KEYS.BIN меньше 1Кб, так что можно просто оставить 1)
Code=SCUS94508 (имя подпапки второго уровня SCUS94508 без дефиса)
[File]
C=http://192.168.1.10/PSX/PSX-PSP.PSN.Collection/[PSX-PSP]%202Xtreme%20(english)%20[SCUS-94508]/SCUS94508/KEYS.BIN (подпапка первого уровня/второго уровня/файл KEYS.BIN, вместо пробела %20)

3. Полученные текстовые файлы SCUS94508_P1.xpd и SCUS94508_P2.xpd необходимо положить в папку PSX/XPD/ с расширением *.xpd

Пример:
1. Есть три файла
./PSX/PSX-PSP.PSN.Collection/[PSX-PSP] 2Xtreme (english) [SCUS-94508]/SCUS94508/KEYS.BIN 1,9Мб
./PSX/PSX-PSP.PSN.Collection/[PSX-PSP] 2Xtreme (english) [SCUS-94508]/SCUS94508/DOCUMENT.DAT 59Мб
./PSX/PSX-PSP.PSN.Collection/[PSX-PSP] 2Xtreme (english) [SCUS-94508]/SCUS94508/EBOOT.PBP 0,1Мб
2. После запуска скрипта в папке ./PSX/XPD/ создается два текстовых файла в расширением XPD, SCUS94508_P1.xpd и SCUS94508_P2.xpd
3. Содержимое файла SCUS94508_P1.xpd
[Info]
EID=gdp#
Desc=[PSX-PSP] 2Xtreme (english) [SCUS-94508] Part 1
Size=58067
Code=SCUS94508
NPage=javascript:alert("Please wait for Part 2 to begin downloading.");window.location="http://192.168.1.10/PSX/XPD/SCUS94508_P2.xpd"
[File]
C=http://192.168.1.10/PSX/PSX-PSP.PSN.Collection/[PSX-PSP]%202Xtreme%20(english)%20[SCUS-94508]/SCUS94508/EBOOT.PBP
A=http://192.168.1.10/PSX/PSX-PSP.PSN.Collection/[PSX-PSP]%202Xtreme%20(english)%20[SCUS-94508]/SCUS94508/DOCUMENT.DAT
4. Содержимое файла SCUS94508_P2.xpd
[Info]
EID=gdp#
Desc=[PSX-PSP] 2Xtreme (english) [SCUS-94508] Part 2
Size=1
Code=SCUS94508
[File]
C=http://192.168.1.10/PSX/PSX-PSP.PSN.Collection/[PSX-PSP]%202Xtreme%20(english)%20[SCUS-94508]/SCUS94508/KEYS.BIN

Спасибо, всем кто сможет мне помочь.
Бьюсь над этой задачей спустя несколько часов после вашей помощи в решении предыдущей.

Последний раз редактировалось onemal, 08-01-2013 в 00:39. Причина: Исправление мелких ошибок в задаче


Отправлено: 23:03, 07-01-2013 | #6