标签: powershell

Powershell 中 rm -rf 的等价物是什么?

众所周知,在 *nix 系统上,递归地rm -rf some_directory删除some_directory其下的所有文件,而无需确认。

这个命令在 Powershell 中的等价物是什么?

请注意,此处给出的 cmd答案(使用rmdir等)在 Powershell 中不起作用。尽管 Powershellrmdir为 to做了别名Remove-Item(大概有一些开关;不确定是哪个),但它并没有将cmd 样式的开关作为别名,如/s.

powershell

8
推荐指数
2
解决办法
9494
查看次数

从具有多个绑定的powershell在IIS中创建网站

我正在尝试制作简单的脚本,以便可以以 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)

iis powershell

8
推荐指数
1
解决办法
1万
查看次数

Powershell 中的 Install-Module 命令是什么?

微软的各种文章都提到了 Powershell 命令Install-Module,但我找不到任何关于这实际上是什么的参考,而且它不太适合谷歌搜索。我已经安装了psget,所以我有它的 Install-Module 版本……但我认为这不是其他人都在谈论的 Install-Module。

啊,我找到了这个 Install-Module。这与 PsGet 安装的不同吗?如果是这样,我应该卸载 PsGet 以便回到默认设置吗?

powershell

8
推荐指数
2
解决办法
1万
查看次数

如何判断我的批处理文件是否正在运行?

我有一个从 AT 命令运行的批处理脚本,并且可能会多次运行。当它启动时,我需要它检测它是否已经在运行,如果是,立即退出(第二个)。

  1. 它必须健壮,并处理脚本意外退出(即,我无法在进入时设置标志并在退出时清除它)
  2. 它必须在远程桌面会话中运行
  3. 我一直在使用 Powershell v2 的 XP,但如果我不能在批处理/powershell 或 vbs 中执行,请不要介意编写一个小 exe
  4. 脚本必须最小化运行,所以我用 Start "NAME" /MIN %COMSPEC% /C "MyScript.bat" 启动它
  5. 其他 cmd 窗口可能已打开,因此我需要检查正在运行的脚本
  6. 批处理脚本以 SYSTEM 用户身份运行,但我无法使用任何 WMI

我正在使用 PowerShell Get-Process 查看 MainWindowTitle,但是当远程连接到计算机时这不起作用,因为脚本可能正在运行,但未显示在此远程连接实例中。在这种情况下,Get-Process 可以看到 cmd 进程,但 MainWindowTitle 是空白的。

我试过 Get-Process 并查看了扩展的 StartInfo.EnvironmentVariables 属性,但看不到如何创建 env var 以便它出现在属性中。

我想过在启动命令中使用/WAIT,然后AT会一直打开直到它完成,但是包含AT的脚本没有被最小化

有任何想法吗?

windows powershell vbscript batch-file

8
推荐指数
1
解决办法
1万
查看次数

了解在批处理中使用参数执行 powershell

我已经研究了一段时间,但我不明白这是如何工作的。我需要的是:

  1. 能够运行批处理文件
  2. 批处理文件应该有参数
  3. 参数应从批处理文件传递到同一文件中的 PowerShell 脚本

为什么我需要这个?因为我需要运行一个简单的批处理文件来做一些事情,但我需要只能在 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

8
推荐指数
1
解决办法
2万
查看次数

从powershell打开文件系统对象属性窗口?

是否可以从 powershell 打开文件或文件夹的属性对话框?

如果是这样,我该怎么做?

powershell

8
推荐指数
1
解决办法
2823
查看次数

查看 powershell 的完整历史记录,而不仅仅是当前会话

Powershell 现在可以轻松地记住以前会话的历史记录,我可以通过使用向上箭头来获取更早的命令。我想要的是能够显示这段历史,但我不知道如何去做。

由于某种原因,命令 get-history 似乎只能显示当前会话的历史记录。即使传递 -count 选项也无济于事。

目前,我可以访问上一个命令的唯一方法是手动向上单击所有以前的命令以找到我正在寻找的命令。如果命令是在不久前运行的,这显然会非常乏味。

是否有一些技巧可以使 get-history 跨会话正确工作。该列表显然存储在某处,因此无法显示它。

编辑:这不是一个重复的问题。这是关于访问 Powershell 已经记录的完整历史记录,而不是添加新的(自定义)方式来保存会话历史记录。在 Powershell 能够自动记录完整的命令历史记录之前,这些其他问题和相关答案是相关的。

powershell history

8
推荐指数
2
解决办法
5621
查看次数

Windows 10 Creators 更新后 PowerShell 字体终端损坏

对于那些不知道的人,微软发布了 Windows 10 的重大更新,其中一项更改是 PowerShell 默认替换 cmd.exe。例如,当您打开 Win+X 菜单时,您会看到 PowerShell 链接,而不再有命令提示符。

无论如何,在运行 PowerShell 时,我现在得到了这个:

http://i.imgur.com/KGdZKiI.png

这在更新之前没有发生。

编辑:更改字体有帮助,但不能解决没有更改字体功能的应用程序的问题。损坏的字体是终端。从其他来源替换它/重新安装或在控制面板中将字体重置为默认值并不能解决。

例如,在桌面上打开终端字体的新副本仍然不会呈现它们,它会显示象形文字。所以这就像不是字体本身坏了,而是 Windows 中不呈现字体的东西?

此外,您无法在 Win10 上重新安装 .net framework 4.7 没有卸载程序,它随 Windows 一起提供,您只能删除目录,在程序和功能中勾选/取消勾选,也许运行清理实用程序,但不能解决字体问题.

windows-update powershell windows-10 windows-10-v1703

8
推荐指数
2
解决办法
4272
查看次数

PowerShell:如何为目录中的所有文件附加前缀?

目前我正在使用 cmdlet,例如:

dir | rename-item -NewName {$_.name -replace "-","_"}
Run Code Online (Sandbox Code Playgroud)

但是现在我需要为目录中所有文件的文件名添加前缀。
我无法预测每个文件名的长度(它会有所不同),所以我不能只使用一堆.通配符。

我需要它在每个文件名的开头附加一个固定短语,无论该文件名是什么。

powershell rename bulk wildcards batch-rename

8
推荐指数
2
解决办法
5万
查看次数

为什么在 PowerShell 中不能使用“查找”?

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 find cmd.exe

8
推荐指数
2
解决办法
1万
查看次数