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

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

Ответить
Настройки темы
CMD/BAT - Поиск и копирование определенных файлов из папок

Пользователь


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


Конфигурация

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


Изменения
Автор: timbird
Дата: 22-02-2014
Добрый день!
Помогите решить задачи:
[РЕШЕНО]1.Нужно скопировать .xsl файлы, в названии которых есть постоянная часть, например "QQQ" и "WWW" (пример имени файла: 12sd3_QQQ_1.xsl, 34s1_QQQ. xsl, 2fs45_WWW_we.xsl 6as58_WWW.xsl). Таких файлов много и они лежат на ряду с другими файлами в разных папках на одном общем ресурсе.

Скопировать нужно на ресурс \\share2 с той же структурой каталогов

пример:
Код: Выделить весь код
\\SHARE
|_2012
          |_oct
                 |_dep
                 |       |_01.2012
                 |       |              |_send
                 |       |              |          |_12sd3_QQQ_1.xsl
                 |       |              |          |_2fs45_WWW.xsl
                 |       |              |          |_sdds.xsl
                 |       |              |_control
                 |       |
                 |       |_02.2012
                 |                      |_send
                 |                      |         |_34s1_QQQ. xsl
                 |                      |         |_6as58_WWW.xsl
                 |                      |         |_sdds.xsl
                 |                      |_control
                 |
                 |_ipo
                 |       |_02.2013
                 |       |              |_send
                 |       |              |          |_12sd3_QQQ.xsl
                 |       |              |          |_2fs45_WWW_we.xsl
                 |       |              |          |_sdds.xsl
                 |       |              |_control
                 |       |_05.2012
                 |       |              |_send
                 |       |              |         |_34s1_QQQ. xsl
                 |       |              |         |_6as58_WWW.xsl
                 |       |              |         |_sdds.xsl
                 |       |              |_control
                 |       |
                 |       |_07.2012
                 |                      |_send
                 |                      |         |_34s1_QQQ_2. xsl
                 |                      |         |_6as58_WWW.xsl
                 |                      |         |_sdds.xsl
                 |                      |_control
                 |_cred
                          |_ и т.п.
          |
          |_nov
                  |_и т.п.
|
|
|_2013
          |_и т.п.
2. Как сделать, чтобы допустим эти файлы "12sd3_QQQ_1.xsl" копировались только из папок с определенными именами например "01-NAME-iqwuey" которые находятся на \\server\share ??

Отправлено: 15:21, 22-05-2013

 

Пользователь


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

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


Georgio, спасибо за ответ, но в моем случае это слишком жестоко.. просто папок для исключения очень много нужно писать..

Отправлено: 09:40, 22-02-2014 | #11



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

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


Ветеран


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

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


timbird, переходите на PowerShell. У него развитые возможности по фильтрации и рекурсии.

Отправлено: 16:10, 22-02-2014 | #12


Пользователь


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

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


Iska, поделитесь кодом?

Отправлено: 19:42, 22-02-2014 | #13


Ветеран


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

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


Цитата timbird:
Iska, поделитесь кодом? »
Примерно так:
Код: Выделить весь код
$sSourceFolder = "E:\Песочница\0364\Source"
$sDestFolder   = "E:\Песочница\0364\Destination"

if(Test-Path -Path $sSourceFolder -PathType Container) {
    if(Test-Path -Path $sDestFolder -PathType Container) {
        Get-ChildItem -Path $sSourceFolder -Include "*QQQ*.xsl", "*WWW*.xsl" -Recurse |`
            Where-Object -FilterScript { $_.DirectoryName -like "*01-NAME-iqwuey*" } |`
                ForEach-Object -Process {
                    $DestPath = $sDestFolder + ($_.DirectoryName).Substring($sSourceFolder.Length)
                    
                    if(-not (Test-Path -Path $DestPath -PathType Container)) {
                        New-Item -Path $sDestFolder -Name ($_.DirectoryName).Substring($sSourceFolder.Length + 1) -ItemType Container | Out-Null
                    }
                    
                    Write-Host $_.FullName
                    Copy-Item -Path $_.FullName -Destination $DestPath -Force
                }
    } else {
        Write-Host "Destination folder [$sDestFolder] not found." -ForegroundColor Red
    }
} else {
    Write-Host "Source folder [$sSourceFolder] not found." -ForegroundColor Red
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:25, 22-02-2014 | #14



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Поиск и копирование найденных файлов Jans Скриптовые языки администрирования Windows 15 09-04-2022 11:38
CMD/BAT - копирование определенных папок без "мусора" cher Скриптовые языки администрирования Windows 19 10-06-2016 13:53
CMD/BAT - [решено] Поиск папок с определённым именем и их копирование в одну общую Steklopaket Скриптовые языки администрирования Windows 1 16-01-2013 22:33
CMD/BAT - [решено] Удаление определенных файлов из подпапок 91892823 Скриптовые языки администрирования Windows 2 15-11-2012 07:31
CMD/BAT - Поиск и копирование файлов idov Скриптовые языки администрирования Windows 0 23-10-2011 23:21




 
Переход