Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
Гродненский Форум
06 Август 2025, 06:53:22
Новости, реклама:
   Главная   Новости Гродно Помощь Игры Календарь Войти Регистрация   Меню
Гродненский Форум > Компьютеры > Компьютеры, софт
(Модераторы: xfiles, DeleteR, barmalei) > Тема:

BAT-мастерам

Страниц  :   Вниз
  Печать  
Автор Тема: BAT-мастерам  (Прочитано 2099 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« : 16 Октябрь 2006, 10:43:52 »

Значится так : в bat-файле есть строка обычного копирования файлов

[highlight]copy bases\*.* \\server\backup\bases[/highlight]

В исходной папке bases лежит много zip-ов, которые собственно копаются по сети на сервер. Дело в том, что zip-ов со временем становится много, удалять старые нельзя. И копирование занимает слишком много времени, т.к. заменяет все старые файлы на сервере, даже если их размер совпадает до байта. Подскажите, что дописать в команду, чтоб она копала только новые файлы, не заменяя все старые, а то в контекстной справке по команде [highlight]copy[/highlight] ничего путного ...
Записан
IAM
Почетный гродненец
*****

Репутация: +62/-0
Offline Offline

Пол: Мужской
Сообщений: 1339


Я люблю всех на Гродненском форуме!

Просмотр профиля
« Ответ #1 : 16 Октябрь 2006, 11:08:27 »

Используй команду XCOPY. Запусти с ключом /?, увидишь массу возможных ключей запуска, есть и что ты хочешь. Подмигивающий

В часности, ключ /d[:мм-дд-гггг] копирует файлы новее указанной даты, если дату не указывать, обновляет изменённые файлы.
« Последнее редактирование: 16 Октябрь 2006, 12:16:43 от IAM » Записан

Богатство человека - здоровье и мудрость
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #2 : 16 Октябрь 2006, 12:46:53 »

Цитировать
Используй команду XCOPY. Запусти с ключом /?, увидишь массу возможных ключей запуска, есть и что ты хочешь. Подмигивающий

В часности, ключ /d[:мм-дд-гггг] копирует файлы новее указанной даты, если дату не указывать, обновляет изменённые файлы.

Биг сенкс, попробую  Подмигивающий
Записан
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #3 : 16 Октябрь 2006, 16:43:28 »

Цитировать
Используй команду XCOPY. Запусти с ключом /?, увидишь массу возможных ключей запуска, есть и что ты хочешь. Подмигивающий

В часности, ключ /d[:мм-дд-гггг] копирует файлы новее указанной даты, если дату не указывать, обновляет изменённые файлы.

пробовал и [highlight]xcopy \D bases\*.* \\server\backup\bases[/highlight]
и [highlight]xcopy bases\*.* \\server\backup\bases \D[/highlight]. НИЧЕГО, только по экрану строки бегут в cmd как дурные, а копанья ноль  Грустный
Записан
siarzhuk
Кандидат в депутаты
****

Репутация: +190/-1
Offline Offline

Пол: Мужской
Сообщений: 3294


Просмотр профиля
« Ответ #4 : 16 Октябрь 2006, 17:52:54 »

По моему при использовании команды xcopy не надо указывать *.* Она и так подразумевает копирование всего содержимого каталога. В том числе и подкаталогов.
Записан

Детям нельзя в интернет. От детей интернет тупеет.
В Интернете нет места правде. Howard Wolowitz
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #5 : 17 Октябрь 2006, 09:38:59 »

Самое смешное, что если зайти в папку с архивами через cmd.exe и набрать

[highlight]xcopy bases\*.* \\server\backup\bases /D[/highlight]

то всё работает на ура, и копаются новые файлы как и хотелось. Но если эту же строку записать в bat-ник и положить в эту же папку, то при запуске bat-а в cmd строки носятся что дурные без всякого копирования.

Может xcopy не предназначен для пакетного режима ?
Записан
siarzhuk
Кандидат в депутаты
****

Репутация: +190/-1
Offline Offline

Пол: Мужской
Сообщений: 3294


Просмотр профиля
« Ответ #6 : 17 Октябрь 2006, 11:19:08 »

Кинь файлик куда угодно, только до твоей строчки с копированием напиши
cd bases
Записан

Детям нельзя в интернет. От детей интернет тупеет.
В Интернете нет места правде. Howard Wolowitz
IAM
Почетный гродненец
*****

Репутация: +62/-0
Offline Offline

Пол: Мужской
Сообщений: 1339


Я люблю всех на Гродненском форуме!

Просмотр профиля
« Ответ #7 : 17 Октябрь 2006, 14:14:59 »

У тебя не прописаны диски и пути

XcopyКопирует файлы и каталоги, включая подкаталоги.

Синтаксис
xcopy источник [результат] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:мм-дд-гггг]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:файл1[+[файл2]][+[файл3]] [{/y|/-y}] [/z]

