Войти

Показать полную графическую версию : [решено] не работает bat файл если в пути имеются русские символы.


Страниц : 1 [2]

Busla
09-05-2019, 14:58
И? Это как-то уменьшает функциональные возможности? »
ну, как сказать
плагины для VS Code работают в "песочнице" Электрона, а плагины AkelPad - полноценные виндовые бинарники. Поэтому каждый плагин надо рассматривать как отдельное ПО (из соображений гигиены)

YuS_2
09-05-2019, 20:22
Поэтому каждый плагин надо рассматривать как отдельное ПО »
Это если ПО работает самостоятельно, оно может считаться отдельным, иначе это просто плагин к основной программе... как не крути.
А помимо плагинов, ещё скрипты существуют, также расширяющие функционал.
Да и вообще, конечного пользователя мало интересуют структурные характеристики ПО. Главное - функционал, который можно использовать и по возможности, как можно меньше глюко-багов... ну, ещё, возможно, дружественность интерфейса, т.е. как можно меньше заморочек для начинающего пользователя (хоть это, чаще всего и редкость, в ПО с большими возможностями функционала).

Iska
26-05-2019, 19:31
Шрифт, кстати, Consolas, там есть эти глифы. »
YuS_2, у меня для символа «ﬔ» — нет.

Но и утверждая, что AkelPad - не лучший выбор, необходимо что-то более объективное приводить, кроме удобства. »
Именно удобство работы с консолью. Мои пакетные файлы не содержат pause в конце пакетных файлов.

А возможностей там - хоть отбавляй. Особенно, что касается скриптовой части... »
Проще, чем Lua? Поглядел я на .MemAlloc()/.MemRead()/.MemFree() — и заскучал ;).

Например, можно даже переводчик использовать: »
Можно, но… зачем он нужен при работе с пакетными файлами?!

Добавьте: при использовании плагинов.
Поскольку "голый" бинарник в основном является простым, хоть и весьма продвинутым, заместителем Блокнота. »
«И это правильный ответ!» Тот же Far Manager, тот же Mozilla Firefox, да тот же Microsoft Office интересны в первую очередь плагинами и, в случае первого и последнего, своим внутренним языком.

неправильный
Это в самых простых случаях символ в txt-файле однозначно соответствует глифу в шрифте. Есть модификаторы (надстрочные знаки), есть глифы для сочетания символов (массово в имитации рукописного текста), ну и эмодзи. Всё это требует поддержки со стороны ПО для корректного отображения и редактирования. »
Для отображения — само собой. Но тут все претензии к Microsoft и её реализации консоли. А редактировать можно в чём угодно, если программисты не наделали глупых ошибок при реализации (типичнейший пример: символ — это один байт, кроме латиницы — языков не существует). Впрочем, кому позарез нужно видеть символы и модификаторы в консоли в одном знакоместе, могут пользовать, например, ConEmu (https://ru.wikipedia.org/wiki/ConEmu).

YuS_2
26-05-2019, 22:30
Именно удобство работы с консолью. Мои пакетные файлы не содержат pause в конце пакетных файлов.»
Про паузу - не понял в чем преимущество, ну да ладно.
Собственно, о том и говорю: удобство - дело привычки, т.е. субъективная оценка.

Проще, чем Lua? Поглядел я на .MemAlloc()/.MemRead()/.MemFree() — и заскучал »
Ну, что тут сказать... мне сравнивать сложно, ибо знаний маловато, я Lua не изучал... и это, как бы, намек на то, что простота - опять таки необъективная оценка. :)

зачем он нужен при работе с пакетными файлами?! »
Ну, это просто пример возможностей, а практическое значение - дело третье... хотя, что касается переводчика, вполне себе: например, переводить комментарии, если их кто-то напишет на забугорном. :wink:

все претензии к Microsoft и её реализации консоли. »
Впрочем, кому позарез нужно видеть символы и модификаторы в консоли в одном знакоместе, могут пользовать, например, ConEmu. »
Кстати, тут сегодня уже попадалось:
https://habr.com/ru/company/microsoft/blog/452338/
Так что претензии к microsoft пора снимать, ну или скоро будет пора... возможно. :)

Iska
26-05-2019, 23:18
Про паузу - не понял в чем преимущество, ну да ладно. »
Нет нужды добавлять pause в код, чтобы увидеть результат исполнения. Нет нужды открывать консоль, дабы исполнить под ней пакетный файл, если в коде нет pause.

и это, как бы, намек на то, что простота - опять таки необъективная оценка. »
После беглого просмотра код скриптов для AkelPad'а мне дико напомнил работу с WinAPI из-под VB.

например, переводить комментарии, если их кто-то напишет на забугорном. »
Ну, я как бы иногда пишу, но боюсь, мои комментарии он точно не поймёт :lol:.

Так что претензии к microsoft пора снимать, ну или скоро будет пора... возможно. »
Неа. Это ровно то же, что делает Maximus со своим ConEmu — просто GUI-терминал над консолью. Сам Console API останется таким же, как и был.

Busla
27-05-2019, 00:06
Сам Console API останется таким же, как и был. »
его в Win 10 и 2016 несколько раз кардинально перелопачивали для нужд насквозь юникодного PoSh, и корректной интеграции линуксовых docker и WSL, а с 1803 появилась псевдо консоль ConPTY. До этого и в правду крупная переработка была только в Win7, когда обслуживание консоли выселили в отдельные файлы/процессы.

Новый терминал, как раз демонстрирует возможности нового API.

Iska
27-05-2019, 00:22
Насколько кардинально?

