、実際のファイル名を取得する拡張子が離脱して、純粋なファイル名を取得するためにfor /F
ループによって、その出力を解析し、(最初の)_
を強調した後、すべてを取得する部分文字列置換を使用するdir
コマンドを使用します。
を
rem Let `dir` get the actual file name, parse its output by `for /F`:
for /F "eol=| delims=" %%F in ('
dir /B /A:-D "C:\data\dbversion_*.txt"
') do (
set "NAME=%%~nF"
)
rem Do substring replacement:
set "NAME=%NAME:*_=%"
rem Use variable `%NAME%` here:
echo "%NAME%"
シンプルな標準for
ループは、同じ結果を達成:
rem Let `for` get the actual file name:
for %%F in ("C:\data\dbversion_*.txt") do (
set "NAME=%%~nF"
)
rem Do substring replacement:
set "NAME=%NAME:*_=%"
rem Use variable `%NAME%` here:
echo "%NAME%"
それは動作します。ありがとうございました。 – user1523087