假设我想用字符串来表示时间,就像这样
Write-Output "It's now (Get-Date)"
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,相反:
$time = Get-Date
Write-Output "It's now $time"
Run Code Online (Sandbox Code Playgroud)
如何在不将其资源分配给变量的情况下获得相同的结果?
我试图反转队列并使其成为堆栈.但它没有显示任何输出.
$queue = [System.Collections.ArrayList]@()
$queue.Add("Object1") | Out-Null
$queue.Add("Object2") | Out-Null
"=========== Queue ================"
foreach ($i in $queue) {
$i
}
$stack = $queue.Reverse()
"=========== stack ================"
foreach ($i in $stack) {
$i
}
Run Code Online (Sandbox Code Playgroud)
我期待如下结果
=========== Queue ================
Object1
Object2
=========== stack ================
Object2
Object1
Run Code Online (Sandbox Code Playgroud)
但是堆栈结果没有给出如下任何值
=========== Queue ================
Object1
Object2
=========== stack ================
Run Code Online (Sandbox Code Playgroud)
这有什么不对?怎么纠正呢?
我尝试编写Windows PowerShell脚本。我需要从目录树中的所有文件中获取文件哈希。
这是我到目前为止所得到的:
Get-ChildItem -Path "c:\temp\path" -Recurse -Force -Attributes !Directory | % {Get-FileHash $_.Fullname} | Out-File "c:\temp\report_file.txt"
Run Code Online (Sandbox Code Playgroud)
文件c:\temp\report_file.txt是这样的:
Algorithm Hash Path
--------- ---- ----
SHA256 E3B0C44298...E4649B934CA495991B7852B855 c:\temp\path\report1.txt
SHA256 7B989C1C95...6756624B3887E501DCC377DB23 c:\temp\path\report2.txt
SHA256 EA0155401C...A6D44F1DEBB95E401AEFF4F908 c:\temp\path\report3.txt
SHA256 06DAA0E452...32E3F3104EA4564EAB67CA6A0A c:\temp\path\report4.txt
**SHA256 9C7C9FEA96...45F460BA9015C8F0A5CA830B6B c:\temp\path\report5.txt**
Run Code Online (Sandbox Code Playgroud)
一切正常。
期望:
我每天多次运行此cmdlet。有时会在此目录树中删除并重新创建文件。而且...输出文件中文件的顺序是不相同的。在下面的示例中report5.txt,报告文件中的文件必须在最后一行,但在第二行。我想这是因为选择了递归选项。我需要此递归选项。当我在没有子目录的目录上运行cmdlet时,结果始终是相等的。但是,在带有子目录的目录(目录树)上时-不。
Algorithm Hash Path
--------- ---- ----
SHA256 E3B0C44298...E4649B934CA495991B7852B855 c:\temp\path\report1.txt
**SHA256 9C7C9FEA96...45F460BA9015C8F0A5CA830B6B c:\temp\path\report5.txt**
SHA256 7B989C1C95...6756624B3887E501DCC377DB23 c:\temp\path\report2.txt
SHA256 EA0155401C...A6D44F1DEBB95E401AEFF4F908 c:\temp\path\report3.txt
SHA256 06DAA0E452...32E3F3104EA4564EAB67CA6A0A c:\temp\path\report4.txt
Run Code Online (Sandbox Code Playgroud)
这是一种解决方案,可以在将数据输出到报告文件之前,按列全路径对所有数据进行排序吗?
给定一个数字列表: { 4, 5, 7, 3, 5, 4, 2, 4 }
所需的输出是: { 7, 3, 2 }
我正在考虑的解决方案是从给定的列表中在 HashMap 下创建:
Map<Integer, Integer> numbersCountMap = new HashMap();
Run Code Online (Sandbox Code Playgroud)
其中键是列表中的值,值是出现次数。
然后循环遍历 HashMap 条目集,只要数字包含的计数大于 1,就从列表中删除该数字。
for (Map.Entry<Int, Int> numberCountEntry : numbersCountMap.entrySet()) {
if(numberCountEntry.getValue() > 1) {
testList.remove(numberCountEntry.getKey());
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定这是否是解决此问题的有效方法,因为remove(Integer)对列表的操作可能很昂贵。此外,我正在创建额外的 Map 数据结构。并循环两次,一次在原始列表上创建地图,然后在地图上删除重复项。
你能不能提出一个更好的方法。可能是 Java 8 有更好的实现方式。我们还可以在 Java 8 中使用 Streams 和其他新结构在几行中完成吗?
我想写一些测试用例,我必须模拟配置文件的一些属性.
下面显示的是实际代码
if (password.length() < grailsApplication.config.user.password.min.length) {
return false
}
Run Code Online (Sandbox Code Playgroud)
我想模拟grailsApplication.config.user.password.min.length
在我的配置文件中,user.password.min.length已设置为6
我试着用以下方式嘲笑:
mockConfig = new ConfigObject()
mockConfig.user.password.min.length = 6
mockConfig("user.password.min.length")
mockConfig(user.password.min.length)mockConfig(mockConfig.user.password.min.length)但这一切都没有效果.我的代码NullPointerException有时会抛出.有人可以建议正确的方法来模拟配置文件吗?
我在我的组织中使用 MDT(Microsoft 部署工具包)和 WDS(Windows 部署服务)。我cmd /c %scriptroot%\HP_Win_7.bat在任务序列中调用了一个 CMD 文件。
批处理文件的内容:
slmgr /ilc c:\support\zertifikate\HP.xrm-ms
slmgr /ipk 74T2M-DKDBC-788W3-H689G-6P6GT
slmgr /ato
Run Code Online (Sandbox Code Playgroud)
在批处理文件的执行过程中,我从 Windows Script Host 收到 3 个弹出窗口,我必须按“确定”或“输入”确认。批处理暂停,直到我确认弹出窗口。如果没有,cmd 文件将暂停。
我想要一个解决方案来隐藏这些弹出窗口或自动确认它们。
该脚本加载证书文件和通用密钥并激活窗口。(Windows 键是通用的,适用于 HP Win 7 PC)
只是观看并不多解释.
$env = '@PROD'
$LogTime = Get-Date -Format "MM-dd-yyyy_hh:mm:ss"
$LogFile = '"C:/Test/test/test/Log/"+$LogTime+"_Log_"+$env+".log"'
Write-Host $LogFile
Run Code Online (Sandbox Code Playgroud)
但$ LogFile不对.输出="C:\ Test\test\test\Log \"+ $ LogTime +" Log "+ $ env +".log"
我正在按照此线程从Windows 10系统中卸载mozilla firefox。
我最初使用exe安装程序安装了mozilla firefox,但没有执行mozilla条目gwmi -Class Win32_Product。
有什么方法可以触发Windows系统上该软件的卸载程序?
注意:我将无法为此目的使用msi安装程序。
powershell ×5
variables ×2
arraylist ×1
batch-file ×1
collections ×1
grails ×1
groovy ×1
java ×1
java-8 ×1
java-stream ×1
mdt ×1
mocking ×1
path ×1
sorting ×1
string ×1
uninstall ×1
unit-testing ×1
vbscript ×1
windows ×1
wmi ×1