标签: powershell

与 ksh 的`whence -v` 等效的 PowerShell 是什么?

来自http://www.davidarno.org/2008/04/08/pash-powershell-for-the-rest-of-us/的评论:

使用 ksh,我可以输入whence -v cd以确定这cd是 say 的跟踪别名/bin/cd。在 PowerShell 中,cd是 的别名Set-Location,但我只是因为我输入了help cd,并获得了Set-Location帮助页面才发现了这一点。该whence -v命令将报告该项目是函数、别名、跟踪别名还是提供文件位置。

我们如何在 PowerShell 中执行此操作?

powershell

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

Powershell 中的 VPN

我正在更新一个旧的 DOS 脚本,该脚本用于在两台服务器之间打开 Windows PPTP VPN 连接,复制一些文件,然后关闭连接。我想在 powershell 中重写脚本,因此如果副本出现任何问题,我将能够发送电子邮件通知用户。

当前代码如下

rasdial connectionName UserName Password
if not %errorlevel% == 0 goto vpn
Run Code Online (Sandbox Code Playgroud)

当我尝试在 powershell 中使用 rasdial 时,它会打开一个新窗口,而 powershell 无法访问 %errorlevel% 或 $lastexitcode。

有没有办法让 powershell 在同一个窗口中打开 rasdial?如果没有,是否有其他实用程序可用于打开 VPN 连接?

谢谢

vpn powershell automation pptp

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

ffmpeg drawtext 初始化错误

我正在尝试将图像序列转换为带有一些文本叠加层(最终是帧计数器)的视频文件。

我正在使用的命令

ffmpeg -r 24 -y -i mambo_%05d.png -i ..\3DW_Mambo.wav \
  -vf drawtext="fontfile=/Windows/Fonts/arial.ttf:text='test' " test.mp4
Run Code Online (Sandbox Code Playgroud)

不幸的是,每次我尝试运行它时,它似乎都找不到字体。我已经看到其他人成功地使用了相同的语法,所以不确定我可能会做些什么不同的事情?

我已经检查过字体名称是否正确。

windows fonts powershell ffmpeg

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

如何列出文件并在powershell中执行

我正在尝试获取目录中的文件名,这些文件名是 exe,然后一一执行:

$files = get-childitem mydirectory

foreach ($file in $files)
{
     $file /s
}
Run Code Online (Sandbox Code Playgroud)

但不知何故,powershell 不喜欢这个——它在抱怨“/s”。$file 包含我针对 Write-Host 检查过的有效文件名。现在如何解决这个问题。

谢谢

powershell

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

让 Windows(或 PowerShell)记录我在命令行中所做的一切?

是否可以让 Windows 记录我键入的每个命令以及我在控制台上看到的输出?有时我发现我想看看我 2 小时前做了什么,以确保我正确输入了某个参数。

windows powershell

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

将程序配置为(不)在 Windows 8 中启动时运行的清单

我特别要求 Asus Splendid,我想随时运行它,这样它就不会在每次启动 Windows 时启动。我知道这是一个启动的程序,因为启动几秒钟后屏幕看起来不同。

然而,这是一个普遍的问题,可能对许多在其他程序中遇到类似问题的人有用。

某些应用程序可以选择配置为在 Windows 启动时运行(做得好,开发人员,非常感谢),但有些应用程序则没有(非常适合自由、自定义和可用性)。

到目前为止,我已经检查了注册表,windows key + r然后键入regedit然后检查:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  • [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

还有一种使用 powershell 探索注册表的更好方法,但我发现结果没有区别。

我也检查了服务,windows key + r然后services.msc,您可以将服务设置为手动启动,但似乎也不存在。

因此,我不知道为什么要启动这个程序。启动时必须有更多的配置设置,否则我可能被一个不清楚的名字误导了。

出于这些原因,我认为包含所有可能要检查的位置的列表(又名:检查表)对于许多人来说绝对是非常好的和有用的,但到目前为止我还没有找到它。

出于多种原因,我不想安装“regcleaner”之类的东西,但主要归结为我不喜欢安装东西的事实。

我不想卸载 Asus Splendid,因为它有时很好。

boot windows-registry powershell windows-8 autostart

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

将 cwd / pwd / (.) 添加到 powershell 中的路径

所以我有一个我想在 Windows PowerShell 中运行的程序。在 cmd 中,我只需输入script.cmd,它就会运行脚本。在 PowerShell 中,我显然必须这样做./script.cmd

默认情况下,BASH 的行为类似。要更改 BASH 的行为,您需要做export PATH=$PATH:.然后script.sh将工作,而不仅仅是./script.sh.

我的问题是……我怎样才能script.cmd在 PowerShell 中工作?我必须做类似的事情export PATH=$PATH:.吗?我echo $PATH在 PowerShell 中做了,但没有输出任何东西..

windows powershell command-line

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

如何从其详细信息重命名可执行文件

我有很多.exe文件被重命名为file1.exefile2.exe等。当您查看属性(在 Windows 资源管理器中)下的文件详细信息时,它在“产品名称”下具有原始文件名。我试图找到一种方法将它们全部重命名回产品名称。有一些工具可以处理图像、音乐等,但我找不到任何可以为应用程序执行此操作的工具。如果有某种方法可以在命令行(批处理)上下文中访问“属性”→“详细信息”,这将(相当)简单明了。

windows powershell batch command-line rename

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

命令可以通过 cmd 正常执行,但不能通过 PowerShell

此命令不起作用:

netsh advfirewall set allprofiles firewallpolicy blockinboundalways,allowoutbound
Run Code Online (Sandbox Code Playgroud)

此命令有效:

netsh advfirewall set allprofiles state on
Run Code Online (Sandbox Code Playgroud)

我试过使用 invoke-command 和 &,但我无法让它工作。当我在 PS 中运行上述命令时,它告诉我:

提供的参数数量无效。检查帮助以获取正确的语法。

firewall powershell netsh

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

如何检测每个 Windows 操作系统是否与 powershell 一起使用

我想检查远程机器中使用的是哪个版本的 Windows,我正在使用以下命令:

$version=[Environment]::OSVersion.Version | % {"{0}.{1}.{2}" -f $_.Major,$_.Minor,$_.Build}
Run Code Online (Sandbox Code Playgroud)

我得到例如 windows 7 的结果:6.1.7600

但我发现了一个问题:

Windows Server 2012 R2 有:6.1.9600

和 Windows 8.1 也是:6.1.9600

所以我想知道是否有其他解决方案来获取 Windows 版本?

windows powershell

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