私は、他のファイルや画像の束と一緒にドワーフ要塞と呼ばれるゲームのダウンロードを自動化するバッチファイルを書いています。すべてが機能していますが、ダウンロードした.txtファイルのフォルダーからカラーセットを選択できるようにユーザーに提供したいと思います。問題は、ファイル名に基づいて使用可能なカラーセット名を提供したいので、フォルダーを繰り返し処理してファイルの名前(.txt拡張子なし)を取得し、それらを1つの文字列に追加する必要があることです。フォーマットfilename, filename, ... etc
。ファイルを反復処理することはできますが、その単一の文字列を作成する方法がわかりません。これが私がこれまでに持っているものです(私はそれが機能しないことを知っています):
set /a colorFileNames=""
for %%f in (%CD%\colors\colors\*) do (
set %temp%=%%f
set colorFileNames="%%colorFileNames%%, %temp%:~0,-3"
)
次に、ユーザーへの質問でcolorFileNames
を使用します。
フォルダを繰り返し処理してファイルの名前(.txt拡張子なし)を取得し、ファイル名、ファイル名などの形式で単一の文字列に追加する必要があります。
次のバッチファイル(test.cmd)を使用します。
@echo off
setlocal enabledelayedexpansion
set colorFileNames=
for %%f in (%CD%\colors\colors\*) do (
set _file=%%~nf
if [!colorFileNames!]==[] (
set colorFileNames=!_file!
) else (
set colorFileNames=!colorFileNames!, !_file!
)
)
echo !colorFileNames!
endlocal
例:
F:\test>dir /b colors\colors
red.txt
green.txt
blue.txt
sky blue pink.txt
F:\test>test
red, green, blue, sky blue pink
F:\test>