Scripts discussion (3)
- Author
- Message
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
С -warnings=false теперь будет просто запрашивать новое имя.VladSh wrote:Несколько пожеланий к скрипту backupVersion.js.
1. В известном случае вылетает сообщение "Не удалось определить версию файла!", а после него новое окно, в котором задаётся имя. /Добавлено: Кстати версию можно ещё попробовать определять из такой записи: "v3.9" (доки к плагам идут в таком формате) и в таком: "v.3.9" (я иногда так пишу)/.
Можно ли так сделать, чтобы вылетало одно окно, т.е. вышеуказанный текст из первого сообщения в этом случае вставлялся бы в текст окна? Вроде что-то помнится, что в штатном InputBox'е есть ограничение на то ли количество символов, то ли на одну строку... в таком случае можно ли вообще не выдавать первое сообщение? Если вылетел диалог с предлагаемым именем файла, то это и так понятно, что инфа о версии не найдена.
Для версии без точки тоже подправил + небольшая распорка для ссылок со словами типа «version».
Речь о запросеVladSh wrote:2. Добавить возможность задания в аргументах полного отключения вывода подтверждающего диалога, - выводить только сообщение о сохранении с именем файла (какое и сейчас выводится).
?Файл «...» уже существует!
Перезаписать?
---------------------------
Да Нет Отмена
Хм, это странно, там же или из файла вытаскивается, или текущее время используется.VladSh wrote:И заметил такую странность: сначала вызывал скрипт для файла в 13:10, затем в 13:14 и в 13:15, но приставка к названию бэкап-файла почему-то отаётся "_13-10".
Upd: Ой, я гоню , берется дата модификации файла.
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
И этот диалог тоже не хотелось бы. Он выдаёт то же имя файла, а лучше бы добавлял минуты что ли...Infocatcher wrote:Речь о запросе "Файл «...» уже существует! Перезаписать?"VladSh wrote:2. Добавить возможность задания в аргументах полного отключения вывода подтверждающего диалога, - выводить только сообщение о сохранении с именем файла (какое и сейчас выводится).
А вообще я имел в виду диалог, где выдаётся имя файла для сохранения.
Т.е. в идеале хочется полный silent-mode - каждый раз даётся уникальное имя файла (если версия не меняется, то надо просто дату в конце добавлять с минутами), а в конце выводится сообщение, что файл сохранён с таким-то именем и до свидания
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Вопрос ко всем не совсем по теме
Есть простенький скрипт:из AkelPad'а он запускается идеально - файл открывается. /Также другие exe'шники, типа WinMerge и др. открываются без проблем./ Но если запустить этот же скрипт просто из файловой системы или из TotalCommander'а, то выдаёт ошибку, что типа "AkelPad не найден"...
Так и должно быть или это баг? И как с этим бороться?
Дополнение. Заметил, что у меня вообще скрипты из файловой системы не запускались, а при запуске открывались прямо в AkelPad'е. Тогда я сделал "открыть с помощью" и выбрал Wscript.exe. Скрипты запускаться стали, но возможно чего-то не доисправилось...
Есть простенький скрипт:
Code: Select all
var pToolFileName = "AkelPad.exe";
var cmdLine = "d:\\Temp\\111.txt";
var AppShell = new ActiveXObject("shell.application");
AppShell.ShellExecute(pToolFileName, cmdLine);
Так и должно быть или это баг? И как с этим бороться?
Дополнение. Заметил, что у меня вообще скрипты из файловой системы не запускались, а при запуске открывались прямо в AkelPad'е. Тогда я сделал "открыть с помощью" и выбрал Wscript.exe. Скрипты запускаться стали, но возможно чего-то не доисправилось...
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Хмм... например, прописать папку, где расположен Akelpad.exe, в системную переменную PATH или запускать скрипт рядом с AP, ну или указать абсолютный путь в скрипте к Akelpad.exe...VladSh wrote:Вопрос ко всем не совсем по теме
Есть простенький скрипт:...Code: Select all
var pToolFileName = "AkelPad.exe"; var cmdLine = "d:\\Temp\\111.txt"; var AppShell = new ActiveXObject("shell.application"); AppShell.ShellExecute(pToolFileName, cmdLine);
Так и должно быть или это баг? И как с этим бороться?
Заодно, надо бы проверить содержание переменной PATHEXT...
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Имхо, если я правильно понял, то:VladSh wrote:ShellExecute работает только в AkelPad'е, и хотелось бы именно с этим разобраться...
- результат запуска скрипта в системе? Если да, то ShellExecute отрабатывает, но найти не может AP и именно из-за:VladSh wrote:Но если запустить этот же скрипт просто из файловой системы или из TotalCommander'а, то выдаёт ошибку, что типа "AkelPad не найден"...
т.е. система не знает, что ей надо запустить...VladSh wrote:Code: Select all
var pToolFileName = "AkelPad.exe";
А если же скрипт не отрабатывает совсем, то это уже надо копать систему, но здесь это обсуждать, наверное, всё таки, слишком оффтопично...
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
opk44
Не помогло.
YuS
Скрипт запускается.и оно почему-то знает как его открыть, а при запуске скрипта из файловой системы не знает?
Я где-то читал, что ShellExecute в отличие от WshShell.Exec производит поиск полного пути по имени exe-файла из веток реестра:AkelPad'а по этим путям нет, зато есть WinMerge.
AkelPad есть здесь, но нет WinMerge:
Короче правильные проги должны, по идее, прописывать себя в обе ветки.
Ребята, спасибо за неравнодушие к проблеме!
P.S. Для проверки мой последний вариант
Добавлено:
Ура, победа!
Прописал с помощью reg-файла:и заработало! Теперь открывает при запуске скрипта из файловой системы!
Ребята, проверьте пожалуйста у кого не портативная, а инсталлированная версия, есть ли такой ключ реестра?
Не помогло.
YuS
Скрипт запускается.
Когда из AkelPad'а я открываю WinMerge и указывают.е. система не знает, что ей надо запустить...
Code: Select all
var pToolFileName = "WinMergeU.exe";
Я где-то читал, что ShellExecute в отличие от WshShell.Exec производит поиск полного пути по имени exe-файла из веток реестра:
Code: Select all
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths
AkelPad есть здесь, но нет WinMerge:
Code: Select all
HKEY_CLASSES_ROOT\Applications
Ребята, спасибо за неравнодушие к проблеме!
P.S. Для проверки мой последний вариант
Добавлено:
Ура, победа!
Прописал с помощью reg-файла:
Code: Select all
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AkelPad.exe]
@="C:\\Program Files (x86)\\AkelPad\\AkelPad.exe"
"Path"="C:\\Program Files (x86)\\AkelPad\\"
Ребята, проверьте пожалуйста у кого не портативная, а инсталлированная версия, есть ли такой ключ реестра?
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Архив будет обновлен после релиза 4.9.1 с версией TabSwitch.js 4.0.Infocatcher wrote:Просьба обновить TabSwitch.js (v.3.9) в Instructor.zip (там сейчас v.3.7).
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Ну, да, или так... но кроме того, всё же, ищет и через PATHVladSh wrote: Я где-то читал, что ShellExecute в отличие от WshShell.Exec производит поиск полного пути по имени exe-файла из веток реестра:Code: Select all
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
DV
В TabSwitch.js 4.0 такого не наблюдаю. Возможно последствия перетаскивания кусков кода из новой версии скрипта.
В TabSwitch.js 4.0 такого не наблюдаю. Возможно последствия перетаскивания кусков кода из новой версии скрипта.