Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Script Request
Goto page Previous  1, 2, 3 ... 11, 12, 13 ... 40, 41, 42  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Tue Nov 10, 2009 17:42    Post subject: Reply with quote

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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Tue Nov 10, 2009 18:16    Post subject: Reply with quote

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
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Tue Nov 10, 2009 18:58    Post subject: Reply with quote

Batya wrote:
тогда это будет предполагать возможность только одной замены в одном пути. Т.е. если хоть раз что-то нашли, то прекращаем поиск. Так устроит?

да, устроит! больше одной замены в пути и не требуется!
Batya wrote:
А сейчас это разве не работает?

этот вариант работает, я просто написал, какие возможные варианты хотелось бы видеть
Batya wrote:
Это можно. Вариант работы прописать жетстко в скрипте или передавать параметром?

принципиальной разницы нет, удобнее в использовании думаю вариант с передаваемым параметром, но пусть будет так, как легче сделать
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Wed Nov 11, 2009 12:51    Post subject: Reply with quote

laburj wrote:
в данном случае в соседней папке открывается либо корневой каталог диска (если содержаться пробелы в пути активной вкладки)

Этого не должно быть. У тебя в параметрах "%P" в кавычках?

Хотелки реализованы - поправлен исходный скрипт.

laburj wrote:
принципиальной разницы нет, удобнее в использовании думаю вариант с передаваемым параметром, но пусть будет так, как легче сделать

Сделал через переменную в скрипте - IsCreate может принимать значения True\False.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Wed Nov 11, 2009 14:02    Post subject: Reply with quote

Batya wrote:
Этого не должно быть. У тебя в параметрах "%P" в кавычках?

ты прав, кавычки не поставил..
Batya wrote:
Хотелки реализованы - поправлен исходный скрипт.

спасибо, всё работает гуд!
очень удобно использовать скрипт, когда не помнишь точно в какой находится папке: в папке с протестированным софтом или нет/ в папке с прослушенной музыкой или нет..
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Tue Nov 24, 2009 19:03    Post subject: Reply with quote

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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Nov 24, 2009 19:24    Post subject: Reply with quote

Batya
Спасибо :)

Quote:
может глючить со "сдвоенными" параметрами
Э-э, со сдвоенными разделителями?
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Wed Nov 25, 2009 00:36    Post subject: Reply with quote

Tol!k wrote:
Э-э, со сдвоенными разделителями?

Ну конечно. Опечатался.

Добавлено:
Да, забыл написать. В новом варианте должно нормально работать, если один разделитель состоит из символов, набор которых уже есть в другом разделителе. Например, будет работать при разделителях " -- \ - \--\-". Только перечень разделителей надо указывать в порядке от более сложного к более простому.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Моторокер



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

Post (Separately) Posted: Sat Dec 19, 2009 00:13    Post subject: Reply with quote

Сообщения про изменение имён файлов со скобами отделены в тему.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Zorroz



Joined: 16 Dec 2004
Posts: 308
Location: Россия, Иркутская обл., г. Ангарск

Post (Separately) Posted: Sat Jan 02, 2010 14:01    Post subject: Reply with quote

Есть доковский файл. Содержание две страницы. Цель: одной кнопкой печатать первую страницу, второй кнопкой печатать вторую страницу.
Всех С наступившим новым годом.
_________________
Когда ангелу обрезают крылья, он учится летать на метле...
Back to top
View user's profile Send private message
SVM



Joined: 16 Oct 2008
Posts: 47

Post (Separately) Posted: Mon Jan 25, 2010 15:44    Post subject: Reply with quote

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
View user's profile Send private message
Bubek



Joined: 21 Jul 2007
Posts: 20

Post (Separately) Posted: Mon Jan 25, 2010 16:23    Post subject: Reply with quote

Добрый день, имеется вот такой срипт, который добавляет в начало файла текущую дату:

' 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
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2224
Location: Москва, Россия

Post (Separately) Posted: Tue Jan 26, 2010 19:51    Post subject: Reply with quote

SVM wrote:
Можно ли сделать чтобы не выводилось окно а сразу создавался текстовой файл с содержимым буфера обмена?

Замени строку
Code:
Btn = MsgBox(Mess, vbYesNo + vbQuestion, Title)

на
Code:
Btn = vbYes

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Wed Jan 27, 2010 02:25    Post subject: Reply with quote

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
View user's profile Send private message
Bubek



Joined: 21 Jul 2007
Posts: 20

Post (Separately) Posted: Wed Jan 27, 2010 10:36    Post subject: Reply with quote

Спасибо. работает.
P.S. для тех кто будет использовать скрипт: в кнопке нужно написать параметр "%L"
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 11, 12, 13 ... 40, 41, 42  Next
Page 12 of 42

 
Jump to:  
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