Powershell - 使用配置文件删除文件/文件夹

时间:2015-04-02 06:39:53

标签: powershell

我已经拥有一个Powershell脚本,它运行在指定的文件夹中,并从中删除所有内容。现在我们看到,我们需要保留一些子文件夹和文件。

假设有一个名为“Stuff”的文件夹,其中有2个子文件夹,名为“Important”和“NotImportant”。两个子文件夹都包含数据。文件夹“Stuff”中也包含一些文件。

因为我的脚本用于处理许多不同的文件夹,所以我们需要使用“Config-File”,其中Person定义应该保留哪些文件夹和文件。例如,文件中包含路径“directory \ Stuff \ Important”,然后脚本忽略它。此外,如果其中包含“directory \ Stuff \ examplefile.doc”,则在删除过程中将忽略该文件。

有人可以帮我这个吗?

更新

目前我的脚本看起来像这样。它是一个简单的WebserverFarm更新脚本<​​/ p>

[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$Pfad = [Microsoft.VisualBasic.Interaction]::InputBox("Bitte den Websitenamen angeben", "Website angeben") 

if ($Pfad -eq "")
{
 [System.Windows.Forms.MessageBox]::Show("Vorgang abgebrochen" , "Error")
}  
else
{
    if(Test-Path -Path Directory\Content\$pfad\)
    {  

    Add-Type -Assembly "System.IO.Compression.FileSystem";[System.IO.Compression.ZipFile]::CreateFromDirectory("Directory\Content\$pfad", "Directory\Content_Backup\$pfad-$(Get-Date -Format dd-MM-yyyy_HH-mm-ss).zip");

    Copy-Item -Path "Directory\WebSite_Update\app_offline.htm" -Destination "Directory\Content\$pfad\"
    start-sleep -s 10

    Remove-Item -Path Directory\Content\$pfad\* -Recurse -Exclude app_offline*
    Copy-Item -Path Directory\WebSite_Update\$pfad\* -Destination Directory\Content\$pfad\ -Recurse 

    Remove-Item Directory\Content\$pfad\app_offline.htm


    [System.Windows.Forms.MessageBox]::Show("Website Update beendet. Bitte die Webseite überprüfen" , "Status")

    }

    else
    {
    [System.Windows.Forms.MessageBox]::Show("Bitte eine gültige Eingabe machen!" , "Error")
    }

}

否则  {  [System.Windows.Forms.MessageBox] :: Show(“Bitte das Script als Administratorausführen!”,“Error”)  }

0 个答案:

没有答案