09.07.2020, 05:34 [+3 UTC]
в нашей команде: 4 663 чел. | участники онлайн: 2 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.89 (25.04.2020)
JS-v.1.45 | CSS-v.3.39

Общие новости:
13.04.2020, 00:02

Форум:
07.07.2020, 19:11

Последний вопрос:
08.07.2020, 17:32
Всего: 152722

Последний ответ:
09.07.2020, 02:47
Всего: 260324

Последняя рассылка:
08.07.2020, 15:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
17.03.2013, 13:12 »
Валерий
Спасибо за подсказку! Задача о колесе с эксцентриком. Нашел картинку через поисковик.
17.02.2010, 16:47 »
Сергей К.
Все ясно. Спасибо. [вопрос № 176716, ответ № 259499]

• ФОРУМ / Программирование (все языки) / Языки программирования, для которых нет своей ветки на форуме

   
всего 114 сообщения
Языки программирования, для которых нет своей ветки на форуме
Здесь можно выкладывать свои мнения о языках, для которых на форуме нет специальной ветки.
21.09.2017, 09:18, Вадим Исаев ака sir Henry (Мастер-Эксперт)
Алексеев Владимир Николаевич

Мастер-Эксперт
ID: 259041
Сообщений: 248

# 111442

Megaloman:

31мая2020 Вы опубликовали статью Ссылка с целью, как мне показалось, популяризировать скриптовые языки программирования. Вы мастерски и лаконично предоставили читателям Обзор языков, склоняя публику к изучению PowerShell, как якобы "Универсальное средство для решения широкого круга задач в современных Windows".

Я бы не стал вмешиваться и оспаривать мнение уважаемого мэтра скриптов, но мне жалко людей, которые нуждаются в грамотно-оптимальном выборе языка программирования для автоматизации своих рутинных операций, и которые прочтя Ваш обзор, примут ошибочное решение с неудачными последствиями. Я перечислю пункты Вашего Обзора, которые по моему мнению не правильны, чтобы избавить читателей от досадных ошибок.

"5. Vbs - тоже устарел. С текстом в юникоде в нем не поработаешь" - мои VBSript успешно работают с текстом в юникоде КАЖДЫЙ день! В процессе тщательной подготовки своих Ответов в Консультациях я вынужден скачивать из интернета учебные статьи. Я стараюсь использовать материалы порядочных уральских и сибирских ВУЗов. Но часто хорошие спецы отдают свои статьи для публикации московским сайт-админам, которые так загаживают полезный материал мерзкими рекламами, что работать с контентом невозможно противно! Продажные Админы перекрывают экран всплывающими кляксами, вынуждая пользователей кликнуть закрывающий крестик. Но добрейшая и умнейшая Сучкова Татьяна Михайловна ещё 10 лет назад предупреждала ничего кликать на подозрительных сайтах, дабы не отдавать свои полные права на своём компьютере чужим обманным JavaScript , написанных алчными программистами. Чтобы не включать свой тяжёлый антивирус и не рисковать, я жму Ctrl+S скопировать страницу, затем Ctrl+F4 закрыть вкладку. Потом я вычищаю из файл-копии рекламно-шпионскую грязь.

Раньше это было легко, особенно при копировании с сайтов, использующих простую кодировку Windows-1251. Но сейчас только наш любимый rfpro.ru и ещё немногие сайты работают в этой одно-байтной кодировке. БОльшая часть сайтов использует Юникод (а точнее : UTF-8 - "формат преобразования Юникода - распространённый стандарт кодирования символов, позволяющий более компактно хранить и передавать символы Юникода, используя переменное количество байт …" ru.wikipedia.org/wiki/UTF-8 ). Надежды нет на то, что сайты вернутся в простую и удобную для нас кодировку, потому что кирил-текст в кодировке Windows-1251 отображается адекватно только в русско-язычных ОперСистемах. А админы горят желанием раскрутить свои сайты на весь Мир.
Мне пришлось написать программу декодер. И теперь мой Vbs-скрипт бегло расправляется с этими юникод-рекламами, как птица Секретарь с ядовитыми змеями.

"1. Cmd - это наследие dos и устарел, работает в командном окне, зато работает во всех доступных Windows" - верно!
"2. Рабочая кодировка командного окна - dos-кодировка, в частности 866" - я поддерживаю и этот Ваш пункт.

