来自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 中执行此操作?
我正在更新一个旧的 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 连接?
谢谢
我正在尝试将图像序列转换为带有一些文本叠加层(最终是帧计数器)的视频文件。
我正在使用的命令
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)
不幸的是,每次我尝试运行它时,它似乎都找不到字体。我已经看到其他人成功地使用了相同的语法,所以不确定我可能会做些什么不同的事情?
我已经检查过字体名称是否正确。
我正在尝试获取目录中的文件名,这些文件名是 exe,然后一一执行:
$files = get-childitem mydirectory
foreach ($file in $files)
{
$file /s
}
Run Code Online (Sandbox Code Playgroud)
但不知何故,powershell 不喜欢这个——它在抱怨“/s”。$file 包含我针对 Write-Host 检查过的有效文件名。现在如何解决这个问题。
谢谢
是否可以让 Windows 记录我键入的每个命令以及我在控制台上看到的输出?有时我发现我想看看我 2 小时前做了什么,以确保我正确输入了某个参数。
我特别要求 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,因为它有时很好。
所以我有一个我想在 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 中做了,但没有输出任何东西..
我有很多.exe文件被重命名为file1.exe、file2.exe等。当您查看属性(在 Windows 资源管理器中)下的文件详细信息时,它在“产品名称”下具有原始文件名。我试图找到一种方法将它们全部重命名回产品名称。有一些工具可以处理图像、音乐等,但我找不到任何可以为应用程序执行此操作的工具。如果有某种方法可以在命令行(批处理)上下文中访问“属性”→“详细信息”,这将(相当)简单明了。
此命令不起作用:
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 中运行上述命令时,它告诉我:
提供的参数数量无效。检查帮助以获取正确的语法。
我想检查远程机器中使用的是哪个版本的 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 版本?
powershell ×10
windows ×5
command-line ×2
automation ×1
autostart ×1
batch ×1
boot ×1
ffmpeg ×1
firewall ×1
fonts ×1
netsh ×1
pptp ×1
rename ×1
vpn ×1
windows-8 ×1