私は最初のバッチファイルを書いていますが、これまでWindowsコマンドラインを使用したことがないため、いくつかの問題が発生しています。
これが私のシナリオです。このバッチファイルをいくつかのイメージで使用して、何かをインストールします。バッチファイルで、インストーラーが存在する必要があるフォルダーを確認し、フォルダーが存在しない場合は、バッチファイルでコンピューターからインストーラーを検索する必要があります。その後、上記のインストーラーを実行してほしい。
これが私が持っているものです:
ECHO.
ECHO Starting Foo installation
IF EXIST Install\Installer.cmd (CALL Install\Installer.cmd & GOTO NextPart) ELSE (GOTO SearchInstaller)
:SearchInstaller
SET the_path =
E: & CD\
DIR /S/B Installer.cmd > installer_location.txt
IF EXIST installer_location.txt (SET /P the_path =< installer_location.txt & GOTO FoundIt)
C: & CD\
DIR /S/B Installer.cmd > installer_location.txt
IF EXIST installer_location.txt (SET /P the_path =< installer_location.txt & GOTO FoundIt)
D: & CD\
DIR /S/B Installer.cmd > installer_location.txt
IF EXIST installer_location.txt (SET /P the_path =< installer_location.txt & GOTO FoundIt)
ECHO Installation file not found.
:FoundIt
ECHO Batch file found at%the_path%
CALL %the_path%
ECHO Finished installation & ECHO.
GOTO NextPart
:NextPart
(more stuff)
問題は、DIRを使用してパスを見つけたら、パスが保存されないことだと思います。私は何日も研究してきました、そして私のグーグル検索はすべて紫色のリンクでいっぱいです。私が見つけたものはすべて私の構文が正しいと言っていますが、私は何か間違ったことをしていることを知っています。
私はECHO Program execution reached this point.
いくつかの場所にを配置しようとしたので、少なくともそれがどこに到達するかはわかっています。私が見ている問題は、テキストファイルの内容をパスthe_path
に割り当てようとしている行とその行にあるので、それが機能していることがわかります。ECHO