View previous topic :: View next topic |
Author |
Message |
Batya

Joined: 15 Dec 2004 Posts: 2227 Location: Москва, Россия
|
(Separately) Posted: Tue Jan 25, 2011 13:33 Post subject: |
|
|
Jonmey
Что-то я перемудрил с переносом строк.
Упростил скрипт по твоей задаче (исправил исходный пост).
Результат работы должен не измениться. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Jan 25, 2011 14:00 Post subject: |
|
|
Flasher wrote: | Quote: | Тогда уж м.б. и дополнять, а не заменять? | Да, такое поведение устроит. | Можно и заменять. Сделать?
Flasher wrote: | Пустые строки можешь сделать между всеми подкаталогами, а не только папками, что в корне? | Теоретически можно. Если не получится запихнуть в кнопку, батник устроит?
Уникод или вин-1251 предпочтительнее? |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jan 25, 2011 14:37 Post subject: |
|
|
Tol!k wrote: | Можно и заменять. Сделать? | Да, отдельно тогда нарисуй, т. с. Tol!k wrote: | Теоретически можно. Если не получится запихнуть в кнопку, батник устроит? | Если не получится, то, конечно, устроит. Tol!k wrote: | Уникод или вин-1251 предпочтительнее? | Сложно сказать, всё от настроек реестра зависит. Ну, давай юникод. |
|
Back to top |
|
 |
Jonmey
Joined: 27 Sep 2010 Posts: 45
|
(Separately) Posted: Wed Jan 26, 2011 06:39 Post subject: |
|
|
Batya
Второй вариант скрипта работает также отлично как и первый.
А возможно сделать, чтобы в параметрах кнопки задавалось в каком формате выводить список - Unicode или Win-1251 (или ANSI, то есть равный локали системы)? И если файл со списком уже существует, то создавался новый файл? (например, если FileList.txt уже есть в целевой папке, то новый список записывался, например, в файл FileList2.txt и так по порядку). |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2227 Location: Москва, Россия
|
(Separately) Posted: Wed Jan 26, 2011 16:55 Post subject: |
|
|
Jonmey wrote: | А возможно сделать, чтобы в параметрах кнопки задавалось в каком формате выводить список - Unicode или Win-1251 (или ANSI, то есть равный локали системы)? |
В функции CreateTextFile третий параметр отвечает за кодировку создавемого файла: True - Unicode, False - ASCII.
Batya wrote: | FSO.CreateTextFile(TargetList, True, True).Write List |
Jonmey wrote: | И если файл со списком уже существует, то создавался новый файл? (например, если FileList.txt уже есть в целевой папке, то новый список записывался, например, в файл FileList2.txt и так по порядку). |
В конец скрипта добавь функцию:
Code: | Function NextName(pFilePath)
Dim lPath, lName, lExt, li, lAdd
Const lQ = 1 'Минимальное количество цифр в номере
With CreateObject("Scripting.FileSystemObject")
lPath = .GetParentFolderName(pFilePath)
If lPath <> "" Then lPath = lPath & "\"
lName = .GetBaseName(pFilePath)
lExt = .GetExtensionName(pFilePath)
NextName = lPath & lName & lAdd & "." & lExt
Do While .FileExists(NextName)
li = li + 1
If li < 10^lQ Then
lAdd = Right(String(lQ, "0") & li, lQ)
Else
lAdd = li
End If
NextName = lPath & lName & lAdd & "." & lExt
Loop
End With
End Function |
И исправь строку:
Batya wrote: | FSO.CreateTextFile(NextName(TargetList), True, True).Write List |
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 26, 2011 19:05 Post subject: |
|
|
Batya wrote: | В функции CreateTextFile третий параметр отвечает за кодировку создавемого файла: True - Unicode, False - ASCII. | Там же проверка нужна для запуска с разных осей. Стационар тут не подходит.
Tol!k
Какие там дела с кнопкой? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2227 Location: Москва, Россия
|
(Separately) Posted: Wed Jan 26, 2011 19:17 Post subject: |
|
|
Flasher wrote: | Там же проверка нужна для запуска с разных осей. Стационар тут не подходит. |
Ты это для чего сказал?
Ты используешь скрипт? У тебя в каких-то случаях возникают ошибки? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 26, 2011 19:27 Post subject: |
|
|
Batya wrote: | Ты это для чего сказал? | Для призыва поправить скрипт. Будто не понятно. Batya wrote: | Ты используешь скрипт? У тебя в каких-то случаях возникают ошибки? | Первый, возможно, пригодится. Я его проверял только в одном месте. Работает. А что это меняет? |
|
Back to top |
|
 |
