2012-04-20 16 views
0

プログラムをインストールするためのバッチスクリプトを作成していますが、問題は、プログラムをインストールする各exeファイルにファイル名の後にバージョン番号が付いていることです。 7zip v9.20.exe)。バッチファイル:部分文字列に一致するプログラムを実行する

バージョン番号にかかわらずファイルのフォルダを検索するバッチスクリプトを作成する必要があります。そのため、ファイル内の7zipが一致し、そのファイルを実行してサイレントインストールを実行します。

私はサイレントインストールの部分を持っています。バージョン番号なしで7zipのフォルダを検索し、そのexeを実行する方法が必要です。

+1

これはバッチスクリプトでなければならないのはなぜですか? – robert

+1

バージョン番号の形式はどのようなものですか?すべての場合に一貫していますか?つまり、次のような例があります: '7zip 9.20.exe'、' 7zip V9.9.20.exe'、 '7zip 9.2000000.exe'? – Robbie

+0

バージョン番号は7zip v9.20.exeと一貫しています。特定のアプリケーションをサイレントインストールするための自動インストールスクリプトを作成しているため、バッチスクリプトでなければなりません。 – Recruit401

答えて

1

"7zipを* .EXE" ファイルは、%PATH%のフォルダのいずれかに配置されている場合:

for %%f in ("7zip *.exe") do set filename="%%~$PATH:f" 
rem To execute the filename: 
%filename% parameters ... 

"7zipを* .EXE" ファイルは、%PATH%以下に配置されていない場合は、次の

set baseFolder=C:\path\of\base\folder\for\7zip 
for /R %baseFolder% %%f in ("7zip *.exe") do set filename="%%~Ff" 
+0

これはうまくいった!驚くばかり。お手伝いありがとう! – Recruit401

関連する問題