"3. Cmd - скрипты стандартно работают в dos - кодировке, например 866, и никаких проблем при работе с редактором в этой кодировке быть не может" - так рассуждали изобретатели корпорации Microsoft примерно 30 лет назад. Так и было в первых ОперСистемах, работавших в кодировке 866. Однако с появлением Windows98 системную рус-кодировку сменили на Windows-1251, а cmd-кодировку для нас, варваров, менять не стали. Как следствие, проблемы отображения кириллицы в dos - кодировке - это "ложка дёгтя в бочке с мёдом". Они трудоёмко-устранимы! За 10 лет программирования в cmd-файлах я опробовал все способы, включая реестровые! Да Вы и сами продемонстрировали эту кирил-проблему, отправив свой пост rfpro.ru/question/198747#315539 31мая2020 к Анатолий: "спасибо, я счастлив".

Вы стали счастливы не от того, что избавили Cmd-скрипты от кирилли-проблем, а оттого, что сумели использовать свой богатый опыт/знания обойти эту проблему в одном частном случае и показать пользователю результат работы скрипта без кирил-искажений. При этом Вам пришлось исказить Код своего скрипта rfpro.ru/question/198747#315522 до неосмысливаемых кракозябров.

Я тоже использовал такие уловки 13 лет назад, когда мне, бывшему инженеру КИП / Автоматики / Электроники, приходилось писать скрипты, чтобы автоматизировать рутину синхронизации большого колиства личных файлов м-ду компами Дома / наРаботе ч-з флэшку. Меня так замучил кирил-геморрой, что в июне 2009 я задал Вопрос rfpro.ru/question/169690 "Прошу опытных программистов посоветовать мне: какой прог-язык изучать".

Компилируемые языки мне не понравились изза необходимости хранить по 2 экземпляра программ (код + исполняемый .exe). Да и компилятор не на каждой машине разрешено установить (например, если комп в домене). А показанный Вами VBSript - наилучий вариант для инженера с не-программист-профессией! Никаких кирил-проблем!

"4. Некоторые команды cmd в принципе не работают в 1251 кодировке" - Вы правы, я тоже наблюдал такие при вызове их из VBS !

"7. Универсальное средство для решения широкого круга задач в современных Windows - PowerShell" - вероятно, это истинно для профессиональных сис-админов, где они администрируют большой парк нестарых компьютеров. Но мои знакомые админы в окружающих поселениях не любят PowerShell за его вычурный синтаксис, совершенно непохожий на другие прог-языки. При попытке выучить PowerShell, у меня возникает "каша в голове", я начинаю путаться в более полезных командах VBSript , Cmd, Html, Маткад… Никто из пользователей WinXP не соглашается устанавливать PowerShell-оболочку только для того, чтобы я оптимизировал его свеже-установленную опер-систему программой PowerShell вместо VBSript .

"6. VBS - коды громоздки и более трудоёмки при создании" - никакого особого труда для тех, кто знает несколько английских слов. Простой пример кода :
MsgBox "Привет, Вася!"
Msg - это сокращение от Message - Сообщение. Box - ящик, блок. БлокСообщатель выводит на экран сообщение "Привет, Вася!", если выше-строку поместить в текстовый документ, и сменить его Тип (Расширение) txt на vbs . А строка
MsgBox "Привет, Вася!" & vbLf & "Сейчас " & Now
выводит на экран приветствие + текущее системное время… vbLf - принуди-перенос строки. & - символ слияния строк разного типа.
=Всё очень просто! Предельно просто! И работает без всяких компиляторов в любой ОперСистеме Windows! Как не полюбить VBSript за такую простоту, надёжность и удобство!
Я пожизненно благодарен Вам, Александр Петрович, за показ VBSript для меня!

Megaloman

Мастер-Эксперт
ID: 137394
Сообщений: 1298

# 111443

 +2 
 
Алексеев Владимир Николаевич:

Вот задача (взята отсюда в моём пересказе):
Есть папка_1 с подпапками разной вложенности, содержащие файлы.
Что требуется: Скопировать в папку_2 структуру папки_1 и, вместо исходных файлов, создать в соответствующих папках текстовые файлы вида: имя_исходного_файла.расширение-ДД.ММ.ГГГГ_чч.мм.сс.txt, где:
ДД.ММ.ГГГГ_чч.мм.сс - дата последнего изменения исходного файла.

Моё решение VBS:

BoxIn = "D:\Мой контент"
BoxOut = "Z:\Box_Out"

Set FSO = CreateObject("Scripting.FileSystemObject")

If Right(BoxIn, 1) <> "\" Then BoxIn = BoxIn + "\"
If Right(BoxOut, 1) <> "\" Then BoxOut = BoxOut + "\"

Call Directory(FSO, BoxIn, "", BoxOut)