Jonmey
Joined: 27 Sep 2010 Posts: 45
|
(Separately) Posted: Wed Jan 26, 2011 20:09 Post subject: |
|
|
Batya
Скрипт отличный и работает чудесно, существенно упрощая ряд задач.
Спасибо большое-пребольшое! |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Wed Jan 26, 2011 20:24 Post subject: |
|
|
Jonmey wrote: | существенно упрощая ряд задач | Например, каких? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2227 Location: Москва, Россия
|
(Separately) Posted: Thu Jan 27, 2011 10:23 Post subject: |
|
|
Flasher wrote: | Для призыва поправить скрипт. |
Flasher wrote: | Я его проверял только в одном месте. Работает. |
Если всё работает, то зачем править?
С чего ты взял, что будут какие-то проблемы на различных ОС? Ты знаешь, как MS раскручивает используемый мной метод объекта FileSystemObject?
Думаю, что неопредлённые проблемы надо решать при их появлении, а не настраивать проблем, где их никогда не было.
Flasher wrote: | Например, каких? |
У каждого могут быть свои узкоспециализированные задачи. "Будто не понятно." _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jan 27, 2011 10:46 Post subject: |
|
|
Batya wrote: | С чего ты взял, что будут какие-то проблемы на различных ОС? | Я ничего не брал, так задача была обрисована:
Jonmey wrote: | Unicode или Win-1251 (или ANSI, то есть равный локали системы) |
Batya wrote: | Ты знаешь, как MS раскручивает используемый мной метод объекта FileSystemObject? | Ну, расскажи. Зачем было писать про два режима подхвата кодировки, если с единожды указанным всё будет работать аналогично? Batya wrote: | У каждого могут быть свои узкоспециализированные задачи. "Будто не понятно." | Совершенно очевидно, что непонятно, иначе бы не спрашивал. Или мне запрещается для себя найти в этом какую-то пользу? Вопрос адресован другому, заметь. Дай возможность ему и ответить. Если предложишь способы того, где и как подобные списки можно использовать, буду признателен. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2227 Location: Москва, Россия
|
(Separately) Posted: Thu Jan 27, 2011 11:01 Post subject: |
|
|
Flasher wrote: | Batya писал(а):
Ты знаешь, как MS раскручивает используемый мной метод объекта FileSystemObject?
Ну, расскажи. Зачем было писать про два режима подхвата кодировки, если с единожды указанным всё будет работать аналогично? |
Я тоже не знаю. Поэтому и спрашиваю у тебя, есть ли живые примеры различных вариантов работы.
А так как меня спросили, я привел ответ из справки:
Quote: | object.CreateTextFile(filename[, overwrite[, unicode]])
...
unicode
Optional. Boolean value that indicates whether the file is created as a Unicode or ASCII file. The value is true if the file is created as a Unicode file, false if it's created as an ASCII file. If omitted, an ASCII file is assumed. |
Возможно, для вопрошающего это именно то, что нужно. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jan 27, 2011 11:11 Post subject: |
|
|
Batya
Есть одна ось с юникодом, когда появится возможность выйти на неё, проверю с опущенным третьим параметром. |
|
Back to top |
|
 |
Jonmey
Joined: 27 Sep 2010 Posts: 45
|
(Separately) Posted: Thu Jan 27, 2011 15:55 Post subject: |
|
|
Про ANSI я упомянул, поскольку не знал, как проще сделать в скрипте - задать кодировку жестко или не жестко (согласно локали), но при этом чтобы была возможность перехода на Unicode. Меня устраивало оба варианта, но конечное решение я оставил за программистом.
Скрипт используется в системе бэкапов и восстановления, поскольку (как это ни странно) ни один из четырех мне известных плагинов для TC, создающих списки файлов, не создает списки такого вида (видимо из-за стремления авторов уменьшить размер конечного файла). А пользоваться штатными средствами ТС для этого крайне неудобно (по крайней мере, если это приходится делать регулярно).
Конечно, если задаться целью, то наверняка можно найти стороннюю утилиту, создающую подобные списки, но ее использование будет существенно менее удобным чем скрипт. |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|