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

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

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

Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

я бы вместо %pNewFile.txt использовал "%PNewFile.txt"
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Тема перенесена из "Общих вопросов" в "Автоматизацию".
Даже самая богатая фантазия
Не представит себе наши безобразия.
Dioxin
Сообщения: 2
Зарегистрирован: Вс апр 21, 2013 17:16

Сообщение Dioxin »

Спасибо! Кавычки помогли. Теперь в любых папках всё корректно создается.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

Заметил еще одну тонкость.
Вместо AkelPad действительно можно подставлять и др. редакторы, например, PSPad или Notepad++. Все работает. Но именно PsPad не спрашивает подтверждение на создание файла даже с первоначальным вариантом скрипта от Batya (без поправки от Flasher).
И еще. Если использовать AkelPad, то он сначала создает файл, а потом, если нужно сохраняет. Поэтому, если передумать и нажать Esc, то все равно будем иметь пустой текстовый файл размером, естественно, 0 байт.
А вот с PSPad ситуация иная — если нажать Esc и отменить всю эту процедуру, то пустой файл не создается. Мне кажется, такой вариант лучше, чем удалять потом ненужный пустой файл.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Афи писал(а):без поправки от Flasher
Она PsPad и не касалась.
Афи писал(а):Если использовать AkelPad, то он сначала создает файл, а потом, если нужно сохраняет.
Не подтверждаю. Может, версия старая?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

AkelPad последней версии — 4.9.8 х32.
Командная строка:

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

%Commander_path%\...\OpenWithNextNumber.vbs %COMMANDER_PATH%\...\AkelPad\AkelPad.exe
Параметры:

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

"%pReadMe.txt"
Скрипт OpenWithNextNumber.vbs (от Batya):

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

Dim Akelpad, FilePath, WS
Akelpad = WScript.Arguments(0)
FilePath = WScript.Arguments(1)
Set WS = WScript.CreateObject("WScript.Shell")
WS.Run """" & Akelpad & """ /C+ """ & 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
TC: v. 9.0a x32
Windows: 7x64
Создается пустой файл и открывается в AkelPad на редактирование. Естественно, если нажать Esc и прервать процедуру, то пустой и ненужный файл остается :(
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Афи писал(а):Естественно, если нажать Esc
В какой момент нажать, коли диалогов никаких не выводится?

Кстати говоря, функция тут плохая. Вот как это правильно делается.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

Верно, диалоговых окон нет. Я имею в виду, если нажать Esc сразу же после запуска AkelPad. Программа запущена, чистая страница, курсор мигает в начале верхней строки. И в этот момент, не набирая никакого текста, нажать Esc. Остается пустой файл ReadMe.txt (в моем случае).
Вот как это правильно делается.
Хороший скрипт. Но у меня почему-то при его выполнении активируется клавиша Num Lock.
Последний раз редактировалось Афи Пт дек 30, 2016 16:14, всего редактировалось 1 раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Так всё логично. После запуска созданный файл открывается. В заголовке окна видим его имя. Esc только лишь закрывает вкладку открытого файла и больше ничего. Какое ещё может ожидаться поведение? PsPad же не удаляет файл с закрытием вкладки. Правда ведь? :wink:
Афи писал(а):Но у меня почему-то при его выполнении активируется клавиша Num Lock.
На Ctrl (+ Shift) + R ничего такого не назначено?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

Действительно, все логично. Но иногда не очень удобно.
И как бы странно это не звучало, с PsPad получается странная история. Запускаю, получаю такое:
Изображение
Смотрю на диск — файла нету! В строке заголовка в PsPad он есть, но на диске его нету! Нажимаю Esc — и, вуаля! — ничего нет! Понимаю, поведение, нелогичное, но удобно! Как это оно так делается, не знаю. Я бы с удовольствием перешел на AkelPad (легче он, запускается быстрее, да и, так сказать, производителя своего поддержать), но у него поведение логичное :) Странно, да?
На Ctrl (+ Shift) + R ничего такого не назначено?
В TC или глобально в Windows? В Windows ничего такого, а в TC — стандартное сочетание:
CTRL+R — Reread source directory
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

PsPad, как я понял, просто добавляет в квадратные скобки заголовка последний параметр (хоть "блаблабла") комстроки. Если там нет пути, то с подтверждением сохранит в корень своей папки, если есть, то в него.
В общем, к скриптам всё это дело отношения не имеет. Это касается исключительно поведения редакторов (на вкус и цвет). Но для скрипта стоит задача создавать файл с открытием редактора, а не просто открывать редактор.
Афи писал(а):В Windows ничего такого, а в TC — стандартное сочетание:
А если без скобок?
Последний раз редактировалось Flasher Пт дек 30, 2016 17:21, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

А если без скобок?
Не совсем понял... Имеется в виду Ctrl+Shift+R? Если да, то в ТС на это сочетание ничего не подвешено...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

При такой правке изменится поведение?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Афи
Сообщения: 132
Зарегистрирован: Пт янв 29, 2010 12:55
Откуда: Одесса

Сообщение Афи »

При такой правке изменится поведение?
Еще как!
Все работает, классный скрипт! Но, смотрю, почему-то сортировка в панели изменилась. У меня была по типу и вдруг стала по имени. Значит, Ctrl+F3 нажалось :wink:
Flasher, спасибо вам за хороший скрипт (я посмотрю на досуге, может, что подправлю, хотя и позабывал всё уже...).
С Новым Годом! :D
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Афи писал(а):У меня была по типу и вдруг стала по имени. Значит, Ctrl+F3 нажалось
Ерунда какая-то. А что за система-то?
С Новым! Изображение
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить