execute exe from incomplete name in .bat
I wanna make a .bat for installing service, I use that
But the "v4.0.30319" can be "v4.0.otherVersion" and I look for a way to execute anyway. I searched a lot of but didn't find something who work and I'm really bad with bash.
Based upon your provided information, this idea retrieves the location you require from the registry:
@Echo Off SetLocal EnableExtensions DisableDelayedExpansion Set "Net4RegPath=HKLM\SOFTWARE\Microsoft\Net Framework Setup\NDP\v4" Set "InstallUtil=" For /F "EOL=HTokens=2*" %%G In ( '%__AppDir__%reg.exe Query "%Net4RegPath%" /S /F "InstallPath" /V /E 2^>NUL^|%__AppDir__%find.exe "_SZ"')Do For /F "Delims=" %%I In ( '%__AppDir__%where.exe "%%~H\.":"InstallUtil.exe" 2^>NUL' )Do Set "InstallUtil=%%I" If Defined InstallUtil "%InstallUtil%" "ServiceName.exe"
Please note that this will not currently retrieve the appropriate file path if you're wanting to specifically identify the location of the x86
InstallUtil.exefile on an x64 OS. But as that is technically outside of the scope of your question at the time of answering, I'll leave that for you to implement if required.