Страница 2 из 3

Добавлено: Вт июл 28, 2015 18:07
Tol!k
я бы вместо %pNewFile.txt использовал "%PNewFile.txt"

Добавлено: Вт июл 28, 2015 19:16
Avada
Тема перенесена из "Общих вопросов" в "Автоматизацию".

Добавлено: Ср июл 29, 2015 14:43
Dioxin
Спасибо! Кавычки помогли. Теперь в любых папках всё корректно создается.

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

Добавлено: Чт дек 29, 2016 20:53
Flasher
Афи писал(а):без поправки от Flasher
Она PsPad и не касалась.
Афи писал(а):Если использовать AkelPad, то он сначала создает файл, а потом, если нужно сохраняет.
Не подтверждаю. Может, версия старая?

Добавлено: Пт дек 30, 2016 09:16
Афи
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 и прервать процедуру, то пустой и ненужный файл остается :(

Добавлено: Пт дек 30, 2016 14:17
Flasher
Афи писал(а):Естественно, если нажать Esc
В какой момент нажать, коли диалогов никаких не выводится?

Кстати говоря, функция тут плохая. Вот как это правильно делается.

Добавлено: Пт дек 30, 2016 15:55
Афи
Верно, диалоговых окон нет. Я имею в виду, если нажать Esc сразу же после запуска AkelPad. Программа запущена, чистая страница, курсор мигает в начале верхней строки. И в этот момент, не набирая никакого текста, нажать Esc. Остается пустой файл ReadMe.txt (в моем случае).
Вот как это правильно делается.
Хороший скрипт. Но у меня почему-то при его выполнении активируется клавиша Num Lock.

Добавлено: Пт дек 30, 2016 16:10
Flasher
Так всё логично. После запуска созданный файл открывается. В заголовке окна видим его имя. Esc только лишь закрывает вкладку открытого файла и больше ничего. Какое ещё может ожидаться поведение? PsPad же не удаляет файл с закрытием вкладки. Правда ведь? :wink:
Афи писал(а):Но у меня почему-то при его выполнении активируется клавиша Num Lock.
На Ctrl (+ Shift) + R ничего такого не назначено?

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

Добавлено: Пт дек 30, 2016 16:57
Flasher
PsPad, как я понял, просто добавляет в квадратные скобки заголовка последний параметр (хоть "блаблабла") комстроки. Если там нет пути, то с подтверждением сохранит в корень своей папки, если есть, то в него.
В общем, к скриптам всё это дело отношения не имеет. Это касается исключительно поведения редакторов (на вкус и цвет). Но для скрипта стоит задача создавать файл с открытием редактора, а не просто открывать редактор.
Афи писал(а):В Windows ничего такого, а в TC — стандартное сочетание:
А если без скобок?

Добавлено: Пт дек 30, 2016 17:05
Афи
А если без скобок?
Не совсем понял... Имеется в виду Ctrl+Shift+R? Если да, то в ТС на это сочетание ничего не подвешено...

Добавлено: Пт дек 30, 2016 17:10
Flasher
При такой правке изменится поведение?

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

Добавлено: Сб дек 31, 2016 21:13
Flasher
Афи писал(а):У меня была по типу и вдруг стала по имени. Значит, Ctrl+F3 нажалось
Ерунда какая-то. А что за система-то?
С Новым! Изображение