|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Помощь со скриптом - проверка наличия файла и процессов |
|
|
CMD/BAT - [решено] Помощь со скриптом - проверка наличия файла и процессов
|
Пользователь Сообщения: 65 |
Товарищи, помогите, пожалуйста, написать скрипт для Windows XP.
Задача: проверить наличие файла test1: 1) если файл есть, то ничего не делать. Выход. 2) если файла нет, то: 2.1) проверить наличие процесса proc1: Если есть - завершить, если нет - ничего не делать. 2.2) проверить наличие процесса proc2: Если есть - завершить, если нет - ничего не делать. 2.3) скопировать test1.a --> test1, запустить proc1 (тот сам запустит proc2, потому этого достаточно). Я, к сожалению, в скриптах не силен. В Linux простые скрипты мне даются, а в Windows пока никак. Буду благодарен за помощь. Спасибо. |
|
Отправлено: 09:34, 03-05-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:58, 03-05-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 65
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо за ваш ответ.
Уточняю. Цитата Iska: Проверить наличие файла где? » в том же самом каталоге, где будет скрипт для удобства и т.п., допустим, все лежит в D:\script1 Цитата Iska: А если нет test1.a? » лучше тогда, конечно, что-то типа touch test1 Цитата Iska: Откуда запустить? » всё в пределах одного каталога. Если можно использовать глобальные переменные, то тогда там можно пути прописать. |
Последний раз редактировалось DimmKo, 03-05-2018 в 12:02. Причина: уточнение пути Отправлено: 12:01, 03-05-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата DimmKo:
Цитата DimmKo:
|
||
Отправлено: 12:19, 03-05-2018 | #4 |
Пользователь Сообщения: 65
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Iska:
Предлагаю немного логику поменять. Убрать скопировать test1.a --> test1 и создать test1 Т.е. если файла test1 не существует, то создадим его. Как есть, без расширений и т.п. в Linux это делает команда touch, как в Windows не знаю. |
||
Отправлено: 12:51, 03-05-2018 | #5 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Упущен вариант с наличием НЕСКОЛЬКИХ одноименных процессов. Пока рыбы набросал...
if not exist test1 ( for /f "tokens=2" %%i in ('tasklist ^| findstr ^"proc1.exe proc2.exe^"') do ( taskkill /PID %%i /F ) if exist test1.a ( copy test1.a test1 start proc1.exe ) ELSE ( type NUL > test1 start proc1.exe ) ) |
Отправлено: 12:59, 03-05-2018 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать DimmKo, вообще-то touch делает немного другое. Ну, да ладно.
Реальные имена вместо test1, proc1, proc2 расставляйте сами. |
Отправлено: 13:14, 03-05-2018 | #7 |
Пользователь Сообщения: 65
|
Профиль | Сайт | Отправить PM | Цитировать Elven, спасибо большое... сейчас попробую на тестовой машине проверить.
Цитата Elven:
Мне сейчас хотя бы понимать, что файл есть или нет, и от этого уже думать. Скрытый текст
Конечно, у меня вощникла мысль, расшарить каталог, подцепить его в linux, и там сделать проверку наличия файла. Но хотелось бы штатными средствами это решить. Цитата Iska:
Спасибо за помощь. Сейчас проверю. |
||
Отправлено: 13:15, 03-05-2018 | #8 |
Пользователь Сообщения: 65
|
Профиль | Сайт | Отправить PM | Цитировать Iska, огромное спасибо за Вашу работу (скрипт).
Поставил в планировщик - всё супер. Скажите, пожалуйста, можно ли добавить сюда логирование? Ну что бы он в текстовый документ писал что он делает? И еще, могу ли я использовать данный скрипт (со ссылкой на эту тему и на вас, как автора) в написании заметки? Спасибо. |
Отправлено: 14:39, 11-05-2018 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата DimmKo:
Цитата DimmKo:
|
||
Отправлено: 14:50, 11-05-2018 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - проверка наличия файла в директории | icetanker | Скриптовые языки администрирования Windows | 11 | 19-10-2014 21:37 | |
VBS/WSH/JS - Проверка наличия файла в папке в случае отсутствия перезагружать компьютер | NickCom | Программирование и базы данных | 4 | 19-08-2013 05:13 | |
CMD/BAT - [решено] автоматическая проверка наличия файла и его шифрование | DorianWolf | Скриптовые языки администрирования Windows | 2 | 10-12-2012 17:31 | |
Любой язык - [решено] Проверка наличия файла на веб-сервере | Vadikan | Скриптовые языки администрирования Windows | 5 | 20-05-2011 01:22 | |
CMD/BAT - [решено] Определение атрибута файла & проверка наличия процесса | user_123 | Скриптовые языки администрирования Windows | 10 | 19-11-2010 16:15 |
|