Параметры
источник
Обязательный параметр. Задает местонахождение и имена файлов для копирования. Параметр должен задавать или диск, или путь.
результат
Задает место, куда будут скопированы файлы. Параметр может включать имя диска с двоеточием, имя каталога, имя файла или их комбинацию.
/w
Выводит следующее сообщение с ожиданием подтверждения начала копирования:
Нажмите любую клавишу, чтобы начать копирование файлов

/p
Запрашивает подтверждение при создании каждого файла-результата.
/c
Игнорирует ошибки.
/v
Проверяет каждый скопированный файл на соответствие его оригиналу.
/q
Отменяет вывод на экран сообщений команды xcopy.
/f
Выводит имена исходных файлов и файлов-результатов в процессе копирования.
/l
Отображает список копируемых файлов.
/g
Создает незашифрованные файлы-результаты.
/d[:мм-дд-гггг]
Копирует только файлы, измененные не ранее заданной даты. Если не включить значение мм-дд-гггг, команда xcopy копирует все файлы-источники, которые новее существующих файлов-результатов. Эта возможность позволяет обновлять только измененные файлы.
/u
Копирует (обновляет) только те файлы-источники, которые уже существуют в каталоге результата.
/i
Если источником является каталог или источник содержит подстановочные знаки и результат не существует, команда xcopy считает, что результат — это имя каталога, и создает новый каталог. Затем xcopy копирует все указанные файлы в новый каталог. По умолчанию команда xcopy запрашивает подтверждение, является ли параметр результат каталогом или файлом.
/s
Копирует каталоги и подкаталоги, если они не пусты. Если параметр /s не задан, команда xcopy будет работать только с одним каталогом.
/e
Копирует все подкаталоги, включая пустые. Параметр /e используется с параметрами /s и /t.
/t
Копирует только структуру подкаталога (т. е. дерево), а не файлы. Для копирования пустых каталогов следует задать ключ /e.
/k
Копирует файлы с атрибутом «только для чтения» с сохранением этого атрибута для скопированных файлов, оригиналы которых имеют этот атрибут. По умолчанию команда xcopy удаляет атрибут «только для чтения».
/r
Копирует файлы с атрибутом «только для чтения».
/h
Копирует системные и скрытые файлы. По умолчанию команда xcopy не копирует системные и скрытые файлы.
/a
Копирует только те файлы, которые имеют установленный атрибут «архивный». При использовании параметра /a атрибут "архивный" у исходных файлов не меняется. Сведения об установке атрибутов с помощью команды attrib см. по ссылке «См. также».
/m
Копирует только те файлы, которые имеют установленный атрибут «архивный». В отличие от параметра /a, параметр /m очищает атрибут «архивный» у скопированных файлов. Сведения об установке атрибутов с помощью команды attrib см. по ссылке «См. также».
/n
Копирует с использованием коротких имен файловой системы NTFS. Параметр /n требуется при копировании из файловой системы NTFS в файловую систему FAT или когда на диске-результате требуется использование соглашения об именах файлов как в файловой системе FAT (8.3). Файлы могут записываться в файловую систему FAT или NTFS.
/o
Копирует сведения о принадлежности файлов и избирательной таблице управления доступом (DACL).
/x
Копирует сведения о параметрах аудита файла и системной таблице управления доступом (SACL) (подразумевается наличие /p).
/exclude:файл1[+[файл2]][+[файл3]]
Определяет список файлов, содежащих строки.
/y
Устраняет выдачу запроса на подтверждение перезаписи существующего конечного файла.
/-y
Выдает запрос на подтверждение перезаписи существующего конечного файла.
/z
Копирует по сети в режиме перезапуска.
/?
Отображает справку в командной строке.
Примечания
Использование параметра /v
В Windows XP эта команда не используется. Она предназначена для обеспечения совместимости с файлами MS-DOS.

