Okeys,我不知道什么东西。它可能已经在某个地方了,但是我在解释它时遇到了一些麻烦,所以我也在寻找它时遇到麻烦。Powershell通过CMD或VBS获得FileVersion
事情并不复杂,只是对我而言不合逻辑。我试图在Powershell中设置一个脚本,主要进入一个文件夹并获取所有*.exe files
的版本。这工作得很好这样的:
dir 'C:\Program Files (x86)\SPN'| Get-ChildItem -Recurse -Include '*.exe' |%{$_.VersionInfo} | select FileName, FileVersion | Format-Table -Autosize | Out-file c:\test.txt
这很简单,因为它是所有进入该文件夹,recursivly搜索的exe文件,取出VERSIONINFO,然后将其放入之前选择的文件名和版本一个文件来报告安装的版本。它也可以工作!
这个问题有点复杂。我们使用htm\vbs application
来运行脚本。主要是这意味着我们所有的脚本是vbs, batch, or powershell
都是通过这个平台运行的。有时我们也会通过由vbs脚本启动的批处理文件运行powershell。
当我启动powershell并运行上面的脚本文件输出与我以后的信息,当我启动cmd并运行powershell脚本时,我得到的应用程序列表没有版本。 vbs也一样。
所以我想我会更深入。我开始了一个cmd,并输入start powershell
以获得一个新窗口,但唉,我仍然只得到filenames and no versions!
我得到这些版本的唯一方法是通过Powershell自行运行脚本。 (这意味着我必须手动打开Powershell,如右击并选择Run with Powershell
给出名称,并且没有版本)
任何建议和想法都将受到欢迎。
谢谢。
好吧,挖掘更深,我发现,它实际上是工作。 cmd的问题实际上是屏幕上没有空间。添加“mode con:cols = 145”解决了这个问题。我还没有尝试用vbs解决它,但我想这可能是类似的东西。关闭案件。 - 猜测我无法关闭它;)无论如何,我找到了我的答案。 – SkyRaider