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

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

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

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


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

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


Доброго времени суток Господа.

Я начинающий системный администратор в компании где есть больше 100 ПК.
Решил немного автоматизировать работу. Но со командной строкой и ВАТ - файлами не очень знаком, то что пытаюсь сам сделать пока только маленькие ват-ники .
Прошу вашей помощи.

В доменне есть в сети 100 компов, я со своего компа под доменным админом логинюсь .
Нужен ВАТ ник который ищет на компах в доменне на диске d:\ папку work а если ее там нету то создать.

Вот сделал ват ник на своем компе работает отлично

dir e:\"WORK"
if not exist do mkdir "e:\WORK"

помогите как это все сделать и на сеттевых компах.
Заранее благодарен.

Отправлено: 12:51, 05-09-2017

 

Аватара для Казбек

Ветеран


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

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


azisis,

Testing If a Drive or Directory Exists from a Batch File
Цитата:
Neither of these tests works correctly with network devices or any other device that does not have a block device-driver-controlled FAT file system (for example, when you are using Windows for Workgroups 3.11 with 32-Bit File Access enabled).

Prior to using this technique, you should know what network software the client is using, what type of server they're connecting to, and the file system the server is using.
Цитата azisis:
if not exist do mkdir "e:\WORK" »
Правильно так:
Код: Выделить весь код
if exist E:\Work\NUL echo "Folder already exists"

if not exist E:\Work\NUL echo "Folder does not exist"
Потому что кроме папки Work, может еще существовать файл с таким же именем, поэтому необходимо дописывать:
Код: Выделить весь код
\NUL
Собственно обоснование простое:
Цитата:
NUL always exists on a local MS-DOS FAT drive; therefore, if C:\WIN exists, C:\WIN\NUL exists.

-------
Кто реку перешел, тому росы бояться ни к чему


Последний раз редактировалось Казбек, 05-09-2017 в 13:38.


Отправлено: 13:26, 05-09-2017 | #2



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

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


Ветеран


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

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


Для этого есть GPP - https://www.ntweekly.com/?p=9195 ,Configure a Folder Item


Это сообщение посчитали полезным следующие участники:

Отправлено: 13:34, 05-09-2017 | #3


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


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

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


Kazun забыл еще дописать, основной сисадмин , не дает пока мне прав доступа к АД, так что пока приходится придумывать как это сделать скриптами (((

Казбек, полезно спасибо , такого также не знал, а как сделать такое еще с сетевыми компами ?

Отправлено: 13:52, 05-09-2017 | #4


Ветеран


Contributor


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

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


azisis,
Код: Выделить весь код
@Echo Off
cls

Set "ShareDisk=D$"
Set "OutFold=Work"

FOR /F %%s IN ('Net view') DO Call :Out %%s
GoTo :Eof

:Out
	Set "CompName=%1"
	If %CompName:~0,2%== \\ If Exist "%CompName%\%ShareDisk%\" (
		If Not Exist "%CompName%\%ShareDisk%\%OutFold%\" Md "%CompName%\%ShareDisk%\%OutFold%"  
	)	
GoTo :Eof
Полезная статья по net view. Возможно в net view полезно указать имя домена

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 05-09-2017 в 14:07.


Отправлено: 13:58, 05-09-2017 | #5


Аватара для Elven

Ветеран


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

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


azisis, делать такое с сетевыми компами так же, только вместо локального диска указывается удаленный, кроме того, учетная запись, от которой выполняется скрипт, должна иметь доступ к указываемому ресурсу (upd: оказывается megaloman уже все написал).
Если основной сисадмин (надо же, какая должность забавная) не дает доступа к GPO, значит пусть сам создаст эту папку предложенным Kazun способом. Это сделать проще и надежнее чем удаленно дергать все компы - к скрипту, как минимум, придется прикручивать проверку на доступность хоста и на созданность папки.

Отправлено: 14:00, 05-09-2017 | #6


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


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

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


Елвен, проверка на самостоятельность, типа испытательного срока ((((
мегаломан, огромное спасибо , сейчас буду пробовать, если что можно еще за помощью будет обратится ?
а то планов куча а ума не так много (((

megaloman - а можно еще как нибудь привязать текстовый файл , например list.txt с номерами компов в доменне ?

На всех компах создало каталог work

Отправлено: 14:10, 05-09-2017 | #7


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


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

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


в вашем скрипте создает папку work на все ПК в сети, я например не хочу что бы на PC1, PC2 i PC10 папка work не создавалась на диске д.
Я создал текстовый файл в котором прописаны все номера ПК в домене - PC3 PC4 PC5...PC9 PC11 .... за исключением этих троих PC1, PC2 i PC10 , файл называется list.txt
хочу спросить можно что бы искало папку work на диске д только на тех компах которые прописаны в текстовом файле

то есть создавало папку work только на тех ПК которые прописаны в текстовом файле ?

Отправлено: 14:30, 05-09-2017 | #8


Ветеран


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

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


Цитата Казбек:
Правильно так: »
Казбек, ещё правильнее будет так:
Код: Выделить весь код
if exist "E:\Work\." echo Folder already exists
поскольку запись «.», означающая ссылку на сам каталог, физически присутствует в оглавлении каталога.

Отправлено: 15:32, 05-09-2017 | #9


Ветеран


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

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


Цитата azisis:
за исключением »
Код: Выделить весь код
@echo off
for /f "delims=\ " %%a in ('net view^|find "\"^|findstr /irv /c:"PC1" /c:"PC2" /c:"PC10"') do echo Действия для %%a
pause

Отправлено: 15:35, 05-09-2017 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Проверка существования и создание трех файлов slip. Скриптовые языки администрирования Windows 1 05-10-2014 18:24
2008 R2 - Создание отдельной папки для каждого пользователя локальной сети (под логином и паро) sokol140387 Windows Server 2008/2008 R2 9 31-08-2012 11:11
Прочие - Создание, наложение и проверка ЭЦП Kapuha Программное обеспечение Windows 4 19-08-2011 08:01
PowerShell - проверка по имени папки AntiZero Скриптовые языки администрирования Windows 0 24-03-2011 12:16




 
Переход