iTunesのバージョンを確認するバッチファイルを作成しようとしています。バージョンがスクリプトにリストされているバージョンよりも低い場合は更新されます。バージョンに応じてiTunesを更新するバッチファイル
私が抱えている問題は、レジストリキーの値を自分のIF値にする最良の方法です。
私はGoogleをちょっと見ていて、やりたいことに合ったものを見つけることができません。
::Finds the value of the Version key
REG QUERY "HKLM\SOFTWARE\Apple Computer, Inc.\iTunes" /v Version
これは私が立ち往生している場所です。バージョンの値はどのように使用しますか?これにFORループを使用する必要がありますか?私はそれを試してみましたが、suではありませんでした。
::If the version matches the number below iTunes is up to date
IF Version==12.5.4.42 @echo Up to date! && goto end
::If the version is not equal to the number below
IF NOT Version==12.5.4.42 && goto install
::Installs the current version from the repository
:install
msiexec.exe ALLUSERS=true reboot=suppress /qn /i "%~dp0appleapplicationsupport.msi"
msiexec.exe /qn /norestart /i "%~dp0applemobiledevicesupport.msi"
msiexec.exe /qn /norestart /i "%~dp0itunes.msi"
echo Cleaning Up Installation
del C:\Users\Public\Desktop\iTunes.lnk
:end
exit
私はこれを理解できないツールのように感じます。前にFORステートメントを扱っていない。私の愚かさのための事前の謝罪。あなたのスクリプトで
面白い方法です。私はそれをテストし、何が起こるかを見てみましょう!!!!! – Kellanist
iTunesがインストールされていない場合、またはバージョンがリストされているバージョンよりも低い場合は、iTunesをインストールしたい場合は、どうすればよいでしょうか? – Kellanist
@Kellanist私の解決策はすでにそれをしている(私は思う)。 PowerShellが 'exit 1'を実行すると、実行スレッドはバッチスクリプトに戻ります。 PowerShellがerrorlevel 1で終了すると、 '&&'はスキップされ、 ':install'で実行が続けられます。ところで、Stack Overflowへようこそ!私の答えが役に立ったら、それを合格とマークすることを検討してください。なぜこのことが重要であるかについては、[このページを見る](http://meta.stackexchange.com/questions/5234/)を参照してください。 – rojo