Volniy

|
Posted: Sun Nov 27, 2005 19:12 Post subject: |
|
|
Zorroz wrote: | Batya
Данный скрипт заработал, после того как я в параметрах кнопки указал «%p» вместо «%P». Но стихи(они же файлы) сортируются не по алфавиту, и у названия стихотворения стоит «.txt» Как можно сделать чтобы они сортировались по алфавиту(т.е. также как видны файлы в панели) и как избавиться от «.txt» после названия стихотворения. |
Если бы указал %P в кавычках, то все бы работало нормально. Что касается нового запроса (ты ничего раньше не говорил о сортировке), то вот тебе другой вариант, который работает со списком выделенных файлов (а значит его можно приспособить и для использования с результатами поиска и brachview). Обрати внимание, что параметра теперь два и оба лучше написать в кавычках!
Code: | '===============================================================
' Формирование файла с содержимым выделенных
' файлов на панели
' В параметрах вызова из TC должно быть прописано:
' "%P" "%L" (именно в кавычках!)
'===============================================================
Option Explicit
Dim FSO, NewFileOpen, DirFiles
Dim FileList, LstTS
Dim CurDirObj, Path_NewFile
Dim TS, ScanFile, CurrentDir
Set FSO = CreateObject("Scripting.FileSystemObject")
CurrentDir = WScript.Arguments(0)
FileList = WScript.Arguments(1)
Set CurDirObj = FSO.GetFolder(CurrentDir)
Path_NewFile = FSO.BuildPath(CurDirObj.Path, FSO.GetBaseName(CurDirObj) & ".txt")
If FSO.FileExists(Path_NewFile) Then
Dim res
If vbYes <> MsgBox("Файл " & Path_NewFile & " уже существует. Перезаписать его?", _
vbYesNo + vbExclamation, "Внимание!") Then
WScript.Quit
End If
End If
Set LstTS = FSO.OpenTextFile(FileList, 1)
Set NewFileOpen = FSO.CreateTextFile(Path_NewFile, True)
Do While Not (LstTS.atEndOfStream)
Set ScanFile = FSO.GetFile(LstTS.ReadLine)
With NewFileOpen
.WriteLine "================================"
.WriteLine FSO.GetBaseName(ScanFile.Name)
.WriteLine "--------------------------------"
.WriteLine
Set TS = ScanFile.OpenAsTextStream(1)
.Write TS.ReadAll
TS.Close
.WriteBlankLines (4)
End With
Loop
LstTS.Close
NewFileOpen.Close
MsgBox "Создан файл " & Path_NewFile & " с содержимым выделенных файлов.", _
vbInformation, "Результат"
Set CurDirObj = Nothing
Set NewFileOpen = Nothing
Set TS = Nothing
Set LstTS = Nothing
Set FSO = Nothing
WScript.Quit
'===============================================================
|
|
|