как скопировать в буфер имя без расширения?

Форум о самом популярном файловом менеджере Total Commander

Сообщение leopold » Сб окт 09, 2004 9:18 am

TC можно настроить так, чтобы при переименовании файла выделялось по умолчанию только имя файла без расширения. Но и при такой конфигурации TC команда "copy names" копирует имя вместе с расширением. А нельзя ли как-то хитро придумать так, чтобы по определенному хоткею копировалось только имя, без расширения?
leopold
Рядовой
 
Сообщений: 6
Зарегистрирован: Пт окт 08, 2004 6:15 pm
Пункты репутации: 0

Сообщение Batya » Пн окт 11, 2004 8:13 am

2leopold
Можно написать скриптик на VBS.
Код: выделить все
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TempFile = FSO.OpenTextFile(WScript.Arguments(0), 1)
Dim Buffer
Do While Not TempFile.AtEndOfStream
 Set SelFile = FSO.GetFile(TempFile.ReadLine)
 FileName = SelFile.Name
 DotInName = InstrRev(FileName, ".")
 If DotInName <> 0 Then
   FileName = Left(FileName, DotInName - 1)
 End If
 Buffer = Buffer + FileName + chr(13)
Loop
Buffer = Left(Buffer, Len(Buffer) - 1)
Set Clip = CreateObject("ClipboardHelper.cClipboard")
Clip.SetText Buffer

Вызываешь файл *.vbs, в котором прописан этот код, с параметром %L.
Внимание: В скрипте используется компонент ClipboardHelper - <a href='http://www.promsoft.ru/index.php?action=topics&topic_id=20&page_id=22' target='_blank'>Clipboard Helper для vbs</a>
Регистрируется строкой
regsvr32 ClipboardHelper.dll
Последний раз редактировалось Batya Пн окт 11, 2004 8:16 am, всего редактировалось 1 раз.
Batya
Ст. лейтенант
 
Сообщений: 146
Зарегистрирован: Вт апр 29, 2003 8:28 am
Откуда: Москва
Пункты репутации: 0

Сообщение Leopoldus » Пн окт 11, 2004 7:19 pm

<!--QuoteBegin-Batya+Oct 11 2004, 11:13--><div class='quotetop'>QUOTE(Batya @ Oct 11 2004, 11:13)</div><div class='quotemain'><!--QuoteEBegin-->Внимание: В скрипте используется компонент ClipboardHelper - Clipboard Helper для vbs<!--QuoteEnd--></div><!--QuoteEEnd--> Спасибо. Хотел попробовать, но возник один очень примитивный вопрос: а куда этот файл ClipboardHelper.dll помещать на диске? На странице автора тоже не написано. Видно, программеры считают ответ на этот вопрос само собой разумеющимся, но я-то, увы, отношусь к другой, худшей половине человечества <!--emo&:P-->[img]style_emoticons/<#EMO_DIR#>/tongue.gif[/img]<!--endemo-->
Лучше уж как лучше, чем больше, чем больше.
Leopoldus
Лейтенант
 
Сообщений: 109
Зарегистрирован: Пн фев 02, 2004 2:40 pm
Пункты репутации: 0

Сообщение Batya » Вт окт 12, 2004 6:13 am

2Leopoldus
<!--QuoteBegin--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--QuoteEBegin-->а куда этот файл ClipboardHelper.dll помещать на диске?<!--QuoteEnd--></div><!--QuoteEEnd-->
Да куда угодно. Если поместишь в каталог, прописаный в PATH в autoexec.bat, то dll регистрируется указанной выше командой. Иначе dll надо регистрировать с полным путем, например:
regsvr32 C:\ClipboardHelper\ClipboardHelper.dll
Batya
Ст. лейтенант
 
Сообщений: 146
Зарегистрирован: Вт апр 29, 2003 8:28 am
Откуда: Москва
Пункты репутации: 0


Вернуться в Total Commander

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9