Новый файлик ...

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Новый файлик ...

Сообщение Yurbanizator »

Задача: необходимо расположить на панели кнопочку, или пару кнопочек, что бы при нажатии в выбранном каталоге появлялся допустим новый текстовый файлик new.txt или же файл new.html с уже созданным заренее шаблончиком.

Вопрос: как это реализовать в ТС???

[mod="Avada"]С учётом характера и предмета последующей дискуссии дальнейшее нахождение этой темы в подфоруме "Секреты и советы" сочтено нецелесообразным. Тема переносится в "Автоматизацию".[/mod]
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Уже обсуждалось, ответ тут: http://tckb.megabyte-web.ru/content/view/401/93/
Исполнение немного другое, но суть та же, разница в том, что надо не хоткей настраивать, а кнопку.
Аватара пользователя
BeTeP
Сообщения: 135
Зарегистрирован: Чт мар 31, 2005 00:57
Откуда: Санкт-Петербург

Сообщение BeTeP »

Если я правильно понял, то ему надо создать не пустой файл, а шаблон, т.е. в файле уже должна быть записана определенная информация.
«The Truth Is Out There»
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

BeTeP писал(а):Если я правильно понял, то ему надо создать не пустой файл, а шаблон, т.е. в файле уже должна быть записана определенная информация.
Да совершенно верно, должен быть не пустой файл а файл, содержащий некий заранее подготовленный шаблон.
Так например, new.htm должен содержать

Код: Выделить всё

<html>
<head>
	<title>Untitled</title>
</head>

<body>

Hello World!

</body>
</html>
[/code]
Аватара пользователя
StrangeRRor
Сообщения: 214
Зарегистрирован: Сб июл 15, 2006 13:16

Сообщение StrangeRRor »

Для примера с HTML можно написать bat-файл следующего содержания:

Код: Выделить всё

@echo off
set OUTPUTFILE=%1
echo ^<html^> >%OUTPUTFILE%
echo ^<head^> >>%OUTPUTFILE%
echo ^<title^>Untitled^</title^> >>%OUTPUTFILE%
echo ^</head^> >>%OUTPUTFILE%
echo ^<body^> >>%OUTPUTFILE%
echo Hello World! >>%OUTPUTFILE%
echo ^</body^> >>%OUTPUTFILE%
echo ^</html^> >>%OUTPUTFILE%
Добавить на панель кнопку для этого файла с параметром "?", например, для того что бы задавать нужное имя файла-результата.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

С копированием шаблона все очень хорошо получилось, цель достигнута. Только возможно ли сделать так что бы при выполнении батника командная строка не мелькала? echo off хоть и минимизирует отображение комманд, но все же окошко успевает промелькнуть...
Это хоть и не обязательно, но вот бы довести до идеала...
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

То же самое можно написать и на VBS, без всяких досовских окошек. Но это к нашим скриптописателям, я в VBS не силён.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

Да действительно, я об этом как то сразу и не подумал...
Стоит попробовать, с vbs немного знаком...
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Сохранить как VBS-файл, параметром передавать имя файла

Код: Выделить всё

Dim fso, F
Set fso = CreateObject("scripting.filesystemobject")
F = WScript.Arguments(0)
Set F=fso.OpenTextFile(F, 2, True)
F.WriteLine("<html>") 
F.WriteLine("<head>") 
F.WriteLine("<title>Untitled</title>") 
F.WriteLine("</head>") 
F.WriteLine("<body>")
F.WriteBlankLines(1) 
F.WriteLine("Hello World!") 
F.WriteBlankLines(1) 
F.WriteLine("</body>") 
F.WriteLine("</html>")
Set F=Nothing
Set fso=Nothing
WScript.Quit
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

Благодарю за скриптик, но дело в том что этот скрипт сам записывает в файл все строки HTML кода.
А как сделать так что бы был в отдельной папке заранее заготовленный шаблон, и при помощи скрипта это файл копировался в текущий каталог? Вот вопрос.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Yurbanizator писал(а):А как сделать так что бы был в отдельной папке заранее заготовленный шаблон, и при помощи скрипта это файл копировался в текущий каталог? Вот вопрос.
Рази ж ето вопрос :) А говорил ведь, что
Yurbanizator писал(а):с vbs немного знаком..

Код: Выделить всё

Dim fso
Const Template="буква диска:\путь к файлу шаблона\template.html" 
Set fso = CreateObject("scripting.filesystemobject") 
fso.CopyFile Template, WScript.Arguments(0), True  
Set fso=Nothing 
WScript.Quit
Хотя скрипт тут нафиг не нужен, ведь команду Copy еще пока никто не отменял. Имхо разумнее ее задействовать, прямо в кнопке.
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

Знаком немного. Давно писал чегоТо... Покопался в справочнике и вспомнил мож чего к чему... но уже опередили. Благодарю..
Аватара пользователя
Yurbanizator
Сообщения: 26
Зарегистрирован: Ср дек 13, 2006 22:44

Сообщение Yurbanizator »

Хотя скрипт тут нафиг не нужен, ведь команду Copy еще пока никто не отменял. Имхо разумнее ее задействовать, прямо в кнопке
Пробовал не получилось...
Ваш скрипт не захотел работать , пока не переименовал переменную в objFSO!!!
Но вот незадача ... файл копируется, но в ТС не отображается пока не обновишь окошко директории! Что делать?
Аватара пользователя
D1P
Сообщения: 2987
Зарегистрирован: Пн дек 20, 2004 18:30
Откуда: Тбилиси
Контактная информация:

Сообщение D1P »

Но вот незадача ... файл копируется, но в ТС не отображается пока не обновишь окошко директории! Что делать?
Слать TC команду cm_RereadSource, но хз, можно ли это сделать средствами VBS. С использованием ScriptHelper - точно можно.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Yurbanizator писал(а):Пробовал не получилось...
Ваш скрипт не захотел работать , пока не переименовал переменную в objFSO!!!
Послушай совет старика - никогда не садись за комп под шофе :wink: Чревато...
Yurbanizator писал(а):Но вот незадача ... файл копируется, но в ТС не отображается пока не обновишь окошко директории! Что делать?
http://forum.wincmd.ru/viewtopic.php?p=13013#13013
Ответить