Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


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

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


Рискую быть подвергнутым остракизму, но мне не нравится идея отдельного файла, все компы прописал в самом батнике
Код: Выделить весь код
@Echo Off
cls

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

FOR /F "usebackq Skip=2 tokens=1 delims=[]" %%n IN (`Find /I /N ":List_Computers" "%~dpnx0"`) DO Set /A NSkip=%%n
FOR /F "usebackq tokens=*" %%s IN (`more +%NSkip% "%~dpnx0"`) DO (If /I "%%s"=="GoTo :Eof" GoTo :Continue) &Call :Out \\%%s
:Continue

Pause
GoTo :Eof

:Out
	If Exist "%1\%ShareDisk%\" (
		If Not Exist "%1\%ShareDisk%\%OutFold%\" (
			Md "%1\%ShareDisk%\%OutFold%"
			If Not Exist "%1\%ShareDisk%\%OutFold%\" Echo Folder %1\%ShareDisk%\%OutFold% not created.
		) Else (
			Echo Folder %1\%ShareDisk%\%OutFold% already exists
		)
	) Else (
		Echo Disk %1\%ShareDisk% not Found
	)	
GoTo :Eof

:List_Computers
PC3
PC4
PC5
PC9
PC11
GoTo :Eof
Добавил вывод информационных сообщений
По письмам трудящихся, вот с отдельным файлом
Код: Выделить весь код
@Echo Off
cls

Set "ShareDisk=D$"
Set "OutFold=Work"
Set "ListComp=Z:\Box_In\List.txt"

FOR /F "usebackq tokens=*" %%s IN ("%ListComp%") DO Call :Out \\%%s

Pause
GoTo :Eof

:Out
	If Exist "%1\%ShareDisk%\" (
		If Not Exist "%1\%ShareDisk%\%OutFold%\" (
			Md "%1\%ShareDisk%\%OutFold%"
			If Not Exist "%1\%ShareDisk%\%OutFold%\" Echo Folder %1\%ShareDisk%\%OutFold% not created.
		) Else (
			Echo Folder %1\%ShareDisk%\%OutFold% already exists
		)
	) Else (
		Echo Disk %1\%ShareDisk% not Found
	)	
GoTo :Eof
В файле Z:\Box_In\List.txt
Код: Выделить весь код
PC3
PC4
PC5
PC9
PC11

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


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

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

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