Страница 1 из 4

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

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

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

[mod="Avada"]С учётом характера и предмета последующей дискуссии дальнейшее нахождение этой темы в подфоруме "Секреты и советы" сочтено нецелесообразным. Тема переносится в "Автоматизацию".[/mod]

Добавлено: Чт дек 14, 2006 00:20
D1P
Уже обсуждалось, ответ тут: http://tckb.megabyte-web.ru/content/view/401/93/
Исполнение немного другое, но суть та же, разница в том, что надо не хоткей настраивать, а кнопку.

Добавлено: Чт дек 14, 2006 01:20
BeTeP
Если я правильно понял, то ему надо создать не пустой файл, а шаблон, т.е. в файле уже должна быть записана определенная информация.

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

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

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

<body>

Hello World!

</body>
</html>
[/code]

Добавлено: Чт дек 14, 2006 14:31
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%
Добавить на панель кнопку для этого файла с параметром "?", например, для того что бы задавать нужное имя файла-результата.

Добавлено: Пт дек 15, 2006 20:07
Yurbanizator
С копированием шаблона все очень хорошо получилось, цель достигнута. Только возможно ли сделать так что бы при выполнении батника командная строка не мелькала? echo off хоть и минимизирует отображение комманд, но все же окошко успевает промелькнуть...
Это хоть и не обязательно, но вот бы довести до идеала...

Добавлено: Пт дек 15, 2006 20:56
D1P
То же самое можно написать и на VBS, без всяких досовских окошек. Но это к нашим скриптописателям, я в VBS не силён.

Добавлено: Пт дек 15, 2006 21:01
Yurbanizator
Да действительно, я об этом как то сразу и не подумал...
Стоит попробовать, с vbs немного знаком...

Добавлено: Сб дек 16, 2006 01:50
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

Добавлено: Сб дек 16, 2006 17:55
Yurbanizator
Благодарю за скриптик, но дело в том что этот скрипт сам записывает в файл все строки HTML кода.
А как сделать так что бы был в отдельной папке заранее заготовленный шаблон, и при помощи скрипта это файл копировался в текущий каталог? Вот вопрос.

Добавлено: Сб дек 16, 2006 18:53
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 еще пока никто не отменял. Имхо разумнее ее задействовать, прямо в кнопке.

Добавлено: Сб дек 16, 2006 19:00
Yurbanizator
Знаком немного. Давно писал чегоТо... Покопался в справочнике и вспомнил мож чего к чему... но уже опередили. Благодарю..

Добавлено: Сб дек 16, 2006 20:04
Yurbanizator
Хотя скрипт тут нафиг не нужен, ведь команду Copy еще пока никто не отменял. Имхо разумнее ее задействовать, прямо в кнопке
Пробовал не получилось...
Ваш скрипт не захотел работать , пока не переименовал переменную в objFSO!!!
Но вот незадача ... файл копируется, но в ТС не отображается пока не обновишь окошко директории! Что делать?

Добавлено: Сб дек 16, 2006 21:51
D1P
Но вот незадача ... файл копируется, но в ТС не отображается пока не обновишь окошко директории! Что делать?
Слать TC команду cm_RereadSource, но хз, можно ли это сделать средствами VBS. С использованием ScriptHelper - точно можно.

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