Использование параметра /exclude
Построчный вывод всех строк в каждом файле. При соответсвтии выведенной строки части пути копируемого файла, он исключается из процесса копирования. Например, если указана строка «\Obj\», исключается все файлы, расположенные в каталоге «Obj». Например, если указана строка «.obj», исключается все файлы с расширением .obj.

Использование параметра /z
Если во время фазы копирования теряется сетевое подключение (например, если сервер переходит автономный режим, разрывая подключение), копирование возобновляется после восстановления подключения. Использование параметра /z команды вызывает также отображение доли (в процентах) завершенной операции копирования для каждого файла.

Использование параметра /y в переменной среде COPYCMD.
Можно применять параметр /y в переменной среде COPYCMD. Эта настройка может быть переопределена использованием параметра /-y в командной строке. По умолчанию если команда copy выполняется не в пакетной программе, при замене требуется подтверждение.

Копирование зашифрованных файлов
При копировании файлов на том, не поддерживающий шифрованную файловую систему (EFS), возникнет ошибка. Следует предварительно расшифровать файлы или копировать их на том, поддерживающий EFS.

Добавление файлов
Чтобы объединить файлы, укажите один файл-рез
Записан

Богатство человека - здоровье и мудрость
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #8 : 17 Октябрь 2006, 14:47:09 »

Нашёл причину : оказывается её величеству xcopy в отличие от просто copy нужно указывать полный адрес, т.е. не так

[highlight]xcopy bases\*.* \\server\backup\bases /D[/highlight]

а так

[highlight]xcopy D:\bases\*.* \\server\backup\bases /D[/highlight]

Вот тогда всё работает и в bat-нике.
Записан
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #9 : 23 Октябрь 2006, 10:59:53 »

Ну я даже не знаю, в чём может быть дело, но мистическим образом всё повторяется. Если запускаешь строку команды xcopy в cmd, то всё работает вот так :
Записан
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #10 : 23 Октябрь 2006, 11:01:10 »

А если запустить bat-ник с этой же командой, то видим вот это :
Записан
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #11 : 23 Октябрь 2006, 11:02:18 »

ХЕЛП  Плачущий Плачущий Плачущий
Записан
VooDoo
Почетный гродненец
*****

Репутация: +89/-1
Offline Offline

Пол: Мужской
Сообщений: 2885


Dum spiro spero

Просмотр профиля WWW Email
« Ответ #12 : 23 Октябрь 2006, 11:35:17 »

хм, у меня всё работает, вот пример батника:
cd d:\1
xcopy *.* d:\2 /d
и на ремоут машину отлично копирует
« Последнее редактирование: 23 Октябрь 2006, 11:37:24 от VooDoo » Записан

Are you human? - My body is.
Do you feel pain? - My body does.
..- --- --- -.. --- ---
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #13 : 24 Октябрь 2006, 13:20:44 »

Цитировать
хм, у меня всё работает, вот пример батника:
cd d:\1
xcopy *.* d:\2 /d
и на ремоут машину отлично копирует

Во млин, а с cd-командой работает. БИГ СЕНКС  Смеющийся
Записан
siarzhuk
Кандидат в депутаты
****

Репутация: +190/-1
Offline Offline

Пол: Мужской
Сообщений: 3294


Просмотр профиля
« Ответ #14 : 24 Октябрь 2006, 16:24:39 »

Блин я еще неделю назад писал про cd
Записан

Детям нельзя в интернет. От детей интернет тупеет.
В Интернете нет места правде. Howard Wolowitz
Alcatraz
Почетный гродненец
*****

Репутация: +52/-0
Offline Offline

Предупреждения: у пользователя 1 предупреждение
Пол: Мужской
Сообщений: 2041


ХОЧЕШЬ ЧТО-ТО СДЕЛАТЬ ХОРОШО - СДЕЛАЙ ЭТО САМ !

Просмотр профиля
« Ответ #15 : 24 Октябрь 2006, 16:42:11 »

Цитировать
Блин я еще неделю назад писал про cd

упс, точно, видать невнимательно прочёл ...
Записан
Страниц  :   Вверх
  Печать  
 
Перейти в:  

Войти
Войдите, чтобы добавить комментарий

Войдите через социальную сеть

Имя пользователя:
Пароль:
Продолжительность сессии (в минутах):
Запомнить:
Забыли пароль?

Контакт
Powered by MySQL Powered by PHP Мобильная версия
Powered by SMF 1.1.20
SMF © 2006-2025, Simple Machines
Simple Audio Video Embedder
| Sitemap
Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0,251 секунд. Запросов: 20.