MsgBox "Сделано!"
'---------------------End Sub

Sub Directory(FSO, DName, DIn, DOut)
    Set D = FSO.GetFolder(DName)
    Dold = D.Path + "\"
    If DIn = "" Then DIn = Dold
    DNew = Replace(Dold, DIn, DOut)
    If Not FSO.FolderExists(DNew) Then FSO.CreateFolder (DNew)
    
    Set Files = D.Files
    For Each iFile In Files
        Dt = CStr(iFile.DateLastModified)
        Dt = Replace(Dt, " ", "_")
        Dt = "-" + Replace(Dt, ":", ".") + ".txt"
        Set FF = FSO.CreateTextFile(Dnew + iFile.Name + Dt, True): FF.Close
    Next
    
    Set SubD = D.SubFolders
    For Each Direct In SubD
        Call Directory(FSO, Direct, DIn, DOut)
    Next
End Sub

Решение PowerShell (взято отсюда с косметическими изменениями)

Param(
    $pathIn  = "D:\Мой контент",
    $pathOut = "Z:\Box_Out"
)cls

gci $pathin -rec -file|%{$null>((ni $_.DirectoryName.Replace($pathIn,$pathOut) -I d -F).FullName+'\'+
$_.BaseName+ $_.Extension + (date $_.LastWriteTime -Format "-dd.MM.yyyy-HH.mm.ss") + ".txt")};start $pathOut

Наверное, можно и мой код ужать как-то, но до двух строк ну никак не выйдет (я о трудоёмкости)
А если вспомнить, что последняя версия PowerShell- кроссплатформенная, надо преодолевать консерватизм (это я в свой адрес smile ) и потихоньку забывать об XP.

Последнее редактирование 04.06.2020, 17:39 Megaloman (Мастер-Эксперт)

=====
Нет времени на медленные танцы

Сергей Фрост

Управляющий
ID: 143894
Сообщений: 2444

# 111444

Megaloman:

© Цитата: Megaloman
надо преодолевать консерватизм (это я в свой адрес smile ) и потихоньку забывать об XP.

Я тоже за это... всеми ластами smile

=====
Устав – есть устав! Если ты устав – то отдыхай!

Алексеев Владимир Николаевич

Мастер-Эксперт
ID: 259041
Сообщений: 248

# 111445

Megaloman:

Вы писали : "надо преодолевать консерватизм… и потихоньку забывать об XP" - в нашей жизни бывают процессы, кот-е нельзя делать потихоньку. Впервые я удивился этому, когда после окончания радио-института мне поручили настроить высоко-вольтную защиту, и опытный электрик-силовик предупредил меня, что мощную нагрузку надо отключать и включать БЫСТРО! Иначе при медленном отключении долгая мощная дуга сжигает контакты.

Позже я создавал электронные счётчики импульсов и тоже удивился параметру "Максимальная длительность фронта переключающего импульса". Оказалось, если управляющий импульс слишком долгий (с пологим фронтом), то возникает "дребезг" на фоне микро-шумов, и счётчик "думает", будто вместо одного импульса пришло несколько.

Вот так и в нашем случае "потихоньку забывать об XP" не удаётся. Пока у меня и моих подшефных пользователей (в тч rfpro.ru \ Анатолий) работают WinXP (эти устаревшие ОС - самые дружественные к пользователю), я буду практиковать на VBScript . Но уважая Ваше мнение, я буду потихоньку собирать Ваши примеры/наработки для быстрого/резкого переключения на PowerShell в будущем. 2 прог-языка в моей старой "ОперПамяти" уже не умещаются к сожалению (1 из них тонет вглубь).

А если Вы способны удерживать в своей "ОперПамяти" VBScript + PowerShell + Cmd , да ещё и Excel-тонкости, значит, Вы ещё сравнительно молодой человек! Кроме Вас, вероятно и нЕкому больше отвечать на PowerShell-консультации !

Последнее редактирование 05.06.2020, 15:50 Алексеев Владимир Николаевич (Мастер-Эксперт)
всего 114 сообщения

Уважаемый пользователь!
Вы зашли на форум в качестве гостя. Гости не могут оставлять сообщения.
Пожалуйста, зарегистрируйтесь.
Если Вы уже зарегистрированы, введите Ваши регистрационные данные в поля вверху страницы.

Вы не можете создавать разделы
Вы не можете создавать ветки
Вы не можете оставлять сообщения
Вы не можете использовать BBCode
Уровень доступа: Общий
Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15855 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.89 от 25.04.2020
Версия JS: 1.45 | Версия CSS: 3.39