|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - копирование папки или файла |
|
CMD/BAT - копирование папки или файла
|
Старожил Сообщения: 206 |
Профиль | Отправить PM | Цитировать
Требуется батник, который в зависимости от того что в параметре %1 (файл или папка) копирует файл или папку. Копия должна лежать рядом с оригиналом.
(передаем в параметре полный путь файла - делает копию файла. Передаем полный путь папки, делает копию папки. Пример: D:\texts\файл.txt ---> D:\texts\файл.txt.копия D:\texts\папка ---> D:\texts\папка.копия Запросов "файл или папка" быть не должно. - работает. Но папки не копирует. |
|
Отправлено: 16:11, 22-06-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать vxor, а как Вы указываете параметр?
|
Отправлено: 16:36, 22-06-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 16:38, 22-06-2012 | #3 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать |
Последний раз редактировалось Anonymоus, 22-06-2012 в 17:21. Причина: Исправлено Отправлено: 17:00, 22-06-2012 | #4 |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Прекрасно!!!! Можно краткий комментарий получить по работе скрипта? (8 часов не мог сделать это, а Вы за 3 минуты написали) Большое спасибо!!
|
|
Отправлено: 17:03, 22-06-2012 | #5 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать @Echo Off :: Проверяем, передан ли параметр. Если не передан - выходим с errorlevel 1 и сообщением с примером использования If "%1"=="" Echo USAGE: %~nx0 ^<path^>&Exit /B 1 :: Для начала проверяем существование файла\папки по пути из переданного параметра If Exist "%~1" ( :: Пробуем сделать pushd, если сработает - то очевидно, что это папка. 2>nul гасит сообщение о ошибке, если это файл PushD "%~1" 2>nul&&( :: Если вышло, используем popd для смены рабочего каталога обратно и копируем через xcopy, дописывая к имени папки .copy PopD Xcopy /E /I "%~1" "%~1.copy" )||( :: Если pushd не прошел, копируем как обычный файл, точно так же добавляя .copy к имени Copy "%~1" "%~1.copy" ) ) |
Отправлено: 17:09, 22-06-2012 | #6 |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Не работает, если путь файла\папки с пробелом.. Можно исправить это?
|
Отправлено: 17:16, 22-06-2012 | #7 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать vxor, отредактировал четвертый пост, исправил скрипт. Я там один символ пропустил, теперь с пробелами без проблем работать будет. Если будете использовать с путями, содержащими кириллицу, сохраните в кодировке 866.
|
Отправлено: 17:22, 22-06-2012 | #8 |
Старожил Сообщения: 206
|
Профиль | Отправить PM | Цитировать Не копируются системные и скрытые файлы. Добавил /H в строку с xcopy. Теперь копирует папки со скрытыми файлами. Отдельные же скрытые файлы не копирует. Что сделать? Какие еще могут быть подводные камни?
Если на CMD это не сделаешь, то можно на VBS, WSH. |
Последний раз редактировалось vxor, 25-06-2012 в 09:01. Отправлено: 23:51, 22-06-2012 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Копирование имени папки/файла в буфер обмена | cpp.svet | Скриптовые языки администрирования Windows | 3 | 06-07-2011 19:16 | |
CMD/BAT - [решено] Поиск папки и Копирование файла в данную папку из известного места | dark-------13 | Скриптовые языки администрирования Windows | 4 | 20-04-2011 11:48 | |
CMD/BAT - [решено] копирование файла Адресной книги из общей папки на сервере в профиль пользователя | tlekkanapin | Скриптовые языки администрирования Windows | 5 | 18-04-2011 13:24 | |
VBS/WSH/JS - [решено] Копирование файла в системные папки | Dimas_83 | Программирование и базы данных | 6 | 13-02-2009 13:29 | |
Автоматическое копирование файла или папки | BRAT2 | Хочу все знать | 3 | 02-11-2008 04:59 |
|