YuS_2
27-05-2019, 06:35
Нет нужды добавлять pause в код, чтобы увидеть результат исполнения. Нет нужды открывать консоль, дабы исполнить под ней пакетный файл, если в коде нет pause. »
Хмм, AkelPad это всё умеет, т.е. это не преимущество...

После беглого просмотра код скриптов для AkelPad'а мне дико напомнил работу с WinAPI из-под VB. »
Код AkelPad-a открыт, можно даже посмотреть его внутреннее устройство, при желании. Но почему VB, именно - не понял...

мои комментарии он точно не поймёт »
Ну это будет сильно зависеть от грамматики и орфографии, конечно... так-то можно и по-русски написать так, что ни один шифровальщик не прочтет. :)

Неа. Это ровно то же, что делает Maximus со своим ConEmu — просто GUI-терминал над консолью. »
Не совсем так...
https://habr.com/ru/company/microsoft/blog/453002/
https://habr.com/ru/post/164687/

Вообще, новый терминал можно пощупать уже, но для этого необходимо иметь сборку:
Вам нужно быть на сборках Insider или ждать выпуска 1903 года, поскольку терминал Windows ТРЕБУЕТ функций из последней версии Windows.

Iska
27-05-2019, 08:11
Хмм, AkelPad это всё умеет, т.е. это не преимущество... »
Речь про:
%comspec% /c "<Path to batch file>" & pause
— я что-то видел про «начало командной строки», «завершение командной строки»?

А так:
edit:<0001.cmd
или:
view:<0001.cmd
(перенаправление вывода во Viewer или в редактор) он умеет :)?

Код AkelPad-a открыт, можно даже посмотреть его внутреннее устройство, при желании.»
Не, не, я про содержимое %ProgramFiles%\AkelPad\AkelFiles\Plugs\Scripts\*.js|*.vbs

Но почему VB, именно - не понял... »
Просто как типичный пример того, что из-под него работать с WinAPI, в общем-то, можно, но по факту жутко неудобно. Примерно так же выглядят скрипты для AkelPad'а.

Ну это будет сильно зависеть от грамматики и орфографии, конечно... так-то можно и по-русски написать так, что ни один шифровальщик не прочтет. »
Ха. Да для меня смешать в одном предложении разные времена — запросто ;). Впрочем, бывает, что я и на русском могу написать так, что хрен что поймёшь :(.

Не совсем так... »
Не знаю, почему «не совсем». По факту — из описаний я пока вижу ещё одну GUI-оболочку над консолью.

Вообще, новый терминал можно пощупать уже, но для этого необходимо иметь сборку: »
Не… Я и ConEmu-то не пользую. Ни ConEmu, ни Console, ни Console2 у меня не прижились — нет таких потребностей.

YuS_2
27-05-2019, 09:29
Речь про: »
так и я о том же:
http://ipic.su/img/img7/fs/Snimokekrana20190527120330.1558937061.png

что-то видел про «начало командной строки», «завершение командной строки»? »
Не понял про что это...

перенаправление вывода во Viewer или в редактор) он умеет ? »
Хмм, он сам редактор, но он таки умеет захватывать вывод и даже выбирать приемник для вывода... почитать надо Log_Rus.txt (документация есть в официальных PlugsPack), там про это есть.

Просто как типичный пример того, что из-под него работать с WinAPI, в общем-то, можно, но по факту жутко неудобно. »
но не VB же, а WSH, всё же и да, естественно, со всеми вытекающими неудобствами. Читать надо Scripts_Rus.txt
Scripts плагин основан на технологии Windows Scripting Host (WSH),
таким образом, Вы можете использовать различные Windows Component
Object Model (COM) объекты. Например, Вы можете осуществить
поиск по регулярным выражениям, используя RegExp объект, работать
с файлами, используя FileSystemObject объект, создавать ярлыки,
работать с реестром Windows, используя WshShell объект, или
работать с функциями сети, используя WshNetwork объект. Также Вы
можете создавать и запускать скрипты, которые взаимодействуют с
внешними приложениями, поддерживающими Automation (такими как
Word и Excel). Код плагина основан на "COM in C" от Jeff Glatt.

Не знаю, почему «не совсем». По факту — из описаний я пока вижу ещё одну GUI-оболочку над консолью. »
Ну откуда в консоли GUI? :)
Это же не кнопки, менюшки и прочее присущее ГИП, а именно консоль. Ну, да, там есть вкладки, графическое меню, поэтому и сказал "не совсем"...
Суть-то у него консольная, т.е. то, что именно составляет рабочее пространство, а не виньетку.
И это ведь не замена стандартной консоли, они будут существовать в параллельных, хоть и соприкасающихся, вселенных, насколько я понял.
Т.к. говорилось о претензиях по конкретному вопросу, а в новом терминале его скорее всего решили:
В Windows Terminal используется GPU-ускорение DirectWrite/DirectX на основе движка рендеринга текста. Этот новый движок рендеринга текста будет отображать текстовые символы, глифы и символы, присутствующие в шрифтах на вашем ПК, включая идеограммы CJK, эмодзи, символы powerline, значки, лигатуры программирования и т. д. Этот движок даже рендерит текст намного быстрее, чем предыдущий движок GDI консоли!
Поэтому и вспомнилось о нем и ссылку на него поэтому же привел...

Iska
27-05-2019, 12:18
Это же не кнопки, менюшки и прочее присущее ГИП, а именно консоль. »
По описанию — именно оболочка над консолью, наподобие PowerShell ISE. Посмотрим.




© OSzone.net 2001-2012