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