C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■97127 / )  Re[8]: PowerShellでファイルバージョン取得
□投稿者/ けん (9回)-(2021/03/31(Wed) 17:25:27)
No97123 (魔界の仮面弁士 さん) に返信

>>batファイル(コマンドプロンプト)でも、コマンドは違うにしても同様の取得は可能なのでしょうか。
>
> バッチファイル(*.cmd または *.bat) からだと、ファイルの列挙まではできますが、
> 肝心の「バージョン情報」を取得することができません。
> ファイル名を渡すとバージョン情報を返すような exe やスクリプトを併用しないと駄目ですね。
>
> 先のコードの肝は、FileVersionInfo プロパティから得られる
> [System.Diagnostics.FileVersionInfo] です。
>
>
> VBA からの場合は、VerQueryValue API を呼び出すようなコードを記述すれば
> 出来なくは無いですが…まぁ、PowerShell の方が楽ですね。
> C# や VB.NET でも良いですけど。

コードに対する詳細説明、大変参考になります。今一度よく説明内容を確認いたします。
ご教授いただき誠に有難うございます。

レジストリ及びファイル情報等はエクセルで取得可能ですが、仮想環境からの取得となりますので
エクセルは使用できない状況です。

今実施しようとしていることは、レジストリの取得はbatファイルで行い、ファイル情報取得を
「PowerShell」で行うこと考えていました。(C#やVB.NETは経験がありません。)

batファイルのファイル情報取得コードを以下に変更して情報を取得する。
「powershell -file "C:\Users・・・・\sample02.ps1")」

ここまで実行し結果を得ることが出来ました。

ここからは単純に結果をテキストファイルとして出力すればと思っておりましたが上手く
いきませんでした。

batファイル側
set mypath=%USERPROFILE%\Desktop\Result
set /p TestNo="Please enter a number. =>"

引数も「PowerShell」に渡します。
powershell -file "C:\Users・・・・\sample02.ps1" mypath TestNo


samle02.ps1側

「Out-File -FilePath mypath + '\DirNo' + TestNo.txt」

を記述すれば良いと思っていますが、取得コードにどのように記述すれば
テキストファイルとして保存できるでしょうか。

色々実施しましたが、出力されません。(sample02.ps1単独で躓いています。)
「Out-File -FilePath C:\Users\Desktop\Result.txt」

タイトルと違う投稿となりますが、ご教授ください。
よろしくお願いいたします。

返信 編集キー/


管理者用

- Child Tree -