Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222

Не выполнять скрипт, если папка/файл не найдены

18.03.2018, 06:16. Показов 2898. Ответов 7

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем!
Помогите решить. Такая задача ...:
У меня есть Файл -bat, который распаковывает архив из Archive.zip в директорию C:\Game файл - Play.bat, с папкой "pl"и файлами, которые в этой папке и в последствии - запускает это файл Play.bat - после распаковки Архива. Мне нужно часто распаковывать и запускать - на разных компьютерах. И немного неудобно каждый раз копировать файлы с заменой. Вот таким образом :

Windows Batch file
1
2
3
start "" "winrar.exe" x -ad -o+ "Archive.zip"
xcopy Archive "C:\Game" /I /Y /C /S
start "" "C:\Game\Play.bat"
Вопрос? ... Как сделать , что бы перед копированием проверялся каталог "pl" в директории C:\Game , на его наличие и если он есть то копирование не происходило а только запуск файла:

Windows Batch file
1
start "" "C:\Game\Play.bat
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2018, 06:16
Ответы с готовыми решениями:

Unity как выполнять скрипт если на сцене имеется обьект с выбранным тегом
Имеется скрипт void OnMouseDown() { if (gameflow.placeCheese == "y" && cheeseObjOnScene == null ) { ...

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

Скрипт,который удаляет файл, если он существует
#!/bin/bash read -p "Enter file name" FILENAME echo FILENAME if { -e $FILENAME} then echo OK else NE OK fi Написать...

7
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
18.03.2018, 06:18
if /?
goto /?
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
18.03.2018, 14:15  [ТС]
Может поможете
А то я Усю голову сломал, я как бы не программист, (((
А очень хочеться ним стать в недалеком но пока вот, что вышло...

Windows Batch file
1
2
3
4
5
6
7
C:
CD Game
IF EXIST pl.txt GOTO MI
start "" "winrar.exe" x -ad -o+ "Archive.zip"
xcopy Archive "C:\Game" /I /Y /C /S
:MI
start "" "C:\Game\Play.bat"
Но я понимаю, что я першел в каталог и нашел файл:

Windows Batch file
1
2
CD Game
IF EXIST pl.txt
А дальше, если нет каталога и файла - то код в той же директории выполняется... (((
Как это исправить... Я чего то читал хелп if /? и не врубаюсь.
Помогите ааа ? (((

А еще как сделать, что бы не выскакивало соощение, что архивы не найдены и почему она вылетает ???... Спасибо

Добавлено через 4 часа 47 минут
Ребят, что я не так делаю ???

Windows Batch file
1
2
3
4
5
6
7
8
9
10
IF EXIST WI ELSE RE GOTO MI
:RE
start "" "winrar.exe" x -ad -o+ "Archive.zip"
xcopy Archive "C:\Game" /I /Y /C /S
:WI
C:
CD Game
pl.txt
:MI
start "" "C:\Game\Play.bat"
Просто в конце запускается это выражение полюбому и перезаписывает файлы в директории, а по условию не нужно перезаписи а только запуск play.bat!
Windows Batch file
1
2
start "" "winrar.exe" x -ad -o+ "Archive.zip"
xcopy Archive "C:\Game" /I /Y /C /S
Как сделать , что бы заработало (((

Добавлено через 30 минут
Чет не понимаю то ли Сегодня вск. и все еще спят (обед на улице) и я один такой бодряк, толи На сайте НИКОГО Неееет ? ААА-УУУУ ! ЛЮ-Ю-Ю-Ю-ДИ !!!

Добавлено через 1 час 24 минуты
Я не силен программировании но я хочу сделать что то а у меня не выходит. Кучу сайтов перелопатил и все вроде понятно но не пойму что НЕ ТАК делаю! ?

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo
xcopy Archive.zip "C:\Game" /I /Y /C /S
IF EXIST WI ELSE RE GOTO MI
:WI
C:
CD Game\pl
 
:RE
cd..
start "" "winrar.exe" x -ad -o+ "Archive.zip" 
xcopy Archive "C:\Game" /I /Y /C /S
 
:MI
start Play.bat

Мне кто нибудь поможет тут ?...
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
18.03.2018, 18:57
Цитата Сообщение от sam6780 Посмотреть сообщение
проверялся каталог "pl" в директории C:\Game , на его наличие и если
и в чем проблема-то?
Windows Batch file
1
2
3
4
5
6
7
8
9
...
if exist "C:\Game\pl" (
 echo Выполняем запуск
 echo или еще чего
) else (
 echo Копируем видимо, еще можно поставить call :metka [параметры]
 echo и уйти в подпрограмму и уже там выполнять отдельную часть кода с переданными параметрами
)
...
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
18.03.2018, 22:09  [ТС]
На готовом примере не могли бы написать, говорю так как есть. Я просто не смогу сам правильно все распределить все примеры. А мне легче на примерах учить ..
Извените , если можна ... - Спасибо !

Добавлено через 6 минут
alpap, Не могли бы конкретно расписать, а то у меня не получится. Прошу - просто напишите как сделать примером, а то я не могу догнать.... Я понимаю только примерами и так учусь... Пожалуйста ... ((
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
18.03.2018, 22:30
Цитата Сообщение от sam6780 Посмотреть сообщение
Извените ,
но не могу, а может не хочу ...
мой пример прозрачен, не понять его может только или очень ленивый или очень наглый, я против обоих вариантов.
0
3 / 3 / 1
Регистрация: 22.01.2013
Сообщений: 222
18.03.2018, 22:40  [ТС]
Цитата Сообщение от alpap Посмотреть сообщение
echo или еще чего
что это ?
call :metka [параметры]
Я тоже не понял
echo и уйти в подпрограмму и уже там выполнять отдельную часть кода с переданными параметрами
вообще не понял
Прошу прощени но я не программист, я просто с примеров в инете выписываю себе в блокнот в раздел BAT различные примеры и тем самым разбираю , что к чему а на одних словах мне не так просто понять (
0
Джоуи
 Аватар для Joey
1083 / 645 / 240
Регистрация: 05.05.2015
Сообщений: 3,559
Записей в блоге: 2
19.03.2018, 21:52
Цитата Сообщение от sam6780 Посмотреть сообщение
что это ?
команда echo выводит весь текст после этой команды в консоль
Цитата Сообщение от sam6780 Посмотреть сообщение
call :metka [параметры]
Я тоже не понял
call :метка вызывает код по этой метке, а [параметры] - это переменные, которые использует метка в качетсве %1, %2 и т.д. Тут на словах не просто объяснить, если это интересует придется курить call /?, ну а так просто пропустите это замечание alpap мимо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2018, 21:52
Помогаю со студенческими работами здесь

Если найдены скобки - (.) то заносить значение внутри них в переменную
Всем пламенный привет, форумчанам и спасителям жизни начинающих кодеров. Задался вопросом: как перевести на язык Delphi такую задачу: ...

Выполнять скрипт раз в 5 минут
Всем привет! Вот у меня есть скрипт, который забирает файл с одного сайта и загружает его на другой. <?php $my_tempalte_dir =...

Как выполнять скрипт с промежутком во времени?
У меня есть скрипт. Я хочу чтобы на хостинге он выполнялся каждые 10 мин и обновлял файлы на хостинге, как это сделать и возможно ли это...

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

Проверить существование двух текстовых файлов, если найдены - объединить и записать две строки текста
1. Создать пакетный файл, проверяющий существование на диске двух текстовый файлов. Если найдены, то объединить их в один, дописать две...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru