相关疑难解决方法(0)

当参数有空格时,如何从powershell调用msdeploy?

我在参数中遇到空格问题,我尝试从powershell脚本发送到msdeploy.

还有许多其他相关文章,但没有一个解决问题.
使用Power Shell和MSDeploy的问题.
类似的SO问题不起作用:如何在带有空格和引号的参数的
PowerShell中运行exe PowerShell BUG:执行需要引号和变量的命令实际上是不可能的
另一个SO问题不起作用:在PowerShell 2.0中传递参数

当我使其变得更复杂时,成功然后失败的最简单的例子就是转储默认网站.

$ msdeploy ="C:\ Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"
&$ msdeploy -verb:dump -source:appHostConfig =`'default web site`'-verbose
== SUCCESS

这个?

$ sitename ="默认网站"
&$ msdeploy -verb:dump -source:appHostConfig = $ sitename -verbose
== FAIL,出现以下错误
msdeploy.exe:错误:无法识别的参数'" - source:"appHostConfig = default'.所有参数必须以" - "开头.
在C:\ xxx\test.ps1:122 char:6
+&
+ CategoryInfo:NotSpecified :(错误:Unrecogn ...以" - "开头:String)[],RemoteException
+ FullyQualifiedErrorId:NativeCommandError
错误计数:1.

以下变化也失败了
#FAIL
$ sitename =`'默认网站''
$ sitename =`'"默认网站"`'
$ sitename ="`''默认网站`'"
$ sitename ="默认网站"
$ …

iis powershell msdeploy

25
推荐指数
4
解决办法
2万
查看次数

Powershell使用嵌套引号调用msbuild

使用Powershell和Psake为可视化工作室解决方案创建包和部署.尝试使用msbuild部署数据库项目 - 使用msdos visual studio命令行正常工作

   msbuild /target:Deploy /p:UseSandboxSettings=false /p:TargetConnectionString="aConnectionWithSpacesAndSemiColons" "aDatabaseProjectPathWithSpaces"
Run Code Online (Sandbox Code Playgroud)

从powershell调用时,相同的方法调用会导致错误

& msbuild /target:Deploy /p:UseSandboxSettings=false /p:TargetConnectionString="aConnectionWithSpacesAndSemiColons" "aDatabaseProjectPathWithSpaces"
Run Code Online (Sandbox Code Playgroud)

与空间有关 - 无法弄清楚如何在powershell中复制此调用 - 示例数据库连接字符串数据源=.\ SQL2008;初始目录= DocumentExecution; Integrated Security = True;

msbuild powershell psake

25
推荐指数
3
解决办法
1万
查看次数

在Azure Devops门户上查看代码覆盖率报告

作为azure devops构建管道的一部分,我正在运行NUnit测试(.Net Framework 4.5中的项目)。

- task: VSTest@2
  inputs:
    testAssemblyVer2: 'tests/**/*.Tests.dll'
    pathtoCustomTestAdapters: '$(Build.SourcesDirectory)/packages'
    codeCoverageEnabled: true
  displayName: 'NUnit Testing'

- task: PublishCodeCoverageResults@1
  inputs:
    codeCoverageTool: JaCoCo
    summaryFileLocation: '$(Common.TestResultsDirectory)/**/*.xml'
  displayName: 'Publish Code Coverage'
  //        summaryFileLocation: '$(Common.TestResultsDirectory)/**/*.coverage'
Run Code Online (Sandbox Code Playgroud)

但是我看不到覆盖率报告,只看到覆盖率结果的下载链接...

代码覆盖率下载链接

如何将.coverage报告转换为JaCoCo格式?或直接以JaCoCo格式生成报告?

我已经看到了一些针对.Net Core(链接)的解决方案,但是没有针对.Net框架的解决方案

azure asp.net-4.5 nunit-3.0 azure-devops azure-pipelines

9
推荐指数
1
解决办法
2625
查看次数

如何在PowerShell中使用参数执行外部程序?

我已经阅读了这个答案stackoverflow的答案,它让我在那里中途.这是我需要做的.

执行以下命令:

"c:\myexe.exe <c:\Users\Me\myanswerfile.txt"
Run Code Online (Sandbox Code Playgroud)

如果我从我的powershell脚本中直接运行它

&'c:\myexe.exe <c:\Users\Me\myanswerfile.txt'
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

The term 'C:\myexe.exe <c:\Users\Me\myanswerfile.txt' is not recognized as the name of
a cmdlet, function, script file, or operable program. Check the spelling of the name,or 
if a path was included, verif that the path is correct and try again.
Run Code Online (Sandbox Code Playgroud)

现在我尝试了几种变体,包括将原始命令放在一个名为$ cmd的变量中,然后传递

如果我将'<'附加到$ cmd变量,则命令失败并出现与第一个类似的错误.

我很难过.有什么建议?

powershell

8
推荐指数
2
解决办法
3万
查看次数

