|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Если файл существует, то - ___, если не существует, то___ |
|
|
CMD/BAT - [решено] Если файл существует, то - ___, если не существует, то___
|
Пользователь Сообщения: 105 |
Профиль | Отправить PM | Цитировать Здравствуйте. Помогите пожалуйста найти ошибку в скрипте.
IF EXIST "C:\ps1\ok.txt" goto :eof ELSE (schtasks /Create /SC OnLogon /RU "system" /TN "ExcelWinwordStop-CopyAmtlib-ActivateKMS-ONSTART" /RL HIGHEST /DELAY 0000:30 /TR c:\ps1\StopExcelCopyAtmlibStartKMS-ONSTART.vbs ) & nul>ok.txt pause Смысл скрипта. Если в указанной дирректории нет файла, то в планировщике создается задача а вместе с ней и файл в дирректории, если файл существует, то скрипт прерывается. Очень прошу помощи. Много читал про оператор IF, но недосягаемо для моего понимания похоже... Спасибо! |
|
Отправлено: 13:05, 24-03-2021 |
fascinating rhythm Сообщения: 6577
|
Профиль | Отправить PM | Цитировать Сама по себе команда в скобках нормально отрабатывает?
|
------- Отправлено: 13:37, 24-03-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Да, команда отрабатывает, задание в планировщике создается с необходимыми параметрами
IF EXIST "C:\ps1\ok.txt" goto :eof - это в отдельности тоже отрабатывает нормально nul>C:\ps1\ok.txt - тоже в отдельности отрабатывает нормально Не могу все это связать в пакетный файл. Был вариант такой проверки: IF EXIST C:\Windows\System32\Tasks\ONSTART goto :eof ELSE schtasks /Create /SC OnLogon /RU "system" /TN "ONSTART" /RL HIGHEST /DELAY 0000:30 /TR c:\ps1\ONSTART.vbs но ничего не получилось, т.к. у файлов в папке TASKS нет расширения... |
Отправлено: 14:12, 24-03-2021 | #3 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Проблему получилось решить таким образом. Похожий скрипт нашел на форуме и изменил. Вроде, работает. На мой взгляд все как-то громоздко и проверка не должна быть привязана к существованию файлов в дирректории, а должна быть привязана к существованию задания в планировщике...
@echo off SET SNMP=C:\ps1\ok.txt IF EXIST "%SNMP%" CALL :St IF NOT EXIST "%SNMP%" GOTO :Inst :Inst (schtasks /Create /SC OnLogon /RU "system" /TN "ONSTART" /RL HIGHEST /DELAY 0000:30 /TR c:\ps1\ONSTART.vbs) & (nul>C:\ps1\ok.txt) GOTO: EOF :St chcp 1251 ECHO Zapusk skripta %DATE% - %TIME% >> C:\ps1\suschestvuet.txt GOTO :EOF pause |
Отправлено: 15:52, 24-03-2021 | #4 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать а так?
IF not exist "C:\ps1\ok.txt" (schtasks /Create /SC OnLogon /RU "system" /TN "ExcelWinwordStop-CopyAmtlib-ActivateKMS-ONSTART" /RL HIGHEST /DELAY 0000:30 /TR "C:\ps1\StopExcelCopyAtmlibStartKMS-ONSTART.vbs"& rem:>"C:\ps1\ok.txt") else goto :eof Цитата epoddubniy:
|
||
Отправлено: 15:52, 24-03-2021 | #5 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Большая просьба помочь с реализацией привязки к планировщику, то есть, сначала происходит проверка наличия задания в планировщике. Если задание есть, скрипт прерывается, если нет, то - создается. Если подобное можно реализовать через powershell буду очень признателен за помощь.
Цитата alpap:
|
|
Отправлено: 15:55, 24-03-2021 | #6 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата epoddubniy:
|
|
Отправлено: 16:11, 24-03-2021 | #7 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Цитата alpap:
|
|
Отправлено: 17:51, 24-03-2021 | #8 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Цитата:
Цитата:
Цитата:
|
|||
Отправлено: 14:27, 25-03-2021 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:26, 25-03-2021 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Переименование, если файл с таким именем уже существует... | Pshek | Скриптовые языки администрирования Windows | 15 | 30-07-2018 15:51 | |
CMD/BAT - [решено] Если файл существует, то запустить на другой машине | Alexander_88 | Скриптовые языки администрирования Windows | 3 | 10-07-2018 10:32 | |
CMD/BAT - [решено] если файл существует, выполнить | Alexander_88 | Скриптовые языки администрирования Windows | 5 | 01-07-2018 13:54 | |
CMD/BAT - создать файл если не существует | t0ster | Скриптовые языки администрирования Windows | 0 | 22-05-2017 21:25 | |
CMD/BAT - [решено] Если папка существует то... | Qweezy | Скриптовые языки администрирования Windows | 2 | 08-01-2014 02:23 |
|