まず第一に、私はプログラミングの初心者です。初めて実行するときにプログラムのインストール ディレクトリをユーザー入力として受け取るバッチ ファイルを作成しようとしています (つまり、2 回目の実行時にディレクトリを要求するべきではありません)。色々とスクリプトを検索してここまでたどり着きましたが、
@echo off
Echo =============================================
echo Directory
Echo =============================================
setlocal enableextensions enabledelayedexpansion
set /p mypath=Please specify install directory;
Echo %mypath% ----was what you typed
pause
echo start>temp.txt
echo %mypath%>>temp.txt
echo \programfolder\program.exe>>temp.txt
echo -argument -argument>>temp.txt
setlocal enabledelayedexpansion
set FINAL=
for /f %%a in (temp.txt) do (
set FINAL=!FINAL!%%a
)
echo %FINAL%>input.txt
del /q temp.txt
Pause
start "<input.txt"
これにより、入力パスが「input.txt」テキスト ファイルに保存され、次回の起動時にプログラムが実行されます。テキスト ファイルに保存されたパスを "start driveletter:\foldername\foldername with space\programfolder\program.exe" -arguments として保存したいのですが、"start"、"program folder"、"program.exe"、および "-arguments 」が修正されました。ユーザー入力パスは %mypath% に保存されます。