2017-02-07 21 views
0

Ищет PS скрипт для копирования файлов с сетевого путем с групповыми символами на локальный жесткий диск и переименуйте файл из которого файл был получен от:Powershell скрипта для копирования и переименования в файл путь найден

copy-item -path \\SC****SVR0001\E$\Users\SC****POS00**\TEST.INI -destination 'C:\TEST\ 

Результирующих в переименовании, чтобы быть чем-то вроде «SC **** POS00 ** _ TEST.INI», где я получил файл.

Путь к файлу SC **** SVR0001 Я получу ок. 200, и SC **** POS00 ** Я получаю потенциально 13+ результатов.

Надеюсь, я объяснил это достаточно хорошо!

Приблизиться с этим ...

$Source1 = "\\SCXXXXSVR0001\E$\Users\*\TEST.INI" 
$destination1 = "E:\Test\Results\" 
$items = Get-ChildItem -Path $destination1 

Write-Verbose "Number of items: $($items.Count)" -Verbose 

foreach ($item in $items) 
{ 
Write-Verbose "Item: $item" -Verbose 
# use -Force here? Does $_ have a DirectoryName property? 
# 
#Copy-Item -Path $Source1 -Destination $_.DirectoryName 

Copy-Item -Path $Source1 -Destination $item -Force -WhatIf 
} 

ОДНАКО, не копирует файлы.

+0

Какова цель '$ _ npath'? См. Страницу [MSDN на странице «Копировать-элемент»] (https://msdn.microsoft.com/en-us/powershell/reference/4.0/microsoft.powershell.management/copy-item) для полного объяснения синтаксиса , –

+0

Опишите более подробно то, что вы ожидаете от результата. Вы хотите, чтобы файл назначения (в C: \ TEST в вашем примере) был переименован или вы пытаетесь переименовать исходный файл (в общем сетевом ресурсе)? –

+0

Если вы копируете по известному пути, как показывает ваш пример, вы можете просто явно использовать это имя назначения - вы проверяли ранее связанную с MSDN страницу? Если, с другой стороны, вы выполняете поиск подстановочных знаков для элементов, которые нужно скопировать, вам нужно немного манипулировать контуром, который становится немного более сложным. Что более точно описывает вашу ситуацию? Ваш вопрос должен быть отредактирован, чтобы это отразить. –

ответ

0

Попробуйте что-то вроде:.

Copy-Item -Path \\NETWORKPATH\E$\Users\GOODTIMES\TEST.INI -Destination C:\Test\

gci C:\Test\Test.INI | ren -NewName GOODTIMES_TEST.INI

+0

Как я могу получить newname.ini для переименования ГДЕ Я получил файл - GOODTIMES \ *. INI -> GOODTIMES.INI –

+0

Отредактировал свой ответ, чтобы отразить то, что я думаю, что вы ищете? – schruberg

+0

Если вы хотите очистить атрибуты файла, попробуйте что-то вроде: '$ a = get-item c: \ Test \ Test.INI', а затем' $ a.attributes = 'Normal'' – schruberg