Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как скопировать системные и скрытые файлы из каталога-источника в заданный путь?

Ответить
Настройки темы
CMD/BAT - Как скопировать системные и скрытые файлы из каталога-источника в заданный путь?

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: ЦезарЪ
Дата: 28-11-2017
Для того чтобы копировать скрытые и системные файлы, использую xcopy /h "%path1%" "%path2%", при использовании команды xcpopy и атрибут /H, копируется все файлы.

Для проверки системных и скрытых файлов, использую команду dir /b /a:h "%path1%\*.* и dir /b /a:s "%path1%\*.*" - выводит файлы имеют такой тип, чтобы увидеть файлы, которые он скопирует из пути1.

Полное задание: Пакетный файл, предназначенный для копирования системных и скрытых файлов из каталога-источника в заданное место назначения. Каталог-источник и место назначения задаются в качестве пакетных параметров. После копирования отчет, содержащий список скопированных файлов с путем, в автоматическом режиме загружается в текстовый процессор "Блокнот".

Отправлено: 14:56, 27-11-2017

 

Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Вот далеко не блестящее решение
Код: Выделить весь код
@Echo Off

Set "BoxIn=Z:\Box_In"
Set "BoxOut=Z:\Box_Out"
Set "LogFile=%~dpnx0.log"

>"%LogFile%" (FOR /F "usebackq tokens=1,2 delims=>" %%i IN (`"xcopy "%BoxIn%\*.*" "%BoxOut%\" /L /F /H /S /K /Y" 2^>nul`) DO If Not "%%j"=="" (Call :CopyAttrib "%%i" "%%j"))
Notepad "%LogFile%"
GoTo :Eof

:CopyAttrib
	Set "InFile=%~1"
	Set "InFile=%InFile:~0,-2%" 
	Set "OutDir=%~p2"
	Set "OutDir="%OutDir:~2%""
	Set /A Log=0
	Dir "%InFile%" /b /A:S >nul 2>nul &&Set /A Log=1
	Dir "%InFile%" /b /A:H >nul 2>nul &&Set /A Log=1
	If %Log% EQU 1 (
		Xcopy "%InFile%" %OutDir% /H /K /Y >nul 2>&1
		Echo "%InFile%" 
	)
GoTo :Eof
В чём неприятности:
1. Если в исходном пути попадаются папки с атрибутом скрытый/системный, то в копии атрибут скрытый/системный с папок убирается
2. Нормально скрипт работает в кодировке 866. Иначе файлы с русскими буквами в названии не обработаются.
3. Как следствие, в стандартном блокноте файлы с русскими буквами в названии отображаются в зюкочками.
Цитата ЦезарЪ:
Для того чтобы копировать скрытые и системные файлы, использую xcopy /h »
/H в xcopy следует понимать не как фильтр, а как разрешение при копировании файлов копировать скрытые/системные файлы тоже.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:38, 29-11-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Как скопировать системные и скрытые файлы из каталога-источника в заданный путь?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Как показать скрытые и системные файлы (другой путь)? egorus2010 Microsoft Windows 2000/XP 1 21-02-2017 11:17
CMD/BAT - Скопировать все файлы из одного каталога в другой Pavelnt Скриптовые языки администрирования Windows 5 10-03-2013 07:08
CMD/BAT - [решено] Скопировать скрытые файлы VRN20 Скриптовые языки администрирования Windows 0 25-08-2012 17:42
PowerShell - [решено] скопировать заданный файл из одного каталога в другой с другим именем Oleg2011 Скриптовые языки администрирования Windows 20 10-10-2011 17:03
CMD/BAT - [решено] Создать подкаталоги, и скопировать файлы из корневого каталога по подкаталогам. grinsen Скриптовые языки администрирования Windows 2 18-11-2010 13:48




 
Переход