Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверка наличия папки, запись в лог

Ответить
Настройки темы
CMD/BAT - [решено] Проверка наличия папки, запись в лог

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: yura_
Дата: 24-03-2016
Всем день добрый , будь немного больше времени поковырялся бы сам . но у нас как всегда нужно было еще вчера , так что прошу помощи)

Есть список ПК (пусть будет pk.txt) нужно что бы батник пробежался по списку проверяя одну папку на всех пк (\\$computername\C$\Program Files\test1 )

если папки нету то записать в лог
вот что пока пришло в голову

первый проверяет доступность пк по списку

@echo off
*
for /f "usebackq tokens=1*" %%i in ("pk.txt") do (
*start "%%j " cmd /c "<nul>%%i.txt set/p=%%i - & ping -w 1000 %%i| >>%%i.txt (>&2 findstr/rc:"[0-9]: "&& echo OK|| echo NO)"
*call set x=%%i.txt+%%x%%
)
>nul (ping -n 16 ""& copy %x%nul "log.txt"/b)& del %x:+= %& start "" "log.txt"
*
exit/b 0


второй проверяет само наличие папки и записывает лог есть или нету


@Echo Off

Set Papka=<\\computername\C$\Program Files\test1>

If Exist "%Papka%\*.*" Echo Dir %Papka% exist >> logyes.txt
If Not Exist "%Papka%\*.*" Echo dir %Papka% doesnt exist >>lognot.txt

загвоздка в том что не могу додуматься как заставить это все работать воедино
и брать переменную \\computername\ из списка pk.txt


Зарание спасибо

Отправлено: 11:51, 24-03-2016

 

Аватара для advin

Пользователь


Сообщения: 109
Благодарности: 9

Профиль | Сайт | Отправить PM | Цитировать


Пойдет?
Сделай главный файл, в него вставь этот код.
Рядом положи base.txt в него в столбик имена пк:
pc1
pc1
pc1

Код: Выделить весь код
cls
@ECHO off
ECHO ╔═════════════════════════════════════════════════════════════╗
ECHO ║                   Проверка наличия папки                    ║
ECHO ╚═════════════════════════════════════════════════════════════╝
FOR /f %%h in (base.txt) do (
ECHO                                          ... >> Check.log
ECHO ████ 	Запущено на: %%h >> Check.log
ECHO █	Соединение успешно установлено		- %date% - %time:~0,8% >> Check.log
PING %%h /n 1 | FIND "(0%" > nul 2>&1 && (
ECHO 	
cls
ECHO ---------------------------------------------- >> Check.log
if exist "\\%%h\c$\Program Files\test1"         ECHO 	+ Обнаружено >> Check.log
if not exist "\\%%h\c$\Program Files\test1\"     ECHO  	- Не обнаружено >> Check.log
ECHO ---------------------------------------------- >> Check.log
ECHO █ >> Check.log
ECHO ████ 	Завершено на: %%h >> Check.log
ECHO                                          ... >> Check.log
 )
PING %%h /n 1 | FIND "(0%" > nul 2>&1 || (
ECHO %%h - КОМПЬЮТЕР НЕ ОТВЕЧАЕТ - %date% - %time:~0,8% >> WARNING_Check.log
ECHO ████ 	Завершено на: %%h >> WARNING_Check.log
  )
)
На выходе лог Check.log

Код: Выделить весь код
                                         ... 
████ 	Запущено на: pc1 
█	Соединение успешно установлено		- 24.03.2016 - 17:58:23 
---------------------------------------------- 
	+ Обнаружено 
---------------------------------------------- 
█ 
████ 	Завершено на: pc1
                                         ... 
                                         ... 
████ 	Запущено на: pc2 
█	Соединение успешно установлено		- 24.03.2016 - 17:58:24 
---------------------------------------------- 
	- Не обнаружено 
---------------------------------------------- 
█ 
████ 	Завершено на: pc2
                                         ...
Если пк не найден, он запишет в другой файл WARNING_Check.log
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:02, 24-03-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо большое помог!

Отправлено: 14:17, 28-03-2016 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Проверка наличия папки, запись в лог

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Проверка наличия параметров GhostKU Скриптовые языки администрирования Windows 6 29-07-2017 23:53
Любой язык - проверка наличия файла в директории icetanker Скриптовые языки администрирования Windows 11 19-10-2014 21:37
CMD/BAT - проверка наличия файлов neprotiv Скриптовые языки администрирования Windows 0 04-04-2013 22:09
CMD/BAT - Проверка наличия папки на FTP сервере Joshomaki Скриптовые языки администрирования Windows 0 04-10-2012 07:34
Любой язык - [решено] Проверка наличия обновления SANIOK_AV Скриптовые языки администрирования Windows 4 18-08-2011 14:47




 
Переход