我在所有文件夹中搜索文件.
Copyforbuild.bat 很多地方都有,我想递归搜索.
$File = "V:\Myfolder\**\*.CopyForbuild.bat"
Run Code Online (Sandbox Code Playgroud)
我怎么能在PowerShell中做到这一点?
我正在向我的团队分发Powershell脚本.该脚本是从Vsphere客户端获取IP地址,进行mstsc连接并将其记录在共享文件中.
他们使用脚本的那一刻他们就知道了机器的IP地址.之后,他们总是倾向于直接使用mstsc而不是运行powershell脚本.(因为他们正在使用mstsc,我无法知道他们是否经常使用VM)
主要是他们告诉我运行PowerShell并不是直截了当的.
我因他们的懒惰而生病.
有没有办法通过双击.ps1文件使PowerShell脚本工作?
我有一个 .sql文件.我试图通过Powershell脚本传递连接字符串详细信息并调用.sql文件.
我正在搜索并想出了一个与之相关的cmdlet Invoke-sqlcmd.当我试图找到一个与SQL相对应的模块时,我在我的机器中找不到任何一个模块.
我应该在我的机器中安装任何东西(机器已经有SQL Server Management Studio 2008 R2)来获取模块,还是有简单的方法.sql使用Powershell 执行文件?
我试图检查端口是否打开使用PowerShell,如下所示.
(new-object Net.Sockets.TcpClient).Connect("10.45.23.109", 443)
Run Code Online (Sandbox Code Playgroud)
此方法有效,但输出不是用户友好的.这意味着如果没有错误,那么它就具有访问权限.有没有办法检查成功并显示一些消息,如"端口443是否可操作"?
我试图使用以下方法在文件中查找和替换.
Function Find-Replace ($FileFullpath, $FindString, $ReplacementString) {
Get-Content $FileFullpath |
Foreach-Object {$_ -replace $FindString, $ReplacementString } |
Set-Content $FileFullpath
}
Find-Replace "c:\program files (x86)\MyProj\web.config" $OldServiceName $NewServiceName
Run Code Online (Sandbox Code Playgroud)
但我总是得到错误.
Set-Content:进程无法访问文件'c:\ program files(x86)\ MyProj\web.config',因为它正由另一个进程使用.
该文件不会在任何地方打开.我认为Get-content尚未发布该文件.
为什么会这样?如何在同一个文件中查找和替换没有问题?
我试图在远程计算机上执行脚本.
我Enable-PSremoting在远程机器上做了" ".
我hello.ps1在远程机器上放了一个脚本.
[我的客户端机器是Windows XP,远程计算机是Windows 2003]
然后从我的客户端计算机,我试图执行脚本.
invoke-command -computer $MachineName -filepath "C:\hello.ps1"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误.
Invoke-Command:找不到路径'C:\ hello.ps1',因为它不存在.
我认为它试图从客户端机器中查找脚本.
如果我试着跑
invoke-command -computer $MachineName -command { C:\hello.ps1 } ,它执行客户端远程机器中可用的脚本.
但我想在远程机器本身执行远程脚本.
如何使它运行远程机器中可用的脚本?
更新:
实际上这个命令" invoke-command -computer $MachineName -command { C:\hello.ps1 }"在远程端工作,并将结果返回给客户端.我通过查看它在客户端执行的返回值而误解了.
我有一个XML文件列表,我必须从中获取特定行后的字符串.
在文件中,我需要查找标记Event并获取属性值DLLRoutine.例如标签看起来像下面的......
<Event Definition="Validate" DLLPath="" DLLName="Helper.dll" DLLClass="HelpMain"
DLLRoutine="pgFeatureInfoOnValidate_WriteToRegSelectedFeatures"
InputParameters="pTreeViewFeatureTreeServerOS" RunOnce="no"/>
Run Code Online (Sandbox Code Playgroud)
我只需要获得Dllroutine价值.如何使用PowerShell做到这一点?
以下是使PowerShell发言的方法.
Add-Type -AssemblyName System.Speech
$synthesizer = New-Object -TypeName System.Speech.Synthesis.SpeechSynthesizer
$synthesizer.Speak('Hey, I can speak!')
Run Code Online (Sandbox Code Playgroud)
其实我想反对.如果我说话,可以将powershell转换成字母.
如果我在我的录音机中说"嘿,我可以说",它会转换成文字吗?
如果可能请指导我如何实现它?
我试图在powershell中找到一种方法来移除多个空白区域.
但我发现如何在PHP中做到这一点." 删除多个白色空间 "
可能会有类似的正则表达式.
如何在powershell中实现同样的目标?
我的字符串是这样的
Xcopy Source Desination
Run Code Online (Sandbox Code Playgroud)
某些行可能在源和目标之间包含多个空格.
我有一个哈希表,根据值使用Keys.
对于前者
$ComponentTobeBuild=@{"ComponentNameX"="True";
"ComponentNameXyz"="False";
"SomeComponent"="False"}
Run Code Online (Sandbox Code Playgroud)
我想得到值为True的键.(我会将密钥传递给其他一些脚本作为参数).
我是这样尝试的,但我认为我错过了一些因为它没有列出键.
$($ComponentToBuild.Keys) | Where-Object { $_.Value -eq "True" }
Run Code Online (Sandbox Code Playgroud)
如何获得表示为True的组件名称?此外,我想知道哈希表是否是这种工作的明智选择.因为我认为哈希表主要用于处理值.