|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Путаница в ключах |
|
|
CMD/BAT - [решено] Путаница в ключах
|
Новый участник Сообщения: 19 |
Добрый день!
Имеется задача. Помогите с решением. Дано: Список №1 = Выбранные компьютеры Список №2 = Уникальные номера Задача: Создать на выбранных компьютерах каталоги с уникальными номерами. Накатал батник: @echo off set ComputerList=listfile.txt set ID=PiontID.txt for /f "tokens=1" %%a in (%PointID%) do ( for /f %%i in (%ComputerList%) do start cmd /c "psexec.exe \\%%i cmd /c mkdir \\%%i\c$\Temp\%%a" ) c:\Temp\1050 c:\Temp\1100 c:\Temp\1150 А должно быть по одной директории на каждом компьютере,т.е. на компьютере pc-nb-01 должен появиться каталог c:\Temp\1050, на pc-nb-02 - c:\Temp\1100 и на pc-nb-03 - c:\Temp\1150. Как говориться "запутался в трёх соснах" ![]() Помогите разобраться, какие ключи после for /f необходимо поставить, чтобы добиться желаемого результата. |
|
Отправлено: 14:14, 11-03-2016 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать @echo off setlocal enabledelayedexpansion set "ComputerList=listfile.txt" set "ID=PointID.txt" set n=0 for /f delims^=^ eol^= %%a in ('type "%ComputerList%"') do ( set /a n+=1 set m=0 for /f delims^=^ eol^= %%b in ('type "%ID%"') do ( set /a m+=1 if !n!==!m! echo %%a %%b (Напишите свою команду) )) pause>nul |
Отправлено: 18:45, 11-03-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Спасибо за ответ!
Сейчас попробовал Ваш вариант, написав свою команду (start cmd /c "psexec.exe \\%%a cmd /c mkdir \\%%a\c$\Temp\%%b") : @echo off setlocal enabledelayedexpansion set "ComputerList=listfile.txt" set "ID=PointID.txt" set n=0 for /f delims^=^ eol^= %%a in ('type "%ComputerList%"') do ( set /a n+=1 set m=0 for /f delims^=^ eol^= %%b in ('type "%ID%"') do ( set /a m+=1 if !n!==!m! echo %%a %%b start cmd /c "psexec.exe \\%%a cmd /c mkdir \\%%a\c$\Temp\%%b" )) pause>nul pc-nb-01 1050 start cmd /c "psexec.exe \\pc-nb-01 cmd /c mkdir \\pc-nb-01\c$\Temp\1050" pc-nb-02 1100 start cmd /c "psexec.exe \\pc-nb-02 cmd /c mkdir \\pc-nb-02\c$\Temp\1100" pc-nb-03 1150 start cmd /c "psexec.exe \\pc-nb-03 cmd /c mkdir \\pc-nb-03\c$\Temp\1150" Попробовал свою команду выполнить с новой строки: @echo off setlocal enabledelayedexpansion set "ComputerList=listfile.txt" set "ID=PointID.txt" set n=0 for /f delims^=^ eol^= %%a in ('type "%ComputerList%"') do ( set /a n+=1 set m=0 for /f delims^=^ eol^= %%b in ('type "%ID%"') do ( set /a m+=1 if !n!==!m! echo %%a %%b start cmd /c "psexec.exe \\%%a cmd /c mkdir \\%%a\c$\Temp\%%b" )) pause>nul c:\Temp\1050 c:\Temp\1100 c:\Temp\1150 |
Отправлено: 11:45, 12-03-2016 | #3 |
Ветеран Сообщения: 874
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:04, 12-03-2016 | #4 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Большое спасибо за быстрые ответы.
Вариант, предложенный Georgio, отработал так как надо: На компьютере pc-nb-01 появился каталог c:\Temp\1050 На компьютере pc-nb-02 появился каталог c:\Temp\1100 На компьютере pc-nb-03 появился каталог c:\Temp\1150 Больше никаких лишних папок в каталоге c:\Temp\ ни на одном компьютере не появилось. Ещё раз спасибо! |
|
Отправлено: 15:06, 12-03-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Roman_Ko, для чего тут нужен «start cmd /c "…»?! Дабы не ждать?
|
Отправлено: 15:08, 12-03-2016 | #6 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Ответ на Ваш вопрос - да, дабы не ждать. Спасибо. |
|
Отправлено: 22:49, 12-03-2016 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Roman_Ko, вот токмо у Вас там не «mkdir», а «psexec.exe».
|
Отправлено: 23:24, 12-03-2016 | #8 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать psexec.exe для удаленного выполнения mkdir...Я наверное несовсем понял о чем Вы хотели спросить. Можно без psexec?
|
Отправлено: 10:38, 13-03-2016 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Roman_Ko:
Цитата:
|
||
Отправлено: 16:18, 13-03-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
8 / 2012 - Путаница с буквами дисков при автоматической установки с флешки | JonyBest | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 0 | 17-03-2014 10:47 | |
Путаница с буквами дисков при автоматической установки с флешки.. | vasya00 | Автоматическая установка Windows 2000/XP/2003 | 9 | 31-07-2012 20:37 | |
Установка - путаница с разделами диска | Vowan | Microsoft Windows 2000/XP | 7 | 01-10-2010 16:50 | |
Службы - [решено] Архивация и восстановление. Путаница с системными разделами. | Borg1987 | Microsoft Windows 7 | 2 | 31-12-2009 00:04 | |
FreeBSD - Путаница с доступами к папкам | Tosha_l | Общий по FreeBSD | 1 | 18-05-2008 09:53 |
|