我一直致力于PowerShell脚本,以简化我们的开发过程.我打算将它作为一个后期构建活动来运行,但我遇到了一些麻烦.
在PowerShell提示符下,以下内容非常有用:
PS C:\> ./example.ps1
Run Code Online (Sandbox Code Playgroud)
但是,尝试从cmd.exe以下运行时:
C:\> powershell -command "&\"C:\path to script\example.ps1\""
Run Code Online (Sandbox Code Playgroud)
脚本执行但我从PowerShell返回了一轮错误,主要包括resolve-path函数的路径解析错误:
Resolve-Path:找不到路径'C:\ Documents and Settings\bdunbar\My Documents\Visual Studio 2008\Projects\CgmFamilyComm\FamilyComm\iirf\cms\isapirewrite4.dl l',因为它不存在.在C:\ Documents and Settings\bdunbar\My Documents\Visual Studio 2008\Projects\C gmFamilyComm\scripts\cms.ps1:4 char:27 + $ iirfpath =(resolve-path <<<< ../iirf/cms /isapirewrite4.dll).path,
Resolve-Path:找不到路径'C:\ Documents and Settings\bdunbar\My Documents\Visual Studio 2008\Projects\CgmFamilyComm\FamilyComm\familycomm',因为它不存在.在C:\ Documents and Settings\bdunbar\My Documents\Visual Studio 2008\Projects\C gmFamilyComm\scripts\cms.ps1:5 char:27 + $ vdirpath =(resolve-path <<<< ../familycomm).路径
有办法解决这个问题吗?这可能是一个运行resolve-path下的问题cmd.exe?
我已经能够改变一些事情来解决正在发生的错误,但我仍然收到来自powershell命令提示符的完全正常的错误.我无法弄清楚有什么区别.
我正在开发一个应该能够自动更新的客户端应用程序(.NET).将使用Simple WiX/MSI安装程序部署该应用程序.
我需要的是:
有没有合适的框架/模式来存档?
我发现/尝试了以下内容:
是否有任何积极的开发和可靠的解决方案(他们不需要是免费的,也不需要OpenSource)?
我试图让Powershell在post post中运行我的PS脚本 - 但不知何故它不能像它应该的那样工作:
在Post-Build中执行以下命令:
C:\WINDOWS\system32\windowspowershell\1.0\powershell.exe
-Command "& $(MSBuildProjectDirectory)\CreateSite.ps1 'auto'"
Run Code Online (Sandbox Code Playgroud)
(插入换行符以便更好地阅读)
该命令成功执行powershell脚本,但它不能做的是运行(从构建输出)命令:Rund Post-Build命令:
Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2
At C:\path\CreateSite.ps1:4 char:
38
+ Add-PsSnapin <<<< Microsoft.SharePoint.PowerShell}
+ CategoryInfo : InvalidArgument: (Microsoft.SharePoint.PowerShell:String) [Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
Run Code Online (Sandbox Code Playgroud)
接下来是很多错误,因为所有后续命令都需要Sharepoint Snap-In.
脚本中的相关行很简单Add-PsSnapin Microsoft.SharePoint.PowerShell.
我怎样才能运行darn脚本(并让它包含PSSnapIn)在Visual Studio后期版本中传递一个参数?
这个问题是继续关于有选择地将行从一个文件附加到另一个文件的另一个问题.
我正在使用的正则表达式在匹配行保持/丢弃时效果很好.问题是该文件是由一堆其他文件组成的,有时我想要保留的行作为UTF-8编码文件的第一行开始.这意味着该findstr命令返回如下内容:
???LineToKeep that started out as the first line in its file
LineToKeep another
LineToKeep more lines
???LineToKeep that started out as the first line in its file
LineToKeep more
Run Code Online (Sandbox Code Playgroud)
保证除了BOM字节外,该行始终以"LineToKeep"开头.如何摆脱这三个UTF-8 BOM字节,因为这些windows shell命令无法正确处理它们?
我希望有一种方法可以将它们移除到位,或者可能是对findstr上一个问题的命令的修改.
因为我知道每一行必须以"LineToKeep"或"∩╗┐LineToKeep"开头,所以我认为有一种方法可以计算出if (Line[3:10] == "LineToKeep") { Line = Line[3:]; }每行的内容.
我使用Sharepoint,我需要在我的控制台主机中存在Sharepoint管理单元.当我从Windows开始菜单运行PowerShell时,我运行命令
Add-PSSnapin Microsoft.Sharepoint.Powershell
Run Code Online (Sandbox Code Playgroud)
管理单元添加正常,一切正常.
此外,一切正常,当我运行cmd.exe,并键入powershell.exe它并按Enter键.所以我认为这个问题没有涉及快捷参数(但我不是100%肯定:)).
但是,当我通过某个启动器启动PowerShell(我测试了Launchy和Enso)并尝试添加相同的管理单元时,它会失败并显示以下错误消息:
Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 2.
At somefile.ps1:7 char:14
+ Add-PSSnapin <<<< Microsoft.Sharepoint.Powershell
+ CategoryInfo : InvalidArgument:(Microsoft.Sharepoint.Powershell:String)
[Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId :
AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
Run Code Online (Sandbox Code Playgroud)
使用启动器启动PowerShell有什么区别?
我认为这不是与sharepoint相关的问题,而是PowerShell问题.
(注意:我知道Sharepoint管理shell和问题不是关于它)
powershell ×3
.net ×1
auto-update ×1
batch-file ×1
cmd ×1
command-line ×1
deployment ×1
launch ×1
launcher ×1
module ×1
snap-in ×1
windows ×1