![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Цикл FOR где ошибка?что не так? |
|
CMD/BAT - [решено] Цикл FOR где ошибка?что не так?
|
Старожил Сообщения: 151 |
Всем привет!
Почему пропадает значение переменной %nm% при переходе в другой for значение обнуляется... Вот код @Echo On setlocal enableextensions enabledelayedexpansion Set Folder=E:\Projects\upd\foldx Set OutFolder=E:\Projects\upd\in Set txt_list=E:\Projects\upd\copy.txt For /F %%i In (%txt_list%) Do ( Set nm=%%i for /f "tokens=*" %%a in ('Dir /b/s/a-d %Folder%\*%nm%*.*') Do (Set $Path=%%a & goto :copy) ) :copy xcopy /l /h /t "%$Path%" "%OutFolder%\*" Pause Exit |
|
Отправлено: 18:44, 01-07-2013 |
Ветеран Сообщения: 1759
|
1. Зачем эта переменная вообще? Используйте переменную первого цикла %%i
2. Или соблюдайте синтаксис, переменная должна выглядеть так !nm! |
Отправлено: 19:07, 01-07-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать Пути заработали но как от %$Path% отсечь %Folder% и прибавить к %OutFolder%
Если математически то так (%OutFolder%+(%$Path% - %Folder%)) Если наглядно то так E:\Projects\upd\in + (E:\Projects\upd\foldx\new\1\AB12345.exe - E:\Projects\upd\foldx\new) = E:\Projects\upd\in + \new\1\AB12345.exe Ведь для копирования нужны абсолютные пути... @Echo On setlocal enableextensions enabledelayedexpansion Set Folder=E:\Projects\upd\foldx Set OutFolder=E:\Projects\upd\in Set txt_list=E:\Projects\upd\copy.txt For /F %%i In (%txt_list%) Do ( Set nm=%%i for /f "tokens=*" %%a in ('Dir /b/s/a-d %Folder%\*!nm!*.*') Do (Set $Path=%%a & goto :copy) ) :copy xcopy /l /h /t "%$Path%" "%OutFolder%\" Pause Exit |
Отправлено: 20:17, 01-07-2013 | #3 |
Ветеран Сообщения: 1759
|
nfs911,
Мне не совсем понятно, что надо копировать, nm, как я понял какая-то часть названия файла? Ну так зачем его тогда искать? Если xcopy это умеет. Как-то так, не проверял - xcopy скопирует файлы, подходящие под маску *%%i*.* с путями, начиная с текущей папки "E:\Projects\upd\foldx" |
Последний раз редактировалось Foreigner, 01-07-2013 в 23:21. Отправлено: 22:50, 01-07-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата nfs911:
|
||
Отправлено: 23:12, 01-07-2013 | #5 |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать Foreigner, работает ваш код.Написано что файл скопирован но папка пуста
|
Отправлено: 23:33, 01-07-2013 | #6 |
Ветеран Сообщения: 1759
|
nfs911, Ну так убери ключик /l
|
Отправлено: 23:49, 01-07-2013 | #7 |
Старожил Сообщения: 151
|
Профиль | Отправить PM | Цитировать Foreigner, благодарю
я думал что выводит для наглядности а оказывается в холостую)) |
Отправлено: 01:24, 02-07-2013 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Что тут не так ?) | skazi69 | Тест-форум | 3 | 23-11-2011 19:01 | |
Ни разу не собирал комп. Какова вероятность, что что-то пойдёт не так? | Twix1124 | Выбор отдельных компонентов компьютера и конфигурации в целом | 2 | 23-10-2011 13:21 | |
подскажите что не так?? | beboo123 | Ноутбуки | 1 | 01-09-2011 19:04 | |
[решено] Возникла ошибка - Resource id #5, непойму что не так..... | Bullet-Avalon | Вебмастеру | 2 | 26-09-2009 15:37 | |
Что не так? | Guest | Программирование и базы данных | 1 | 10-03-2003 21:43 |
|