|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как скопировать файлы, указаные в txt файле |
|
CMD/BAT - [решено] Как скопировать файлы, указаные в txt файле
|
Новый участник Сообщения: 12 |
Профиль | Сайт | Отправить PM | Цитировать
Есть список файлов в txt файле
Например: ........... hl2\materials\Brick\brickwall003a.vtf hl2\materials\Brick\brickwall009a.vmt ........... hl2\materials\Concrete\concretefloor003c.vmt hl2\materials\Concrete\concretefloor003c.vtf ........... hl2\materials\Props\combine_display01c.vmt hl2\materials\Props\combine_display01c.vtf ........... Может можно как-то указать эту группу файлов команде COPY? Очень на вас надеюсь. |
|
Отправлено: 14:10, 19-09-2010 |
Ветеран Сообщения: 2725
|
Профиль | Отправить PM | Цитировать @Echo Off Set To=E:\Delete\NewDir Set Txt=E:\Delete\txt.txt FOR /F "usebackq delims=" %%i IN ("%Txt%") DO xCopy "%%i" "%To%\%%i\" /s /y >nul Если в путях и именах имеются русские буквы - текст файла и батника должны быть в 866 (Dos) кодировке. |
------- Отправлено: 15:11, 19-09-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Скрипт выполняет основную задачу, но он создает каталог с названием копируемого файла, в котором лежит сам копируемый файл.
Тоесть получилось так: P.S: можно еще указать параметры, чтобы можно было видеть выполнение процесса? И что бы при ошибках (например, если исходный файл не существует) высвечивалось сообщение? |
Последний раз редактировалось MrLOLs, 19-09-2010 в 15:57. Отправлено: 15:26, 19-09-2010 | #3 |
Ветеран Сообщения: 2725
|
Профиль | Отправить PM | Цитировать Виноват!!! не увидел при тестировании, что создаются директории, воспринял их как файлы. Если написать
@Echo Off Set To=E:\Delete\NewDir Set Txt=E:\Delete\txt.txt FOR /F "usebackq delims=" %%i IN ("%Txt%") DO xCopy "%%i" "%To%\%%i" /s /y >nul |
------- Отправлено: 15:58, 19-09-2010 | #4 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо огромнейшее!!!! )))
|
|
Отправлено: 16:28, 19-09-2010 | #5 |
Ветеран Сообщения: 2725
|
Профиль | Отправить PM | Цитировать Вот Вариант. Если нет исходного файла, скрипт остановится с сообщением
Если запустить этот батник с параметром =1, например kuku.bat 1, полУчите лог-файл процесса. Батник останавливаться не будет - смотрите лог. @Echo Off Set To=E:\Delete\NewDir Set Txt=E:\Delete\txt.txt Set FLog=E:\Delete\txt.log Del %FLog% >nul 1>nul 2>nul If Not '%1'=='' (Set Log=%1) Else (Set Log=0) FOR /F "usebackq delims=" %%i IN ("%Txt%") DO Call :Coping "%%i" "%To%\%%i" GoTo :Eof :Coping If Not Exist %1 (if %Log%==1 (Echo !!! Нет файла %1 >>%FLog%) Else (Echo !!! Нет файла %1 &&Pause)) && GoTo :Eof if Not Exist "%~p2*.*" Md "%~p2" >nul && if %Log%==1 If Exist "%~p2*.*" (Echo +++ Создана папка "%~p2" >>%FLog%) Else (Echo !!! Не удалось создать папку "%~p2" >>%FLog) Copy %1 %2 >nul if %Log%==1 if Exist %2 (Echo +++ Скопировали %1 -в- %2>>%FLog%) Else (Echo !!! Не удалось скопировать %1>>%FLog%) |
------- Последний раз редактировалось megaloman, 19-09-2010 в 17:34. Отправлено: 17:14, 19-09-2010 | #6 |
Новый участник Сообщения: 12
|
Профиль | Сайт | Отправить PM | Цитировать Еще раз спасибо, пригодилось через 10 месяцев :D
|
Отправлено: 23:18, 05-07-2011 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] как скопировать файлы 1,2,3 в папки x,y,z соответственно | shadowbat | Скриптовые языки администрирования Windows | 6 | 21-05-2010 13:07 | |
Разное - [решено] FoxPro 2.6 Замена фрагментов текста в txt-файле | Pashka | Программирование и базы данных | 7 | 18-01-2010 19:20 | |
CMD/BAT - [решено] Как скопировать содержимое txt файлов всех подкаталогов в один файл | dezertic | Скриптовые языки администрирования Windows | 3 | 20-10-2009 12:47 | |
CMD/BAT - файлы вида mmdd*.* - для каждой даты нужно создать каталог, скопировать, файлы | milito | Скриптовые языки администрирования Windows | 2 | 24-05-2009 23:32 | |
не могу скопировать файлы с диска | whiter | Хочу все знать | 14 | 26-07-2008 21:13 |
|