如何在PowerShell中运行SQL Plus脚本

我正在尝试使用PowerShell登录Oracle DB并运行名为"C:\ Users\Administrator\Desktop\oracle\OracleCleanTest.sql"的脚本,当我执行PS时没有任何反应.

这就是我所拥有的.

$adminLogon = "sys as sysdba/manager@ORCL"
$logon = "sqlplus\sql/manager@ORCL"


$mydata = Invoke-SqlPlus -inputfile       "@C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql" $logon
Run Code Online (Sandbox Code Playgroud)

我也试过这个.

$database = "ORCL";
$user = "sys as sysdba";
$pw = "manager";

sqlplus.exe -d $database -U $user -P $pw -I "@C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql"
Run Code Online (Sandbox Code Playgroud)

我试过这个.

& 'C:\app\Administrator\product\11.2.0\client_1\BIN\sqlplus.exe' 'QE-JDBC-1/manager@ORCL sys as sysdba' '@C:\Users\Administrator\Desktop\oracle\OracleCleanTest.sql'
Run Code Online (Sandbox Code Playgroud)

我收到错误,"&:模块'sqlplus'无法加载.有关更多信息,请运行'Import-Module sqlplus'.在行:5 char:3 +&$ mydata Invoke-SqlPlus -inputfile"@C:\Users\Administrator\Desktop\oracle\Orac ... + ~~~~~~~ + CategoryInfo:ObjectNotFound:(sqlplus\sql/manager @ ORCL:String)[],ParentContainsErrorRecordException + FullyQualifiedErrorId:CouldNotAutoLoadModule"

sql oracle powershell sqlplus

8
推荐指数
1
解决办法
3万
查看次数

在 PowerShell 中使用特定配置文件启动 Chrome

我尝试使用特定的用户配置文件(--profile-directory 参数)在 PowerShell 中启动 Chrome,但它会创建一个新的配置文件。

我试过了:

& "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory=Foobar

& "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --profile-directory=Foobar"

& "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --profile-directory='Foobar'"

Start-Process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --profile-directory=Foobar

Start-Process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe --profile-directory=Foobar"
Run Code Online (Sandbox Code Playgroud)

ETC....

windows powershell google-chrome user-profile

4
推荐指数
1
解决办法
8975
查看次数

使用 Powershell 中的 Stack,如何传递包含空格的测试参数?

在堆栈外运行美味测试时,我需要将字符串“失败日志”作为美味模式参数传递。

这在 bash 中非常简单:

PS C:\Pyrethrum> stack test --fast --ta "-p \"fail log\""

但尝试使用 Powershell 实现同样的目标让我抓狂:


PS C:\Pyrethrum> stack test --fast --ta "-p ""fail"" "

当没有空间时可以工作(运行测试)


PS C:\Pyrethrum> stack test --fast --ta "-p ""fail log"" "

解析目标时出错:找不到目录:日志


PS C:\Pyrethrum> stack test --fast --ta "-p `"fail log`""

尝试安装一个名为 log 的包


PS C:\Pyrethrum> stack test --fast --ta "-p \"fail log\""

选项 --ta:未终止的字符串:endOfInput


PS C:\Pyrethrum> stack test --fast --ta "-p /fail log/ "

...构建但模式需要引号

除虫菊-0.1.0.0:测试(套件:除虫菊测试,参数:-p /失败日志/)

选项-p:无法解析模式


让它在 Powershell 中运行的正确命令行是什么?

powershell haskell command-line-arguments haskell-stack

3
推荐指数
1
解决办法
229
查看次数

如何从 PowerShell 运行 *.exe 文件

我在 C:\Folder 有一个文件夹,其中包含文件 input.xml、output.xml 和 licensegenerator.exe。Licensegenerator.exe 获取我们放入 input.xml 的变量,并使用 output.xml 文件为我们的程序之一创建临时许可证。我们通常通过命令行导航到 C:\Folder 目录,然后运行以下命令:

LicenseGenerator.exe "C:\Folder\input.xml" "C:\Folder\output.xml"
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一个脚本来在 PowerShell 中执行完全相同的操作,但我正在努力……这是我所拥有的:

$inputtest = "C:\Folder\Input.xml"
$outputtest = "C:\Folder\Output.xml"
$licensegen = "C:\Folder\LicenseGenerator.exe"

Invoke-Command $licensegen "$inputtest" "$outputtest"
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我收到错误:

调用命令:找不到接受参数的位置参数
'C:\Folder\Output.xml'。
在行:5 字符:1
+ 调用命令 $licengegen "$inputtest" "$outputtest"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
    + CategoryInfo : InvalidArgument: (:) [Invoke-Command], ParameterBindingException
    + FullQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeCommandCommand

我也试过运行,Invoke-Expression但得到完全相同的错误(除了开头说“调用表达式”)。有人知道我在这里做错了什么吗?

powershell invoke-command

2
推荐指数
1
解决办法
3万
查看次数