|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Выбор определенного типа файлов при копировании |
|
CMD/BAT - [решено] Выбор определенного типа файлов при копировании
|
Новый участник Сообщения: 10 |
Есть папка с большим количеством подпапок. Хочу скопировать эту папку на другой диск, но в ее подпапках должны остаться только 2 типа файлов: один с расширением - nfo, другой - cso. Остальные файлы (архивы релиза, например) из этих подпапок копироваться не должны.
Как это сваять в батнике? |
|
Отправлено: 00:23, 22-08-2012 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Если в папках не будет в результате никаких файлов — они всё равно должны создаваться, даже пустые? Так?
|
Отправлено: 03:33, 22-08-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 10
|
Профиль | Сайт | Отправить PM | Цитировать Нет в папках будут в любом случае искомые файлы. Возможно отсутствие nfo. Но мысль верная, если файлов нет, то создавать папку стоит, главное чтобы был лог этой операции и я знал, что она пустая.
|
Отправлено: 08:56, 22-08-2012 | #3 |
Новый участник Сообщения: 6
|
Вот такой вариант на VBS:
Dim fso, vLogStream Const FILE_LOG = "E:\copy.log" Const FOLDER_SRC = "C:\Folder1" 'откуда (должна сущест-ть) Const FOLDER_DEST = "D:\Folder2" 'куда (должна сущест-ть) Const MY_EXTENSION = "nfo,cso" 'типы файлов Function CopyFoldersAndFiles(strFolderSrc, strFolderDest) Dim vFile, vFolder, vSubFolder Set vFolder = fso.GetFolder(strFolderSrc) strFolderSrc = strFolderSrc & "\" strFolderDest = strFolderDest & "\" For Each vFile In vFolder.Files If InStr(1, MY_EXTENSION, fso.GetExtensionName(vFile.Path), vbTextCompare) Then vLogStream.WriteLine "copying file " & vFile.Path & " to " & strFolderDest vFile.Copy strFolderDest End If Next For Each vSubFolder In vFolder.SubFolders vLogStream.WriteLine "create folder " & strFolderDest & vSubFolder.Name fso.CreateFolder strFolderDest & vSubFolder.Name CopyFoldersAndFiles strFolderSrc & vSubFolder.Name, strFolderDest & vSubFolder.Name Next End Function Set fso = WScript.CreateObject("Scripting.FileSystemObject") Set vLogStream = fso.OpenTextFile(FILE_LOG, 2, True) CopyFoldersAndFiles FOLDER_SRC, FOLDER_DEST vLogStream.Close MsgBox "OK" |
Отправлено: 18:26, 24-08-2012 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата:
Разве что в лог-файле не видно что создались пустые папки (но в постановке этого и не было). По видимому, можно выдать список пустых папок, а зачем они нужны? Я бы их вообще не создавал. (/S в команде Xcopy вместо /E) |
||
------- Последний раз редактировалось megaloman, 25-08-2012 в 10:38. Отправлено: 10:21, 25-08-2012 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление каталогов не содержащих файлы определенного типа | m3nthal | Скриптовые языки администрирования Windows | 2 | 15-01-2012 18:26 | |
Log/Monitoring - Запрет на запись файлов определенного типа и размера | andrei.ru | Сетевые технологии | 1 | 20-11-2009 11:53 | |
Как в домене вин 2003 запретить пользователям сохранять файлы определенного типа | Russo | Microsoft Windows NT/2000/2003 | 5 | 12-02-2009 10:25 | |
скачивание файлов определенного типа | NIGHT_ANGEL | Хочу все знать | 11 | 25-02-2005 06:41 | |
как изменить права на файлы только определенного типа | Guest | Microsoft Windows NT/2000/2003 | 12 | 23-03-2004 10:09 |
|