8

NWJS を使用してデスクトップ アプリケーションを開発しており、.exe ファイルのファイル プロパティを取得する必要があります。

npm プロパティ モジュールhttps://github.com/gagle/node-propertiesを使用してみましたが、空のオブジェクトが表示されます。

properties.parse('./unzipped/File.exe', { path: true }, function (err, obj) {
            if (err) {
                console.log(err);
            }

            console.log(obj);
        });

「ファイル バージョン」プロパティを取得する必要があります。

ファイルのプロパティ

私も fs.stats を使ってみましたが、うまくいきませんでした。何か案は?

4

2 に答える 2

3

ネイティブ C モジュールを書きたくない場合は、これを簡単に行うハックな方法があります: Windowswmicコマンドを使用します。これは、バージョンを取得するコマンドです (グーグルで検索):

wmic datafile where name='c:\\windows\\system32\\notepad.exe' get Version

ノードでこのコマンドを実行するだけで、ジョブを完了できます。

var exec = require('child_process').exec

exec('wmic datafile where name="c:\\\\windows\\\\system32\\\\notepad.exe" get Version', function(err,stdout, stderr){
 if(!err){
   console.log(stdout)// parse this string for version
 }
});
于 2015-06-30T22:50:15.413 に答える
2

プロパティをオブジェクトとして提供する場合は、 を使用できますget-file-properties。内部で使用wmicしますが、出力を解析して、アプリケーションで使用する使いやすい型付きオブジェクトに変換します。

import { getFileProperties, WmicDataObject } from 'get-file-properties'

async function demo() {
  // Make sure to use double backslashes in your file path
  const metadata: WmicDataObject = await getFileProperties('C:\\path\\to\\file.txt')
  console.log(metadata.Version)
}

免責事項:私はの作者ですget-file-properties

于 2019-10-30T21:02:58.337 に答える