0
NSISインストーラの出力フォルダにファイルを抽出する必要があります。ファイル名にはバージョン番号が含まれています。私は自分のファイルの名前で書かれた番号を読む方法が必要です。NSISでファイル名の数字を読み取る
例ファイル名:
MyFile_4.3_runtime_80968_x64.exe
私はそれを自動的に読み取るために、次のコードを使用:
Var Version
Section
${GetFileVersion} "F:\FilesToBeInstalled\MyFile_4.3_runtime_?????_x64.exe" $Version
MessageBox MB_OK "Version: $Version"
SectionEnd
以前のそれは私のために働くために使用されます。しかし、突然それは動作を停止しました。 ?????
と書くのではなく、適切な番号を書いていればうまくいきます。たとえば、次のコードは、私の作品:
Var Version
Section
${GetFileVersion} "F:\FilesToBeInstalled\MyFile_4.3_runtime_80698_x64.exe" $Version
MessageBox MB_OK "Version: $Version"
SectionEnd
ライン '$ {} WordFind2X "MyFile_4.3_runtime_80968.exe" "MyFile_4.3_runtime_" ".EXE" "-1" $ VERSION' 'MyFile_4.3_runtime_80968.exe'広告を使用しています。私の問題は、ファイルの名前に' 80968'があることを前もって知らないことです。 – skm
私は自分の答えを編集し、その名前パターンのすべてのインスタンスを見つけるためにFindFirstを追加しました。命名パターンに従って複数のファイルを除外することができれば、最初のヒットの後にループを壊すことができます。 – idleberg
申し訳ありませんが、 '_x64'も' .exe'の直前のファイル名にもあることを忘れていました。今それは問題を生み出すでしょう。どのようにこの状況に対処できますか? – skm