PDA

Показать полную графическую версию : Программа для поиска и замены файлов


volod3000
25-06-2015, 13:56
Здравствуйте !

Нужна программа, которая делает следующее :

Есть в папке Х файлы,
Есть папка с подпапками Y,
Необходимо пакетно найти все файлы из папки Х в папке Y (и в подпапках), и заменить их

Т.е. пакетная замена файлов с условием

Blast
25-06-2015, 14:01
По описанию подходит эта: Find & Replace (http://www.addictivetips.com/windows-tips/find-replace-parts-of-filenames-or-completely-rename-files-in-bulk-far/) (скачать: http://sourceforge.net/projects/findandreplace/files/).

volod3000
25-06-2015, 18:30
Спасибо, но немного не то.
Она не меняет файлы

Iska
26-06-2015, 03:07
Я думаю, как-то так (PowerShell):
$sSourceFolder = "C:\Мои проекты\11\Source Folder"
$sDestFolder = "C:\Мои проекты\11\Destination Folder"

if(Test-Path -Path $sSourceFolder -PathType Container) {
if(Test-Path -Path $sDestFolder -PathType Container) {
Get-ChildItem -Path $sSourceFolder | Where-Object -Verbose -FilterScript { !$_.PSIsContainer } | ForEach-Object -Process {
$sSourceFile = $_

Get-ChildItem -Path $sDestFolder -Recurse | Where-Object -Verbose -FilterScript { !$_.PSIsContainer } | ForEach-Object -Process {
if($sSourceFile.Name -eq $_.Name) {
Copy-Item -Path $sSourceFile.FullName -Destination $_.DirectoryName -Force -WhatIf
}
}
}
} else {
Write-Host "Can't find destination folder [$sDestFolder]." -ForegroundColor Red
}
} else {
Write-Host "Can't find source folder [$sSourceFolder]." -ForegroundColor Red
}
Для реального копирования с замещением убрать «-WhatIf».

P.S. Если правильно понял не озвученное «условие» как «одноимённые файлы».

volod3000
26-06-2015, 09:13
Интересно, спасибо Iska, попробую.

Blast
26-06-2015, 10:28
А я только хотел предложить обратиться к нашим гуру в Скриптовые языки администрирования Windows (http://forum.oszone.net/forum-102.html) :)

volod3000
26-06-2015, 16:44
Iska
Что-то ни чего не получилось.
Вот, в прикрепленном файле, реальный пример со скриптом.
И ни чего не меняется. Почему ?

yurfed
26-06-2015, 17:36
volod3000, такое не подойдёт? Search and Replace (http://www.funduc.com/search_replace.htm)

Blast
26-06-2015, 17:49
yurfed, оно для поиска и замены текста внутри файлов, таких много, но ТС нужно другое. Мне кажется это лучше реализовать скриптом.

Iska
26-06-2015, 17:54
Что-то ни чего не получилось.

И ни чего не меняется. Почему ? »
Надеюсь, Вы разрешили исполнение неподписанных локальных скриптов PowerShell на Вашей машине?

Создание и выполнение скриптов (https://technet.microsoft.com/ru-ru/library/dd819451.aspx)
Set-ExecutionPolicy (https://technet.microsoft.com/ru-ru/library/dd347628.aspx)
set-executionpolicy remotesigned

volod3000
26-06-2015, 18:33
Надеюсь, Вы разрешили исполнение не подписанных локальных скриптов PowerShell на Вашей машине? »

Да, спасибо, выпустил это из виду. Все получилось.
И оказалось все так просто.
Еще раз Спасибо.




© OSzone.net 2001-2012