Проблема с разрешениями при создании и копировании каталогов - PullRequest
0 голосов
/ 21 июля 2010

Я создал сценарий PowerShell для копирования файлов в каталог, сценарий, сначала создает папку или инициирует событие новой папки, если оно существует. Затем копирует каталог из другого места. После копирования файлов мне нужно скопировать правильную веб-конфигурацию в зависимости от значения, заданного пользователем, выполняющим сценарий. Проблема, с которой я сталкиваюсь, заключается в том, что я могу копировать файлы, но для всех файлов установлен режим «только для чтения». Это означает, что при попытке скопировать правильный файл web.config сценарий завершается ошибкой, так как доступ запрещен.

Это упрощенная версия скрипта для простоты.

$WebApp_Root = 'C:\Documents and Settings\user\Desktop\Dummy.Website'

$Preview_WebApp_Root = 'c:\applications\Preview\'

$Choice = read-host("enter 'preview' to deploy to preview, enter Dummy to deploy to Dummy, or enter test to deploy to the test environment")
if (($Choice -eq 'Preview') -or ($Choice -eq 'preview'))
{
$Choice = 'Preview'
$Final_WebApp_Root  = $Preview_WebApp_Root
}

write-host("Releasing Build to " + $Choice +'...')

write-host("Emptying web folders or creating them if they don't exist... ")
New-Item $Final_WebApp_Root -type directory -force 

write-host("Copying Files... ")
Copy-Item $WebApp_Root $Final_WebApp_Root -recurse  

write-host("Copy the correct config file over the top of the dev web config...")
Copy-Item $Final_WebApp_Root\Config\$Choice\Web.configX $Final_WebApp_Root\web.config

write-host("Copying correct nhibernate config over")
Copy-Item $Final_WebApp_Root\Config\$Choice\NHibernate.config $Final_WebApp_Root\NHibernate.config

write-host("Deployed full application to environment")

1 Ответ

1 голос
/ 21 июля 2010

Попробуйте использовать параметр -Force для замены файлов только для чтения.Из документации:

PS> help Copy-Item -Par force

-Force [<SwitchParameter>]
    Allows the cmdlet to copy items that cannot otherwise be changed, 
    such as copying over a read-only file or alias.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...