3

投稿する前に、ほぼ2日間、自分で答えを見つけるために最善を尽くしました. この質問がこのサイトのどこかですでに回答されている場合は、事前にお詫び申し上げます。

つまり、現在使用している .dll から VersionInfo をプルする必要があります。

[System.Diagnostics.FileVersionInfo]::GetVersionInfo('C:\PathHere.dll').FileVersion | New-Item –ItemType ファイル c:\test.txt

これは私にとってはうまくいきますが、誰かがよりクリーンな方法だと感じている場合、私はすべての耳、より正確には…すべての目です。スクリプトは完全なバージョン値を取得し、必要に応じてテキスト ファイルに書き込みますが、問題は、最初の小数点以下 3 桁だけが必要なことです。小数点以下 4 桁。

したがって、VersionInfo が 1.3.102310.0345 の場合、その .txt ファイルには 1.3.102310 のみが含まれるようにします。残りの数値を丸めないことが非常に重要です。

最終結果が最初の小数点以下 3 桁の完全な値である限り、バージョン出力が何らかの理由で最初の小数点以下 3 桁のみを表示するように制限されているかどうか、または完全なバージョン情報が .txt に記録されているかどうかはあまり気にしません。ファイルから確実に削除されます。

4

4 に答える 4

3

これを試して:

$value = [System.Diagnostics.FileVersionInfo]::GetVersionInfo(...)
$version = [version]$value.ProductVersion
$output = $version.tostring(3) # show x.y.z
$output | out-file c:\test.txt
于 2011-09-08T21:12:25.463 に答える
0

これらの答えは素晴らしく、すべてがうまくいきました。この質問を投稿した後、私は速度を落とし、一歩下がって、友人と話しているときに、別の考えられる答えが私を襲った。

$ VersionInfo = [System.Diagnostics.FileVersionInfo] :: GetVersionInfo('C:\ Builds \ Agent1 \ QACodeLine \ Sources \ WebPublicBuild \ Binaries \ PowerWallet.Common.CommonTypes.dll')。FileVersion $ VersionInfo.split('。') || select -first 3 | out-ファイル"C:\ testies.txt"

このメソッドは、最初に.split('。')を使用して出力を4つの部分に分割し、次にselect -first 3を介して最初の3つだけを取得します(最初の3つの出力のみを選択します。その後、出力を再結合できます。行ごとにファイルに保存されますが、最後にここで提供される方法の1つを使用すると思います。最初の3オクテットを適切なバージョン情報形式でテキストファイルに書き込む方がよいでしょう。

迅速な対応に改めて感謝します-助けは非常にありがたいです!PowerShellは信じられないほど素晴らしいものであり、それはさらに支援的なコミュニティです。

于 2011-09-09T15:12:07.600 に答える
0

これは別の方法です:

$a = [System.Diagnostics.FileVersionInfo]::GetVersionInfo('C:\my.dll').fileversion; $a.Substring(0, $a.LastIndexOf('.')) |  New-Item –ItemType file c:\test.txt
于 2011-09-08T19:20:10.077 に答える
0

これはそれを行う必要があります:

[string]::Join('.', (Get-Item C:\PathHere.dll).versionInfo.FileVersion.Split('.')[0..2]) |  New-Item –ItemType file c:\test.txt

または、2 つの問題が必要な場合の正規表現の方法:

(Get-Item C:\PathHere.dll).versionInfo.FileVersion -replace '^(\d+\.\d+\.\d+)\.\d+$', "`$1" | New-Item –ItemType file c:\test.txt
于 2011-09-08T18:59:46.243 に答える