View previous topic :: View next topic |
Author |
Message |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Tue Nov 10, 2009 17:42 Post subject: |
|
|
Batya, спасибо! как всегда выручаешь, есть правда несколько пожеланий по улучшению скрипта:
1. возможность добавления ещё замен, т.е. создания списка
soft_not_tested=soft_on_dvd
mp3_not_sorted=mp3_on_dvd
и т.д.
актуально и в том случае, когда хочется открыть не только "soft_on_dvd" из "soft_not_tested", а также "soft_not_tested" из "soft_on_dvd"
2. возможность выбора поведения скрипта в случае когда папки с предпологаемым путём нет
вариант 1: создать папку по предполагаемуму пути
вариант 2: такой, какой существует сейчас и первоначально о нём просил, т.е. открывается возможный нижний уровень
3. если путь активной вкладки не содержит ни одного из указанных папок, то лучше чтобы никак действий скрипт не производил (в данном случае в соседней папке открывается либо корневой каталог диска (если содержаться пробелы в пути активной вкладки) либо тот же путь)
самое приоритетное пожелание 1ое, остальные не столь значимы |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue Nov 10, 2009 18:16 Post subject: |
|
|
laburj wrote: | 1. возможность добавления ещё замен, т.е. создания списка
soft_not_tested=soft_on_dvd
mp3_not_sorted=mp3_on_dvd |
Добавляй, сколько хочешь:
Code: | ' Массив заменяемых значений
Repl.Add "soft_not_tested", "soft_on_dvd"
Repl.Add "mp3_not_sorted", "mp3_on_dvd" |
laburj wrote: | актуально и в том случае, когда хочется открыть не только "soft_on_dvd" из "soft_not_tested", а также "soft_not_tested" из "soft_on_dvd" |
А вот с этим сложнее. Замена части пути производится последовательно в порядке заполнения массива Repl. Сделать , как ты хочешь можно, но тогда это будет предполагать возможность только одной замены в одном пути. Т.е. если хоть раз что-то нашли, то прекращаем поиск. Так устроит?
laburj wrote: | вариант 2: такой, какой существует сейчас и первоначально о нём просил, т.е. открывается возможный нижний уровень |
А сейчас это разве не работает?
laburj wrote: | вариант 1: создать папку по предполагаемуму пути |
Это можно. Вариант работы прописать жетстко в скрипте или передавать параметром? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Tue Nov 10, 2009 18:58 Post subject: |
|
|
Batya wrote: | тогда это будет предполагать возможность только одной замены в одном пути. Т.е. если хоть раз что-то нашли, то прекращаем поиск. Так устроит? |
да, устроит! больше одной замены в пути и не требуется! Batya wrote: | А сейчас это разве не работает? |
этот вариант работает, я просто написал, какие возможные варианты хотелось бы видеть
Batya wrote: | Это можно. Вариант работы прописать жетстко в скрипте или передавать параметром? |
принципиальной разницы нет, удобнее в использовании думаю вариант с передаваемым параметром, но пусть будет так, как легче сделать |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Wed Nov 11, 2009 12:51 Post subject: |
|
|
laburj wrote: | в данном случае в соседней папке открывается либо корневой каталог диска (если содержаться пробелы в пути активной вкладки) |
Этого не должно быть. У тебя в параметрах "%P" в кавычках?
Хотелки реализованы - поправлен исходный скрипт.
laburj wrote: | принципиальной разницы нет, удобнее в использовании думаю вариант с передаваемым параметром, но пусть будет так, как легче сделать |
Сделал через переменную в скрипте - IsCreate может принимать значения True\False. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Wed Nov 11, 2009 14:02 Post subject: |
|
|
Batya wrote: | Этого не должно быть. У тебя в параметрах "%P" в кавычках? |
ты прав, кавычки не поставил..
Batya wrote: | Хотелки реализованы - поправлен исходный скрипт. |
спасибо, всё работает гуд!
очень удобно использовать скрипт, когда не помнишь точно в какой находится папке: в папке с протестированным софтом или нет/ в папке с прослушенной музыкой или нет.. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue Nov 24, 2009 19:03 Post subject: |
|
|
Tol!k wrote: | 2. Нужна возможность задания порядкового номера разделителя, который при обработке имени файла будет преобразован в "\". Делать это передаваемыми параметром, например так
Код:
01 для получения abc_de\abc_de_fghi_jk.ext
1 для получения abc\abc_de_fghi_jk.ext
111 для получения abc\de\fghi\abc_de_fghi_jk.ext
011 для получения abc_de\fghi\abc_de_fghi_jk.ext |
Сделал здесь. Только в переделанном варианте может глючить со "сдвоенными" параметрами. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Nov 24, 2009 19:24 Post subject: |
|
|
Batya
Спасибо :)
Quote: | может глючить со "сдвоенными" параметрами | Э-э, со сдвоенными разделителями? |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Wed Nov 25, 2009 00:36 Post subject: |
|
|
Tol!k wrote: | Э-э, со сдвоенными разделителями? |
Ну конечно. Опечатался.
Добавлено:
Да, забыл написать. В новом варианте должно нормально работать, если один разделитель состоит из символов, набор которых уже есть в другом разделителе. Например, будет работать при разделителях " -- \ - \--\-". Только перечень разделителей надо указывать в порядке от более сложного к более простому. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
|
Back to top |
|
 |
Zorroz

