Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
cdjsend
0 / 0 / 0
Регистрация: 10.09.2017
Сообщений: 8
#1

Проверка наличия файла в папке + действие - CMD/BAT

11.09.2017, 21:29. Просмотров 895. Ответов 13
Метки нет (Все метки)

Добрый день, так как не нашел ответа нужного на форуме создал тему:
Суть такова:
Нужен бат файл который будет чекать 2 папки на диске на наличие в каждой из них определенных файлов, скажем так
1.txt в одной папке и 2.txt в другой папке, и при условии только что если оба этих файла отсутствуют запускать другой файл, который находится в 3-ей папке
так же возможно условие еще 1 условии при отсутствии файла 1 - действие запуска файла в 4-ой папке или при отсутствии файла 2 - действие 5..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2017, 21:29
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Проверка наличия файла в папке + действие (CMD/BAT):

Проверка наличия файлов в папке
Собственно раньше использовался такой кусок кода: dir "%filesDIR%\*.pc*" /a-D...

Проверка наличия файла с переодичностью
Доброго времени суток форумчане, вроде все очевидно, но не работает следующий...

Проверка наличия файла в папках
Добрый день! Пытался найти решение дабы адаптировать его под себя, но не...

Проверка наличия файла на диске
Всем привет Ребят , у меня батник , который ищет указанный файл на диске, и...

Проверка наличия файла с определённым расширением
Добрый вечер! Есть некая папка с большим количеством вложенных папок и...

Проверка наличия в каталоге файла, а также всех файлов и папок, которые в нем указаны
Здравствуйте, помогите пожалуйста решить лабораторные. Очень надо, я в этом...

13
alpap
1364 / 1095 / 348
Регистрация: 26.04.2015
Сообщений: 3,916
11.09.2017, 22:30 #2
Цитата Сообщение от cdjsend Посмотреть сообщение
при условии только что если оба этих файла отсутствуют запускать другой файл
Значит сейчас есть
"C:\одна папка" в ней файл "1.txt"
"C:\другая папка" в ней файл "2.txt"
после запуска name.bat с кодом (кодировка 866):
Windows Batch file
1
2
3
@echo off
cmd/c for /l %%i in () do @(if not exist "C:\одна папка\1.txt" if not exist "C:\другая папка\2.txt" echo Запускаем что-то из "C:\третья папка"^& exit/b)^&^>nul timeout /t 1 /nobreak
pause>nul
ничего не будет происходить, но как только удалить файл "1.txt" и файл "2.txt" появится сообщение: Запускаем что-то из "C:\третья папка"
0
cdjsend
0 / 0 / 0
Регистрация: 10.09.2017
Сообщений: 8
11.09.2017, 22:46  [ТС] #3
спасибо за быстрый ответ, только мне не сообщение вывести нужно, а именно запустить файл 3.txt в третей папке...
0
alpap
1364 / 1095 / 348
Регистрация: 26.04.2015
Сообщений: 3,916
12.09.2017, 00:00 #4
Цитата Сообщение от cdjsend Посмотреть сообщение
а именно запустить файл
ну это сложнее, однако ...
Название: images.jpg
Просмотров: 80

Размер: 8.9 Кб
0
mokilo
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 13
10.12.2017, 16:04 #5
Здравствуйте!
Похожая проблема - решил не создавть новую тему.Мне нужно проверить есть ли по пути C:file/ тестовик file.txt.
Если тестовик есть, то то запустить msgbox.vbs, если тескстовика нет, то запустить start.exe(будет папка, в ней проверяющий батник,msgbox.vbs,start.exe).
0
alpap
1364 / 1095 / 348
Регистрация: 26.04.2015
Сообщений: 3,916
10.12.2017, 18:46 #6
Цитата Сообщение от mokilo Посмотреть сообщение
по пути C:file/ тестовик file.txt
далеко можно зайти по такому пути, поэтому сначала азы и "правописание", потом помощь (тем более что ваша задача легко решается одной строкой и только самый самый-самый ленивый не найдет решения поиском)
0
mokilo
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 13
11.12.2017, 23:35 #7
Извиняюсь, но я батниками вообще пользоваться не умею по этому и прошу помощи, а т.к. В батниках не шарю интернет мне не помог
Насколько я понял то команда будет выглядеть так
Windows Batch file
1
if exits "C:files\file.txt" start msgbox.vbs else start start.exe
Добавлено через 7 часов 23 минуты
Все, я все понял
[WINBATCH]if exist "C:\File.txt" start msgbox.vbs else start.exe[WINBATCH/]
Но.. Если не срабатывает else, текстовик есть выдается сообщение, если текстовика нет, то ничего не происходит.
Помогите пожалуйста иправить ошибку.

