скрипт для автоматизации копирования файла? - PullRequest
0 голосов
/ 04 марта 2011

Клиенту требуется обновленная копия файла, распространяемого примерно в 160 вариантах одной и той же структуры папок на коробке Windows.Может кто-нибудь помочь мне с сценарием, чтобы автоматизировать это?Я разработчик, но n00b со сценариями.

структура папок выглядит так:

  • root
    • one
      • layout
      • компоненты
      • справка
    • два
      • макеты
      • компоненты
      • помощь
    • три
      • макеты
      • компоненты
      • помощь
    • ... x 160

и мне нужно скопировать этот же файл в папку «компоненты».

спасибо.

Ответы [ 4 ]

2 голосов
/ 04 марта 2011

Вот готовое решение PowerShell, которое должно делать то, что вы просите.Вам нужно отредактировать SourceDir, Dest и фильтр, чтобы получить файл или файлы, которые вы хотите.

$SourceDir = "C:\Source"
$Dest = "C:\Root"
$Files = gci -Path $SourceDir -Recurse -Filter "*.txt" |?{$_.Directory -ne $null}

$Index = ($Source.Length)
$SSFile = $UpdatedPath.Substring($Index)
$Index = $SSFile.LastIndexOf("\")
$ChildDir = $SSFile.Substring(0,$Index)
$Root = Dir -Path $Dest|?{$_.Directory -eq $null}
foreach ($File in $Files){
    foreach ($Folder in $Root){
        $FolderPath = $Folder.FullName
        $DropPath = ("{0}{1}" -f$FolderPath, $ChildDir)
        Copy-Item -Path $File.FullName -Destination $DropPath
    }
}
1 голос
/ 04 марта 2011

Как разработчик, просто перечислите папки на первом уровне и выполните команду копирования для каждого.

Псевдокод:

for each directory in /root

    copy file to /root/directory/components
0 голосов
/ 15 июля 2013

Это должно работать в пакетном файле - или из командной строки, если вы уменьшите все %% до%

@echo off
for /d /r "c:\root" %%a in (*) do if /i "%%~nxa"=="components" copy "d:\folder\file.txt" "%%a"
0 голосов
/ 15 июля 2013

Использовать партию "ROBOCOPY"

Я использую его для обновления моего съемного диска (USB)

Синтаксис:

РОБОКОПИЯ "C: \ From Dir" "C: \ To Dir" [варианты] Для получения дополнительной информации, увидеть http://ss64.com/nt/robocopy.html

Очень хорошо для скриптовых нубов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...