J'ai créé un script PowerShell pour copier des fichiers dans un répertoire, le script, tout d'abord. crée un répertoire , ou force un événement de nouveau répertoire s'il existe. Ensuite, il copie un répertoire depuis un autre emplacement. Après avoir copié, les fichiers j'ai ensuite besoin de copier la bonne web config en fonction d'une valeur donnée par l'utilisateur exectuant le script. Le problème que je rencontre est que je peux copier les fichiers, mais tous les fichiers sont en lecture seule, ce qui signifie que lorsque j'essaie de copier le web.config correct, le script échoue car l'accès est refusé.
Il s'agit d'une version réduite de script pour plus de simplicité.
$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")