Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Кнопка для создания файла

Q: Подскажите, как в панели инструментов сделать кнопку, которая в открытой на данный момент директории, создавала бы новый текстовый файл (*.txt), чтобы каждый раз не делать это через контекстное меню. Что-то типа cm_CreateFile...
A: Я сделал так: сделал кнопку с текстовым редактором (у меня Bred3), и в параметрах прописал %pNewFile.txt. При нажатии на эту кнопку Bred спрашивает, создать ли файл (название NewFile.txt само собой).
З.Ы. Хоткей в TC Shift+F4 тоже очень удобен.

Павел Дубровский


Q: Можно ли сделать так, чтобы при нажатии на эту кнопку проверялось наличие файла с именем NewFile.txt, и, если он существует, то к имени нового файла добавлялся порядковый номер (NewFile01.txt, NewFile02.txt и т.д.)?
A: Создай файл *.vbs (например, %COMMANDER_PATH%\Utils\WHS\OpenWithNextNumber.vbs) с содержимым:

Dim Akelpad, FilePath, WS
Akelpad = WScript.Arguments(0)
FilePath = WScript.Arguments(1)
Set WS = WScript.CreateObject("WScript.Shell")
WS.Run """" & Akelpad & """ """ & NextName(FilePath) & """"
Set WS = Nothing
WScript.Quit()

Function NextName(pFilePath)
Dim FSO, Path, Name, Ext, i, Ending
Set FSO = CreateObject("Scripting.FileSystemObject")
Path = FSO.GetParentFolderName(pFilePath) & "\"
Name = FSO.GetBaseName(pFilePath)
Ext = FSO.GetExtensionName(pFilePath)
Do While FSO.FileExists(Path & Name & Ending & "." & Ext)
i = i + 1
Ending = Right("0" & i, 2)
Loop
Set FSO = Nothing
NextName = Path & Name & Ending & "." & Ext
End Function
Соответственно, кнопка:

Код кнопки
TOTALCMD#BAR#DATA:
%COMMANDER_PATH%\Utils\WHS\OpenWithNextNumber.vbs %COMMANDER_PATH%\Programs\AkelPad\akelpad.exe
%pNewFile.txt
%COMMANDER_PATH%\Programs\AkelPad\akelpad.exe
Создание файла в активной панели

-1

Batya