众所周知,在 *nix 系统上,递归地rm -rf some_directory删除some_directory其下的所有文件,而无需确认。
这个命令在 Powershell 中的等价物是什么?
请注意,此处给出的 cmd答案(使用rmdir等)在 Powershell 中不起作用。尽管 Powershellrmdir为 to做了别名Remove-Item(大概有一些开关;不确定是哪个),但它并没有将cmd 样式的开关作为别名,如/s.
我正在尝试制作简单的脚本,以便可以以 aswww.example.com和简单的方式访问我的网站example.com。我如何将它作为绑定参数传递?
这是我的尝试:
$iisApp = New-Item $iisAppName -bindings @{protocol="http";bindingInformation="*:80:"+ $url + ",*:80:www." + $url} -physicalPath $directoryPath
$iisApp | Set-ItemProperty -Name "applicationPool" -Value $iisAppPoolName
Run Code Online (Sandbox Code Playgroud) 微软的各种文章都提到了 Powershell 命令Install-Module,但我找不到任何关于这实际上是什么的参考,而且它不太适合谷歌搜索。我已经安装了psget,所以我有它的 Install-Module 版本……但我认为这不是其他人都在谈论的 Install-Module。
啊,我找到了这个 Install-Module。这与 PsGet 安装的不同吗?如果是这样,我应该卸载 PsGet 以便回到默认设置吗?
我有一个从 AT 命令运行的批处理脚本,并且可能会多次运行。当它启动时,我需要它检测它是否已经在运行,如果是,立即退出(第二个)。
我正在使用 PowerShell Get-Process 查看 MainWindowTitle,但是当远程连接到计算机时这不起作用,因为脚本可能正在运行,但未显示在此远程连接实例中。在这种情况下,Get-Process 可以看到 cmd 进程,但 MainWindowTitle 是空白的。
我试过 Get-Process 并查看了扩展的 StartInfo.EnvironmentVariables 属性,但看不到如何创建 env var 以便它出现在属性中。
我想过在启动命令中使用/WAIT,然后AT会一直打开直到它完成,但是包含AT的脚本没有被最小化
有任何想法吗?
我已经研究了一段时间,但我不明白这是如何工作的。我需要的是:
为什么我需要这个?因为我需要运行一个简单的批处理文件来做一些事情,但我需要只能在 PowerShell 中工作的高级功能。具体来说:我需要SaveFileDialog一些应用程序。
以下是我现在所拥有的,在那里我剥离了SaveFileDialog.
<# :
@echo off
setlocal
powershell -noprofile "iex (${%~f0} | out-string)"
goto :EOF
#>
Write-Host "Hello, I'm PowerShell!"
Run Code Online (Sandbox Code Playgroud)
如果我把所有这些都放在一个批处理文件中,比如说,myfile.bat. 它运行并调用 PowerShell 并写入该消息。
我的问题/请求:如何运行myfile.bat param1 param2 param3,并将这些参数/参数传递给我的 PowerShell 脚本?我真的很感激一个最小的例子,它只是通过 powershell 的write-host.
请随时询问更多详情。谢谢!
windows powershell command-line command-line-arguments batch-file
是否可以从 powershell 打开文件或文件夹的属性对话框?
如果是这样,我该怎么做?
Powershell 现在可以轻松地记住以前会话的历史记录,我可以通过使用向上箭头来获取更早的命令。我想要的是能够显示这段历史,但我不知道如何去做。
由于某种原因,命令 get-history 似乎只能显示当前会话的历史记录。即使传递 -count 选项也无济于事。
目前,我可以访问上一个命令的唯一方法是手动向上单击所有以前的命令以找到我正在寻找的命令。如果命令是在不久前运行的,这显然会非常乏味。
是否有一些技巧可以使 get-history 跨会话正确工作。该列表显然存储在某处,因此无法显示它。
编辑:这不是一个重复的问题。这是关于访问 Powershell 已经记录的完整历史记录,而不是添加新的(自定义)方式来保存会话历史记录。在 Powershell 能够自动记录完整的命令历史记录之前,这些其他问题和相关答案是相关的。
对于那些不知道的人,微软发布了 Windows 10 的重大更新,其中一项更改是 PowerShell 默认替换 cmd.exe。例如,当您打开 Win+X 菜单时,您会看到 PowerShell 链接,而不再有命令提示符。
无论如何,在运行 PowerShell 时,我现在得到了这个:
这在更新之前没有发生。
编辑:更改字体有帮助,但不能解决没有更改字体功能的应用程序的问题。损坏的字体是终端。从其他来源替换它/重新安装或在控制面板中将字体重置为默认值并不能解决。
例如,在桌面上打开终端字体的新副本仍然不会呈现它们,它会显示象形文字。所以这就像不是字体本身坏了,而是 Windows 中不呈现字体的东西?
此外,您无法在 Win10 上重新安装 .net framework 4.7 没有卸载程序,它随 Windows 一起提供,您只能删除目录,在程序和功能中勾选/取消勾选,也许运行清理实用程序,但不能解决字体问题.
目前我正在使用 cmdlet,例如:
dir | rename-item -NewName {$_.name -replace "-","_"}
Run Code Online (Sandbox Code Playgroud)
但是现在我需要为目录中所有文件的文件名添加前缀。
我无法预测每个文件名的长度(它会有所不同),所以我不能只使用一堆.通配符。
我需要它在每个文件名的开头附加一个固定短语,无论该文件名是什么。
find.exe在 PowerShell 控制台 shell 中使用这些参数时,有什么令人反感的地方?
这些命令在cmd.exeshell 中按预期工作:
PS C:\Windows\System32\WindowsPowerShell\v1.0> find /i "System.Diagnostics.Process" *.ps1xml
FIND: Parameter format not correct
PS C:\Windows\System32\WindowsPowerShell\v1.0> find /i "System.Diagnostics.Process" *.ps1xml
FIND: Parameter format not correct
PS C:\Windows\System32\WindowsPowerShell\v1.0> C:\Windows\System32\find.exe /i "System.Diagnostics.Process" *.ps1xml
FIND: Parameter format not correct
PS C:\Windows\System32\WindowsPowerShell\v1.0> C:\Windows\System32\find.exe /i "System.Diagnostics.Process" .\DotNetTypes.format.ps1xml
FIND: Parameter format not correct
Run Code Online (Sandbox Code Playgroud) powershell ×10
batch-file ×2
windows ×2
batch-rename ×1
bulk ×1
cmd.exe ×1
command-line ×1
find ×1
history ×1
iis ×1
rename ×1
vbscript ×1
wildcards ×1
windows-10 ×1