Joined: 16 Dec 2004 Posts: 308 Location: Россия, Иркутская обл., г. Ангарск
|
(Separately) Posted: Sat Jan 02, 2010 14:01 Post subject: |
|
|
Есть доковский файл. Содержание две страницы. Цель: одной кнопкой печатать первую страницу, второй кнопкой печатать вторую страницу.
Всех С наступившим новым годом. _________________ Когда ангелу обрезают крылья, он учится летать на метле... |
|
Back to top |
|
 |
SVM
Joined: 16 Oct 2008 Posts: 47
|
(Separately) Posted: Mon Jan 25, 2010 15:44 Post subject: |
|
|
Batya wrote: | Код:'=======================================================
' Создание текстового файла с содержимым буфера обмена
'=======================================================
Option Explicit
Dim FileName
'========== Изменяемые параметры =======================
FileName = "descript.txt" 'Имя создаваемого файла
'=======================================================
Dim TCS, Clip, Btn, FSO, OTL, Mess, Title
Set TCS = CreateObject("TCScript.Helper")
Clip = TCS.GetTextFromClip
Set TCS = Nothing
If Len(Clip) > 0 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(FileName) Then
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Заменить содержимое файла " & FileName & _
" текстом из буфера обмена?" & vbNewLine
Title = "Замена содержимого файла"
Else
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Создать файл " & FileName & _
" с содержимым буфера обмена?" & vbNewLine
Title = "Создание текстового файла"
End If
Btn = MsgBox(Mess, vbYesNo + vbQuestion, Title)
If Btn = 7 Then 'Кнопка No
Set FSO = Nothing
WScript.Quit
End If
Else
WScript.Quit
End If
Set OTL = FSO.OpenTextFile(FileName, 2, True)
OTL.Write Clip
OTL.Close
Set OTL = Nothing
Set FSO = Nothing
WScript.Quit |
Приветствую всех.
При запуске открывается окно:
Бyфep oбмeнa coдepжит тeкcт.
Coздaть фaйл descript.txt c coдepжимым бyфepa oбмeнa?
Варианты ответа - Дa - Heт
Можно ли сделать чтобы не выводилось окно а сразу создавался текстовой файл с содержимым буфера обмена?
И ещё один вопрос:
Как сделать кнопку создать ярлык (рабочий стол), без Ярлык для "название программы", а только название программы?
Спасибо. |
|
Back to top |
|
 |
Bubek
Joined: 21 Jul 2007 Posts: 20
|
(Separately) Posted: Mon Jan 25, 2010 16:23 Post subject: |
|
|
Добрый день, имеется вот такой срипт, который добавляет в начало файла текущую дату:
' Copyright (c) 2006, Volniy
Option Explicit
Dim FSO, StreamFile, theFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not StreamFile.AtEndOfStream
Set theFile = FSO.GetFile(StreamFile.ReadLine)
Dim M,D
M=Month(Date): If M<10 Then M= "0" & M
D=Day(Date): If D<10 Then D= "0" & D
theFile.Name = Year(Date) & "." & M & "." &D&"_" & theFile.Name
Loop
Set StreamFile = Nothing
Set FSO = Nothing
Wscript.Quit()
Файл создается вида:
2010.01.25_файл1.zip
но если такой уже существует, то есть если применить скрипт к файлу файл1.zip, то выскакивает ошибка "файл уже существует",
как бы сделать так, чтобы при наличии файла с создаваемым именем создавался файл 2010.01.25_2_файл1.zip, а если есть и такой, то 2010.01.25_3_файл1.zip и так далее. |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2224 Location: Москва, Россия
|
(Separately) Posted: Tue Jan 26, 2010 19:51 Post subject: |
|
|
SVM wrote: | Можно ли сделать чтобы не выводилось окно а сразу создавался текстовой файл с содержимым буфера обмена? |
Замени строку
Code: | Btn = MsgBox(Mess, vbYesNo + vbQuestion, Title) |
на
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Wed Jan 27, 2010 02:25 Post subject: |
|
|
Bubek wrote: | как бы сделать так, чтобы при наличии файла с создаваемым именем создавался файл 2010.01.25_2_файл1.zip, а если есть и такой, то 2010.01.25_3_файл1.zip и так далее. |
Code: | ' Copyright (c) 2010, Volniy
Option Explicit
Dim FSO, StreamFile, theFile
Dim M,D, sDate, Cnt : Cnt = 2
Set FSO = CreateObject("Scripting.FileSystemObject")
Set StreamFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Do While Not StreamFile.AtEndOfStream
Set theFile = FSO.GetFile(StreamFile.ReadLine)
M=Month(Date): If M<10 Then M= "0" & M
D=Day(Date): If D<10 Then D= "0" & D
sDate = Year(Date) & "." & M & "." & D &"_"
If FSO.FileExists(FSO.BuildPath(theFile.ParentFolder, sDate & theFile.Name)) Then
Do While FSO.FileExists(FSO.BuildPath(theFile.ParentFolder, sDate & CStr(Cnt) _
& "_" & theFile.Name)) = True
Cnt = Cnt + 1
Loop
theFile.Name = sDate & CStr(Cnt) & "_" & theFile.Name
Else
theFile.Name = sDate & theFile.Name
End If
Loop
Set theFile = Nothing
Set StreamFile = Nothing
Set FSO = Nothing
WScript.Quit()
|
|
|
Back to top |
|
 |
Bubek
Joined: 21 Jul 2007 Posts: 20
|
(Separately) Posted: Wed Jan 27, 2010 10:36 Post subject: |
|
|
Спасибо. работает.
P.S. для тех кто будет использовать скрипт: в кнопке нужно написать параметр "%L" |
|
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
|