CMD/BAT - CMD-шник с внешним конфиг-файлом

Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Цитата Iska:



Он будет привязан к Python'у .
CMD/BAT - CMD-шник с внешним конфиг-файлом




Ну... верно, с этим ничего не поделаешь, но на *nix системах он уже стоит, а для win платформы, если цель — не запустить у себя, а распространять скрипт на клиентские машины, можно и статический билд сделать со вшитым интерпретатором и библиотеками.


Цитата Iska:



Anonymоus, Вы где пропадали столько времени , коллега?
CMD/BAT - CMD-шник с внешним конфиг-файлом




Переезды, перемены, не всегда был интернет и свободное время. Каюсь, уже долго не заходил сюда Изображение
Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Цитата Anonymоus:



можно и статический билд сделать со вшитым интерпретатором и библиотеками.
CMD/BAT - CMD-шник с внешним конфиг-файлом




…и мы возвращаемся к тому, с чего начали — невозможность быстрой правки и использования кода Изображение.




Цитата Anonymоus:



Переезды, перемены, не всегда был интернет и свободное время. Каюсь, уже долго не заходил сюда
CMD/BAT - CMD-шник с внешним конфиг-файлом




Спасибо, ясно.
Аватара пользователя
Iska

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Iska »

Anonymоus, вот это царский подгон. Благодарствую! (на некоторых форумах все спасибы в ЛС, как у нас не знаю, но не могу удержаться) Постараюсь разобраться с этим в ближайшее время. И надеюсь, не придется доканывать тупыми вопросами...
Аватара пользователя
Iska

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Iska »

Stalker_AleX333, тупых вопросов в программировании не бывает, любое желание разобраться, а не просто собрать Франкенштейна из кусков чужого кода — похвально. Если что-то будет не очевидно, спрашивайте, мне или остальным форумчанам не трудно объяснить будет или указать на ресурс, где можно об этом узнать.
Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Цитата Anonymоus:



Смотрю, здесь как и раньше, упорно советуют переходить на PowerShell, и только потом, неохотно и со скрипом помогают.
CMD/BAT - CMD-шник с внешним конфиг-файлом




Просто, надежно и быстро ... а cmd не обладает такими возможностями, как powershell... да и powershell, нынче, изкаропки
командный шелл по умолчанию





Цитата Anonymоus:



Оставшееся спишем на банальное "да без разницы на чём, лишь бы проблему решить".
CMD/BAT - CMD-шник с внешним конфиг-файлом




как правило, если надо ехать, то на шашечки внимание обращать не приходится Изображение

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




Цитата Anonymоus:



Имхо, если человеку не хватает возможностей cmd, он уже сразу на Python перейдёт
CMD/BAT - CMD-шник с внешним конфиг-файлом




Это почему? Мне, например, за глаза хватает встроенных средств. Зачем тащить в систему сторонние разработки, если необходимые инструменты уже присутствуют в этой системе? Изображение




Цитата Anonymоus:



для win платформы
CMD/BAT - CMD-шник с внешним конфиг-файлом




на win платформах powershell уже стоит




Цитата Anonymоus:



на *nix системах
CMD/BAT - CMD-шник с внешним конфиг-файлом




для *nix - Powershell Core, однако...
Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Народ, а можно имена отсутствующих файлов из конфига выводить с новой строки?







Так, читабельность не очень. Попробовал подергать delims
, но это наверное не то, в данном случае.



Код Anonymоus-а особо не трогал:





Код:

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

:: Чтение конфиг-файла панели управления
call :read_control_panel_config "%ControlPanelConfig%"
:read_control_panel_config (config_file_path)
setlocal EnableDelayedExpansion
for /f "usebackq eol=; tokens=1,2* delims==" %%a in ("%~1") do set "$%%a=%%b"
:: Проверка наличия всех файлов для панели управления в Silver Raven mods pack data
set "ControlPanelMissingFiles="
set "ControlPanelFilesList=%ControlPanelConfig%"
for %%? in (%$ControlPanelFilesList%) do (
	if not exist "%%~?" set ControlPanelMissingFiles=!ControlPanelMissingFiles!, %%~?
)
setlocal DisableDelayedExpansion
if defined ControlPanelMissingFiles ( color fc
 echo.
 echo  ╔════════════════════════════════════════════════════════════╗
 echo  ║ Панель управления Silver Raven mods pack версии 1.4.0 BETA ║
 echo  ╚════════════════════════════════════════════════════════════╝
 echo.
 echo.
 echo *ОШИБКА! Следующие файлы, необходимые для корректной работы программы, не найдены:
 echo.
 echo. 
 echo %ControlPanelMissingFiles:~2%
 echo.
 echo.
 echo Извлеките папку Silver Raven mods pack data из установочных архивов со сборкой в папку игры вручную и перезапустите панель управления. Убедитесь, что антивирусное ПО не блокирует ее работу.
 echo.
 echo.
pause
exit
)
Аватара пользователя
YuS_2

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение YuS_2 »

