我有一个命令,我已经构建并存储在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) 我需要获取文件路径名的最后一部分.
例:
c:\dir1\dir2\dir3\file.txt
Run Code Online (Sandbox Code Playgroud)
我需要将dir3放入变量中.
我一直在尝试分裂路径,但它给了我整条路径.
我有一个简单的PowerShell脚本,每天运行以压缩和移动一些日志文件.如何在删除原始日志文件之前测试命令是否成功完成.
set-location $logpath1
& $arcprg $pram $dest_file $source_file
Move-Item $dest_file $arcdir
Run Code Online (Sandbox Code Playgroud)
如果Move-Item完成,我想删除item $ source_file
我试图用VS2012发布一个应用程序,当我尝试制作包时,我得到一个错误,即拒绝访问该路径.我已经检查过,我的用户已完全控制并验证了路径.
VS正在尝试访问那里的.pubmxl文件.
我也试过以管理员身份运行VS2012.
我试图使用Get-Date cmdlet来获取昨天的日期.我找到了.AddDay(-1)命令,这似乎有效.我需要做的下一件事是以YYMMDD格式提取日期.这是我无法弄清楚该怎么做的部分.
这就是我过去的日期和前一天.
$a = Get-Date
"Day: " + $a.Day
"Month: " + $a.Month
"Year: " + $a.Year
"Hour: " + $a.Hour
"Minute: " + $a.Minute
"Second: " + $a.Second
$b=$a.AddDays(-1)
"Day: " + $b.Day
"Month: " + $b.Month
"Year: " + $b.Year
"Hour: " + $b.Hour
"Minute: " + $b.Minute
"Second: " + $b.Second
Run Code Online (Sandbox Code Playgroud) 我需要创建一个临时表,然后更新原始表。创建临时表不是问题。
create table #mod_contact
(
id INT IDENTITY NOT NULL PRIMARY KEY,
SiteID INT,
Contact1 varchar(25)
)
INSERT INTO #mod_contact (SiteID, Contact1)
select r.id, r.Contact from dbo.table1 r where CID = 142
GO
Run Code Online (Sandbox Code Playgroud)
现在,我需要遍历表并更新r.contact = SiteID + r.contact
我以前从未使用过while循环,而且似乎无法提供我所见过的任何示例。
我有一堆云形成模板,其中包含用于警报的条件资源。只有 prod 堆栈才能创建这些资源。我需要我在堆栈中创建的 IAM 策略来反映这些条件资源。到目前为止,我还没有找到一种方法来做到这一点。我曾尝试在单独的政策文件中使用 Condition: 并且它似乎忽略了它。
我在代码中创建了一个客户类型。我有一个函数,它正在读取一个 csv 文件并从每一行创建一个数组。
type DesiredService struct {
Name string `json:"Name"`
Status string `json:"Status"`
}
Run Code Online (Sandbox Code Playgroud)
如果我打印出变量,我有一些看起来像
[{app1 active}{app2 active}]
我不知道如何获取该变量并遍历每个索引。我需要获取状态为 active 的所有条目并调用另一个函数来根据 API 检查名称。我在想也许我没有正确设置结构。
当我检查它返回的变量类型时 []main.DesiredService
在阅读了一些文档后,这就是我想出的不起作用的东西。
func checkPagerDutyforService (serviceList []DesiredService) (bool){
var serviceExist bool()
for i, v := range serviceList {
if v == "active" {
checkIfServiceExist(i, serviceList)
serviceExist = true
} else {
if v != "active"{
serviceExist = false
}
}
}
return serviceExist
Run Code Online (Sandbox Code Playgroud)