2015-06-03 168 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文件夹到你的子文件夹。

我希望这段代码能够解决您的问题。

相关问题