![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Оператор и\или в коде проверки наличия файлов |
|
|
CMD/BAT - [решено] Оператор и\или в коде проверки наличия файлов
|
Stalker_AleX333
Сообщения: n/a |
Народ, подскажите. Есть такая конструкция:
set "OldModsPackFiles1=Data\Flora Overhaul.esp" set "OldModsPackFiles2=Data\Player Blink Fix.esp" set "OldModsPackFiles3=Data\Realistic Ragdoll Force.esp" set "OldModsPackFiles4=Data\Static Mesh Improvement.esp" If exist "%OldModsPackFiles1% %OldModsPackFiles2% %OldModsPackFiles3% %OldModsPackFiles4%"( color C echo. echo ╔═══════════════════════════════════════════════════════════╗ echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║ echo ╚═══════════════════════════════════════════════════════════╝ echo. echo. echo *ВНИМАНИЕ! В сборке обнаружены устаревшие файлы. Вероятно, установка или обновление до данной версии было произведено некорректно. Рекомендуется произвести полное удаление, с ручной очисткой оставшихся файлов и установить сборку заново. echo. echo. pause goto g_menu ) Что-то я погуглил и ничего. То-ли я такой тупой, то-ли лыжи не едут... |
|
Отправлено: 21:38, 23-09-2017 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Stalker_AleX333:
В любом случае, ни оператора «И», ни оператора «ИЛИ» в пакетных файлах не предусмотрено. Укажите, какой из двух операторов Вам был бы нужен, и Вам покажут реализацию. |
|
Отправлено: 23:10, 23-09-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 23:11, 23-09-2017 | #3 |
Stalker_AleX333
Сообщения: n/a |
alpap, то, что нужно.
только вот не пойму, почему нет реакции на команду color C? Может это из за использования ее же в коде выше: set "GameExeFile=SkyrimSE.exe" If not exist "%GameExeFile%" ( color C echo. echo ╔═══════════════════════════════════════════════════════════╗ echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║ echo ╚═══════════════════════════════════════════════════════════╝ echo. echo. echo *ОШИБКА! Панель управления сборкой не предназначена для запуска вне папки с игрой. Перезаупустите приложение из папки игры для корректной работы. echo. echo. pause exit ) |
Отправлено: 00:00, 24-09-2017 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Stalker_AleX333:
Скрытый текст
![]() В чём она должна, по Вашему мнению, выражаться? |
||
Отправлено: 00:09, 24-09-2017 | #5 |
Stalker_AleX333
Сообщения: n/a |
Iska, дык в том-то и выражается. Но у меня текст в этой части кода она не хочет "красить".
Код целиком
cls @echo off title Панель управления Silver Raven mods pack :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Проверка доступности файлов игры :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set "GameExeFile=SkyrimSE.exe" If not exist "%GameExeFile%" ( color 0c echo. echo ╔═══════════════════════════════════════════════════════════╗ echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║ echo ╚═══════════════════════════════════════════════════════════╝ echo. echo. echo *ОШИБКА! Панель управления сборкой не предназначена для запуска вне папки с игрой. Перезаупустите приложение из папки игры для корректной работы. echo. echo. pause exit ) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Проверка актуальности сборки :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set "OldModsPackFiles1=Data\Flora Overhaul.esp" set "OldModsPackFiles2=Data\Player Blink Fix.esp" set "OldModsPackFiles3=Data\Realistic Ragdoll Force.esp" set "OldModsPackFiles4=Data\Static Mesh Improvement.esp" set "OldModsPackFiles5=Data\Blacksmith Forge Water Fix SE USSEP.esp" If exist dir /a-d/b "%OldModsPackFiles1% %OldModsPackFiles2% %OldModsPackFiles3% %OldModsPackFiles4% %OldModsPackFiles5%" ( color 0c echo. echo ╔═══════════════════════════════════════════════════════════╗ echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║ echo ╚═══════════════════════════════════════════════════════════╝ echo. echo. echo *ВНИМАНИЕ! В сборке обнаружены устаревшие файлы. Вероятно, установка или обновление до данной версии было произведено некорректно. Рекомендуется произвести полное удаление, с ручной очисткой оставшихся файлов и установить сборку заново. echo. echo. pause ) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Основное меню панели управления сборкой :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :main_menu cls color 07 @echo. @echo ╔═══════════════════════════════════════════════════════════╗ @echo ║ Панель управления для Silver Raven mods pack версии 1.2.7 ║ @echo ╚═══════════════════════════════════════════════════════════╝ @echo. @echo. @echo ■ 1. Копирование отсортированного списка плагинов (модов) в AppData пользователя. @echo. @echo Нажав цифру 1, вы подтверждаете свое согласие на копирование. @echo. @echo. @echo. @echo ■ 2. Проверка наличия обновлений сборки. (Настоятельно рекомендуется проводить хотя-бы раз в месяц) @echo. @echo Нажав цифру 2, вы подтверждаете свое согласие на переход в меню выбора источника загрузки обновлений. @echo. @echo. @echo. @echo ■ 3. Загрузка ReShade. (Не влияет на производительность игры, в отличии от ENB и SweetFX) @echo. @echo Нажав цифру 3, вы подтверждаете свое согласие на переход по ссылке загрузки. (Откроется браузер) @echo. @echo. @echo. @echo ■ 4. Загрузка LOOT. @echo Если вы собираетесь добавлять новые плагины (моды) к сборке, воспользуйтесь данной утилитой для сортировки порядка их загрузки. @echo. @echo Нажав цифру 4, вы подтверждаете свое согласие на переход по ссылке загрузки. (Откроется браузер) @echo. @echo. @echo. @echo ■ 5. Полное удаление сборки. (Если вы хотите сохранить какие-либо файлы, сделайте это сейчас) @echo. @echo Нажав цифру 5, вы подтверждаете свое согласие на переход в меню удаления сборки. @echo. @echo. @echo. @echo [Чтобы просмотреть все опции панели управления используйте прокрутку] @echo. @echo. @Set /p var="> Введите номер опции и нажмите Enter: " if %var%==1 call :option_1 if %var%==2 call :option_2 if %var%==3 call :option_3 if %var%==4 call :option_4 if %var%==5 call :option_5 goto main_menu pause& exit :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Копирование отсортированного списка плагинов :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :option_1 cls set "FileIn=Plugins.txt" set "BoxOut=%USERPROFILE%\AppData\Local\Skyrim Special Edition" if not exist "%FileIn%" ( color 0c echo. echo *ОШИБКА! Файл Plugins.txt не найден! echo. echo Не удалось скопировать отсортированный список плагинов в AppData пользователя. echo Извлеките необходимый файл из установочных архивов со сборкой в папку с игрой вручную и перезапустите панель управления сборкой, или воспользуйтесь сортировкой плагинов с помощью программы LOOT. *Опция присутствует в данной панели управления. echo. echo. pause exit /b ) if not exist "%BoxOut%" md "%BoxOut%" copy /y "%FileIn%" "%BoxOut%\" @echo. @echo Отсортированный список плагинов скопирован в AppData пользователя. @echo. @echo. pause exit /b :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Проверка обновлений :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :option_2 cls @echo. @echo Выберете источник проверки обновлений (будет открыт браузер): @echo. @echo ╔══════════════════════════════════════════════════════════════════╗ @echo ║ ╔═══╗ ╔═══╗ ╔═══╗ ║ @echo ║ ║ 1 ║ ЯндексДиск ║ 2 ║ Gamer-Mods.ru ║ 3 ║ RuTracker.org ║ @echo ║ ╚═══╝ ╚═══╝ ╚═══╝ ║ @echo ╚══════════════════════════════════════════════════════════════════╝ @echo Вернуться в главное меню - 0 @echo. @echo *Если вы хотите сообщить об ошибке(ах) в сборке или просто высказать свои идеи и предложения автору, рекомендуется использовать 2-ой вариант. @echo. @echo. @Set /p var="> Введите свой ответ и нажмите Enter: " if %var%==1 call :option_2_check_updates_yandexdisk if %var%==2 call :option_2_check_updates_gamer-mods if %var%==3 call :option_2_check_updates_rutracker if %var%==0 goto main_menu :: Проверка обновлений - ЯндексДиск :option_2_check_updates_yandexdisk cls start https://yadi.sk/d/qyJbvZs43Mb3fR goto main_menu :: Проверка обновлений - Gamer-mods.ru :option_2_check_updates_gamer-mods cls start http://gamer-mods.ru/forum/73-2082-1 goto main_menu :: Проверка обновлений - RuTracker.org :option_2_check_updates_rutracker cls start https://rutracker.org/forum/viewtopic.php?t=5356842 goto main_menu :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Загрузка ReShade :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :option_3 cls start https://reshade.me exit /b :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Загрузка LOOT :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :option_4 cls start https://loot.github.io exit /b :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Удаление сборки :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :option_5 cls @echo Удаление Silver Raven mods pack. @echo. @echo ╔═══╗ ╔═══╗ @echo Нажмите ║ Y ║ для подтверждения начала процесса удаления сборки или ║ N ║ для его отмены. @echo ╚═══╝ ╚═══╝ @echo. @echo *ВСЕ файлы в подпапках Interface, Meshes, Scripts, Textures, Video, а также плагины сборки и данный exe файл будут удалены! @echo. @echo. @Set /p var="> Введите свой ответ и нажмите Enter: " if %var%==y call :option_5_start_uninstall if %var%==n goto main_menu :option_5_start_uninstall :: Удаление папок сборки cls setlocal enableextensions enabledelayedexpansion pushd "%~dp0" & ( rd /s /q "Data\Interface" "Data\Meshes" "Data\Scripts" "Data\Textures" "Data\Video" :: Удаление плагинов сборки и прочих файлов del /f /q "Data\A Quality World Map - Textures.*" "Data\A Quality World Map.*" "Data\Better Dynamic Snow.*" "Data\Book Covers Skyrim - Textures.*" "Data\Book Covers Skyrim.*" "Data\Cutting Room Floor.*" "Data\Enhanced Blood.*" "Data\Footprints.*" "Data\Immersive Citizens - AI Overhaul.*" "Data\Improved Closefaced Helmets.*" "Data\Improved Puddles.*" "Data\No Snow Under The Roof - Cutting Room Floor Patch.* "Data\No Snow Under The Roof.*" "Data\Northfires Photoreal Mountains.*" "Data\RealisticWaterTwo.*" "Data\Silver Raven Mods Pack.*" "Data\Skyrim Flora Overhaul.*" "Data\Snazzy Furniture and Clutter Overhaul.*" "Data\Static Mesh Improvement Mod.*" "Data\The Paarthurnax Dilemma.*" "Data\True Storms - Textures.*" "Data\True Storms.*" "Data\Unofficial Skyrim Special Edition Patch.*" "Data\Wet and Cold.*" "Data\icepenguinworldmapclassic.*" "Plugins.*" "Readme.*" "Readme update.*" popd ) endlocal :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :: Удаление самого cmd(exe)-шника :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: del "%~dpnx0" |
Последний раз редактировалось Stalker_AleX333, 24-09-2017 в 19:27. Отправлено: 00:41, 24-09-2017 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Stalker_AleX333, я не могу перевести на понятный для себя язык выражение «текст в этой части кода она не хочет "красить"» («она» — это «реакция», если помните).
Команда COLOR ничего не «красит». Она меняет номера цветов из текущей палитры консоли. Целиком. Для всей консоли. Никакой «раскраски» вида «часть текста одного цвета, часть — другого цвета». |
Отправлено: 02:17, 24-09-2017 | #7 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 10:26, 24-09-2017 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Busla, я что-то пропустил, и булева алгебра изменилась со времён моего ученичества? Если кто скажет, что это:
Истина ИЛИ Истина = Истина Истина ИЛИ Ложь = Истина Ложь ИЛИ Истина = Истина Ложь ИЛИ Ложь = Ложь |
Отправлено: 11:48, 24-09-2017 | #9 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Iska, в булевой алгебре-логике 4 основных оператора:
НЕ = NOT И = AND ИЛИ = XOR И/ИЛИ = OR Истина ИЛИ Истина = Ложь Истина И/ИЛИ Истина = Истина P.S. Поправочка: в литературе посвящённой алгоритмам, логике и т.п. используются специальные символы. А И/или - закреплённая в словарях и справочниках языковая норма, т.к. в русском языке или обычно несёт исключающий характер. |
Последний раз редактировалось Busla, 24-09-2017 в 16:22. Отправлено: 15:12, 24-09-2017 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - проверка наличия файлов | neprotiv | Скриптовые языки администрирования Windows | 0 | 04-04-2013 22:09 | |
Глюк это или что?, Оператор ростелеком | simsa | Лечение систем от вредоносных программ | 1 | 14-01-2013 12:20 | |
VBS/WSH/JS - [решено] Проверка наличия файлов в папке | lesha73 | Скриптовые языки администрирования Windows | 2 | 17-01-2012 16:45 | |
CMD/BAT - [решено] Батник проверки наличия диска | Arsenik77 | Скриптовые языки администрирования Windows | 1 | 17-08-2011 17:41 | |
Наилучший способ проверки наличия интернета | sashadeg | AutoIt | 39 | 02-09-2010 13:35 |
|