Stalker_AleX333, конечно можно. Внесите следующие изменения:



Код:

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

For %%? In (%$ControlPanelFilesList%) Do (
	If Not Exist "%%~?" set ControlPanelMissingFiles=!ControlPanelMissingFiles!,"%%~?"
)



Код:

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

 Echo *ОШИБКА! Следующие файлы, необходимые для корректной работы программы, не найдены:
 echo.
 echo. 
 For %%A In (%ControlPanelMissingFiles%) Do Echo %%~A
 echo.
 echo.
 echo Извлеките папку Silver Raven mods pack data из установочных архивов со сборкой в папку игры вручную и перезапустите панель управления. Убедитесь, что антивирусное ПО не блокирует ее работу.

Изменившиеся части выделены синим.
Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Anonymоus, я вот думаю, а может можно как-то упростить изменение параметров в конфиг-файлах? У меня ведь все строго заданно:

вроде того-же, UpdateInstalled=true > UpdateInstalled=false

Может можно обойтись без фильтра комментариев и временных файлов? Открыли строго указанный файл и заменили строго указанное значение. Все, остальное пофигу...



Вот как-то так (но с временным файлом, правда и как надо не работает):



Код:

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

set AutoUpdateConfigTemp=%AutoUpdateConfig%.tmp
set UpdateStatusInstalled=UpdateInstalled=true
set UpdateStatusToNotInstalled=UpdateInstalled=false
if exist %AutoUpdateConfigTemp% del /q %AutoUpdateConfigTemp%
setlocal EnableDelayedExpansion
for /f "tokens=* delims=, " %%a in (%AutoUpdateConfig%) do ( 
    set line=%%a
    if !line!==%UpdateStatusInstalled% ( set line=%UpdateStatusToNotInstalled%)
    echo !line!>> %AutoUpdateConfigTemp%
)
setlocal DisableDelayedExpansion
move /y %AutoUpdateConfigTemp% %AutoUpdateConfig%
Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Stalker_AleX333, конечно можно. Внесите следующие изменения:



Код:

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

For %%? In (%$ControlPanelFilesList%) Do (
	If Not Exist "%%~?" set ControlPanelMissingFiles=!ControlPanelMissingFiles!,"%%~?"
)



Код:

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

 Echo *ОШИБКА! Следующие файлы, необходимые для корректной работы программы, не найдены:
 echo.
 echo. 
 For %%A In (%ControlPanelMissingFiles%) Do Echo %%~A
 echo.
 echo.
 echo Извлеките папку Silver Raven mods pack data из установочных архивов со сборкой в папку игры вручную и перезапустите панель управления. Убедитесь, что антивирусное ПО не блокирует ее работу.

Изменившиеся части выделены синим.
Аватара пользователя
Guest

Re: CMD/BAT - CMD-шник с внешним конфиг-файлом

Сообщение Guest »

Anonymоus, я вот думаю, а может можно как-то упростить изменение параметров в конфиг-файлах? У меня ведь все строго заданно:

вроде того-же, UpdateInstalled=true > UpdateInstalled=false

Может можно обойтись без фильтра комментариев и временных файлов? Открыли строго указанный файл и заменили строго указанное значение. Все, остальное пофигу...



Вот как-то так (но с временным файлом, правда и как надо не работает):



Код:

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

set AutoUpdateConfigTemp=%AutoUpdateConfig%.tmp
set UpdateStatusInstalled=UpdateInstalled=true
set UpdateStatusToNotInstalled=UpdateInstalled=false
if exist %AutoUpdateConfigTemp% del /q %AutoUpdateConfigTemp%
setlocal EnableDelayedExpansion
for /f "tokens=* delims=, " %%a in (%AutoUpdateConfig%) do ( 
    set line=%%a
    if !line!==%UpdateStatusInstalled% ( set line=%UpdateStatusToNotInstalled%)
    echo !line!>> %AutoUpdateConfigTemp%
)
setlocal DisableDelayedExpansion
move /y %AutoUpdateConfigTemp% %AutoUpdateConfig%
Ответить

Вернуться в «Скриптовые языки администрирования Windows»