我正在更新管理某些.NET程序集的PowerShell脚本.该脚本是针对针对.NET 2构建的程序集(与PowerShell运行的框架的相同版本)编写的,但现在需要使用.NET 4程序集以及.NET 2程序集.
由于.NET 4支持运行针对旧版本框架构建的应用程序,因此最简单的解决方案是在需要针对.NET 4程序集运行时,使用.NET 4运行时启动PowerShell.
如何使用.NET 4运行时运行PowerShell?
我使用的是.NET 4.5,如果我尝试使用"CreateFromDirectory"压缩整个目录,ZipFile类的效果很好.但是,我只想在目录中压缩一个文件.我试着指向一个特定的文件(文件夹\ data.txt),但这不起作用.我考虑过ZipArchive类,因为它有一个"CreateEntryFromFile"方法,但似乎这只允许你创建一个现有文件的条目.
有没有办法简单地压缩一个文件而不创建一个空的zipfile(有问题),然后使用ZipArchiveExtension的"CreateEntryFromFile"方法?
**这也是假设我正在开发一个目前无法使用第三方附加组件的公司计划.
示例来自:http://msdn.microsoft.com/en-us/library/ms404280%28v=vs.110%29.aspx
string startPath = @"c:\example\start";
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
Run Code Online (Sandbox Code Playgroud)
但是如果是startPath @"c:\example\start\myFile.txt;",则会抛出目录无效的错误.
我想知道是否有任何方式,以避免有一个[CONTENT_TYPES] .XML文件的zip文件中同时使用.NET的ZipPackage类.
我想将多个文件压缩成一个zip.
我现在坚持这个:
Get-ChildItem -path C:\logs -Recurse | Where {$_.Extension -eq ".csv" -and $_.LastWriteTime -lt (Get-Date).AddDays(-7)} | write-zip -level 9 -append ($_.LastWriteTime).zip | move-item -Force -Destination {
$dir = "C:\backup\archive"
$null = mkdir $dir -Force
"$dir\"
}
Run Code Online (Sandbox Code Playgroud)
我得到了这个例外
Write-Zip:无法将参数绑定到参数'Path',因为它为null.
这部分是问题:
write-zip -level 9 -append ($_.LastWriteTime).zip
Run Code Online (Sandbox Code Playgroud)
我之前从未使用过PowerShell,但我必须提供脚本,我无法提供ac#解决方案.
目前我在Windows 8中使用Neo4j Community版本1.8.2.是否可以在Windows中备份neo4j社区版本db?
我在SQL Server 2012 SP1 Reporting Services实例中设置了一个订阅,该实例将34MB文件导出到Excel 2007-2013 XLSX OpenXML渲染扩展.订阅会引发以下错误:
System.IO.IsolatedStorage.IsolatedStorageException:无法确定域的标识.
我确认可以将报表从Report Manager导出到Excel 2007-2013 XLSX OpenXML渲染扩展,没有任何问题.仅在通过订阅执行报表时才会出现此错误.我研究了这个并在网上找到了以下建议:
建议错开订阅,以便一次只运行一个订阅.这没有用,因为在发生错误时只运行了一个订阅.
建议使用Excel 2003呈现方法并将行分成单独的选项卡以避免65,536行限制.我确实证实了这一点,但从业务利益相关者的角度来看,这不是一个可接受的解决方案.
表示使用Excel 2007-2013渲染方法的任何报表的注释超过10 MB大小,从内存中生成切换到使用独立存储.没有解释为什么这是坏的,我认为这是有充分理由 - 也许是为了限制RAM消耗.
建议在ASP.NET应用程序的Isolated Storage文件夹中提升用户的权限.我找不到Isolated Storage文件夹在Reporting Services中的位置.
建议使用额外的代码包装ASP.NET的隔离存储代码,以绕过此问题.我找不到将此解决方案应用于Reporting Services的方法,因为这是Microsoft提供的产品.
建议修改Report Manager和Report Server web.config文件,以在httpRuntime节点中包含maxRequestLength ="200000".这没有改变结果.
建议在RSReportServer.config中显式增加内存设置.这似乎不会有所帮助,因为错误与隔离存储有关,但我尝试了它的解压缩.这没有改变结果.
建议将DatabaseQueryTimeout值从120更改为更大的值.这没有改变结果.
建议更改订阅执行超时值.这没有改变结果.
以下是完整错误日志条目的副本:
reportrendering!WindowsService_5!1628!04/03/2013-09:48:33:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An error occurred during rendering of the report. ---> System.IO.IsolatedStorage.IsolatedStorageException: Unable to determine the identity of domain.
at System.IO.IsolatedStorage.IsolatedStorage._GetAccountingInfo(Evidence …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个文本文件复制/移动到zip.我不想解压缩它,复制文件并将其压缩回来.我们有什么办法可以直接将文本文件复制或移动到PowerShell中的zip文件中.当我在powershell中这样做的时候,它正在那之后,当我试图查看拉链时,它说的是无效的路径.
Powershell命令:
$A = "20160914.4"
New-Item "C:\test\VersionLabel.txt" -ItemType file
$A | Set-Content "C:\test\VersionLabel.txt"
Copy-Item "C:\test\VersionLabel.txt" "C:\test\Abc.zip" -Force
Run Code Online (Sandbox Code Playgroud)
错误:压缩文件夹无效
我正在尝试存储我的构建的整个输出,这包括一些空文件夹.teamcity中的artefact机制不包括这些:什么不起作用:
OAR\=> OAR.zip
OAR->OAR.zip
OAR
Run Code Online (Sandbox Code Playgroud)
在OAR内部,我有一个需要存储的文件夹结构.我知道我可以在每个文件中放置一个占位符文件,但这不是我追求的答案.否则生病必须自己拉链?
zip ×4
.net ×3
powershell ×3
.net-4.0 ×2
artifacts ×1
c# ×1
neo4j ×1
pipe ×1
reportserver ×1
sql-server ×1
teamcity ×1
zipfile ×1