2015-06-03 77 views
1

我想在安裝NuGet軟件包的PowerShell期間從項目中刪除文件。如何從NuGet PowerShell安裝中的項目中刪除文件?

我刪除一個文件,它是在使用此命令的項目的根:

參數($ INSTALLPATH,$ toolsPath,$包,$項目)

$文件1 = $項目。 ProjectItems |其中{$ _。名稱-eq 「DebugTrace.cs」}

$ file1.Delete()

但是,如果該文件是一個子文件夾,則不會被刪除。要刪除子文件夾中的文件,我使用以下命令:

$ file2 = $ project.ProjectItems | ForEach-Object {$ .ProjectItems} |其中{$請將.Name -eq 「DebugTrace.cs」}

$ file2.Delete()

但是,如果該文件是在根目錄或子子文件夾,則不會被刪除。

總結: - 我的第一個例子:刪除文件只有在根 - 我的第二個例子:刪除只有一個子文件夾

我想刪除位於一個文件的文件一個子子文件夾。

理想情況下,我很想找到一種方法,不管文件位置如何。

回答

0

這是行不通的嗎?

$item = $project.ProjectItems.Item("YourFolder").ProjectItems.Item("DebugTrace.cs") 
0

試試這個請,

param($installPath, $toolsPath, $package, $project) 

$DirInfo = New-Object System.IO.DirectoryInfo($installPath) 

$appDir = New-Object System.IO.DirectoryInfo($DirInfo.Parent.Parent.FullName) 

$fullPath = [IO.Path]::Combine($appDir.FullName, $appDir.Name, "App_Code\DebugTrace.cs") 
Remove-Item $fullPath 

更改App_Code文件夾到你的子文件夾。

我希望這段代碼能夠解決您的問題。

相關問題