Добавлено через 21 минуту
cdjsend, попробуй так если еще надо, но может не сработать т.к. Только начинаю разбираться
Windows Batch file
1
if not exist "C:/папка1/1txt" and "C:/папка2/2.txt" start "C:/папка3/3.txt" else if exist "C:/папка1/1.txt" and not exist "C:/папка2/2.txt" start "C:/папка4/4.txt" else if exist "C:/папка2/2.txt" and if not exist "C:/папка1/1.txt" start "C:/папка5/5.txt"
Знающие, проверьте выше указанный скрипт, если он им является.

Добавлено через 4 минуты
Но... Не срабатывает else,если текстовик есть, то сообщение открывается, если его нет, то start.exe не запускается*
Имя правильное
0
alpap
1364 / 1095 / 348
Регистрация: 26.04.2015
Сообщений: 3,916
12.12.2017, 02:03 #8
Цитата Сообщение от mokilo Посмотреть сообщение
if exits "C:files\file.txt" start msgbox.vbs else start start.exe
больно смотреть

(ни в коем случае не давать файлам имена равные именам команд - start.exe - чревато)

Цитата Сообщение от mokilo Посмотреть сообщение
Если тестовик есть, то то запустить A, если тескстовика нет, то запустить B

Не по теме:

как на пожар


Windows Batch file
1
2
if not exist "C:\Papka\текстовик.txt" (start "Заголовок" "Диск:\папка\Proga.exe") else (start "" "Диск:\папка\msgbox.vbs")
pause
Добавлено через 3 минуты
Цитата Сообщение от mokilo Посмотреть сообщение
но я батниками вообще пользоваться не умею
а если не будете пытаться освоить хотя бы азы, вам и готовое решение не поможет (или ненадолго, до первой проблемки)
0
volodin661
1742 / 853 / 144
Регистрация: 10.12.2013
Сообщений: 2,919
12.12.2017, 08:06 #9
Цитата Сообщение от mokilo Посмотреть сообщение
Извиняюсь, но я батниками вообще пользоваться не умею
В данном случае парня можно понять и простить.

mokilo,
с момента об'явления компанией-производителем Windows XP устаревшей и неподдерживаемой
( на очереди к официальному забвению находится также Windows Vista )
основным 'консольным' средством автоматизации Windows является powershell.

Поэтому морочить себе голову изучением 'азов' cmd, как здесь советуют, не надо от слова совсем.

А что надо ?
А надо разбираться в powershell причём самой последней версии ( 5.1 на тек. момент )

Набрать в консольном окне powershell:
PowerShell
1
Test-Path file.txt
Если файл существует, система отреагирует выводом слов 'True'.

Добавить условие и вызвать внешний процесс можно так:

PowerShell
1
if ( test-path file.txt ) { &C:\Windows\System32\notepad.exe file.txt }
Дальнейшие разборки целесообразно вести в соответств. ветке форума.
0
mokilo
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 13
12.12.2017, 15:57 #10
Спаибо!Попробую, но батники и powersell мне особо не нужны
0
volodin661
1742 / 853 / 144
Регистрация: 10.12.2013
Сообщений: 2,919
12.12.2017, 19:05 #11
так и я сам, собственно, предпочитаю варёную картошку с селёдкой, посыпанной зелёным луком.
0
mokilo
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 13
12.12.2017, 19:15 #12
а else как оформить??
0
alpap
1364 / 1095 / 348
Регистрация: 26.04.2015
Сообщений: 3,916
12.12.2017, 19:17 #13
транзитом
0
mokilo
0 / 0 / 0
Регистрация: 09.12.2017
Сообщений: 13
12.12.2017, 19:41 #14
????
Что это

Добавлено через 19 минут
alpap, сработало!!!
0
12.12.2017, 19:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2017, 19:41
Привет! Вот еще темы с решениями:

Проверка наличия на диске в указанном каталоге файла Numbers.txt, содержащего 2 столбца целых чисел
Проверка наличия на диске в каталоге, указанном первым параметром КФ, файла...

Проверка наличия файлов
Помогите написать код!) Вот задание: Проверка наличия на диске в каталоге,...

Проверка наличия интернета
Привет всем! Столкнулся с проблемой проверки наличия подключения интернета...

Проверка наличия папок
Здравствуйте уважаемые господа возникла такая проблема нужно сделать проверку...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru