&&众所周知难以在谷歌搜索,但我发现的最好的是这篇文章说要使用-and.
不幸的是它没有提供任何更多的信息,我无法找到我应该做的事情-and(再次,一个众所周知的难以搜索)
我正在尝试使用它的上下文是"执行cmd1,如果成功,执行cmd2",基本上这样:
csc /t:exe /out:a.exe SomeFile.cs && a.exe
Run Code Online (Sandbox Code Playgroud)
这应该是一个容易的几个代表谁知道,谢谢!
编辑:如果你只想在一行上运行多个命令,而你不在乎第一个是否失败,你可以使用;我的大多数用途这是好的
例如:kill -n myapp; ./myapp.exe.
有没有办法在本地计算机上使用Powershell在SQL Server上执行任意查询?
以下PowerShell代码
#Get a server object which corresponds to the default instance
$srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server
... rest of the script ...
Run Code Online (Sandbox Code Playgroud)
给出以下错误消息:
New-Object : Cannot find type [Microsoft.SqlServer.Management.SMO.Server]: make sure
the assembly containing this type is loaded.
At C:\Users\sortelyn\ ... \tools\sql_express_backup\backup.ps1:6 char:8
+ $srv = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Server
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (:) [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
Run Code Online (Sandbox Code Playgroud)
互联网上的每个答案都写道我必须加载程序集 - 确保我可以从错误信息中读取:-) - 问题是:
如何加载程序集并使脚本工作?
我有一个命令,我已经构建并存储在PowerShell中的变量中.如果我执行Write-Host并将其复制并粘贴到标准cmd.exe窗口中,则此命令有效.
如何从脚本中执行此命令?
我已经尝试了几种Invoke-Command或Invoke-Expression的组合而没有运气.
这是我构建变量的方式:
$cmd1 = $arcprg + $arcdir + "\" + $site1 + "-" + $hst + "-" + $yesterday + ".zip " + $logpath1 + "u_ex" + $yesterday + ".log"
Run Code Online (Sandbox Code Playgroud)
这是变量在打印到屏幕时的样子:
7z.exe a -tzip c:\arc_logs\site-host-at-web1-100827.zip c:\inetpub\logs\logfiles\w3svc1\u_ex100827.log
Run Code Online (Sandbox Code Playgroud) 我目前正在编写一个安装许多Windows服务的部署脚本.
服务名称是版本化的,因此我想删除以前的Windows服务版本作为新服务安装的一部分.
我怎样才能在PowerShell中做到最好?
我想重新启动属于域的远程计算机.我有一个管理员帐户,但我不知道如何从powershell使用它.
我知道有一个Restart-Computercmdlet,我可以通过凭据但是如果我的域名是,例如mydomain,我的用户名是myuser,我的密码是mypassword使用它的正确语法?
我需要安排重启,所以我不必输入密码.
我想运行一个外部进程并将其命令输出捕获到PowerShell中的变量.我目前正在使用这个:
$params = "/verify $pc /domain:hosp.uhhg.org"
start-process "netdom.exe" $params -WindowStyle Hidden -Wait
Run Code Online (Sandbox Code Playgroud)
我已经确认命令正在执行但我需要将输出捕获到变量中.这意味着我无法使用-RedirectOutput,因为这只会重定向到文件.
我正在寻找PowerShell相当于grep --file=filename.如果您不知道grep,filename是一个文本文件,其中每一行都有您想要匹配的正则表达式模式.
也许我错过了一些明显的东西,但Select-String似乎没有这个选择.
在bash中,&符号(&)可用于在后台运行命令,并在命令运行完毕之前将交互式控件返回给用户.在Powershell中有没有相同的方法呢?
bash中的用法示例:
sleep 30 &
Run Code Online (Sandbox Code Playgroud) 我可以格式化Get-Datecmdlet没有这样的问题:
$date = Get-Date -format "yyyyMMdd"
Run Code Online (Sandbox Code Playgroud)
但是一旦我在变量中得到了一个日期,我该如何格式化呢?以下声明
$dateStr = $date -format "yyyMMdd"
Run Code Online (Sandbox Code Playgroud)
返回此错误:
"你必须在'-f'运算符的右侧提供一个值表达式"