我有几个txt文件,其中包含具有不同参数的同一组变量。我创建了一个批处理以从文件夹中读取所有txt文件并创建一个选择列表。到目前为止,一切正常。
现在,我要从选择列表中排除某些txt文件,因为这些文件不包含变量(即readme.txt,information.txt)。
这是我到目前为止获得的代码:
@echo off
setlocal enabledelayedexpansion
set count=0
:: Read in files
for %%x in (*.txt) do (
set /a count=count+1
set choice[!count!]=%%x
)
echo.
echo Select one:
echo.
:: Print list of files
for /l %%x in (1,1,!count!) do (
echo %%x] !choice[%%x]!
)
echo.
:: Retrieve User input
set /p select=?
echo.
:: Print out selected filename
echo You chose !choice[%select%]!
for /f "delims=" %%A in ("!choice[%select%]!") do endlocal & set "VAR=%%~A"
:: Read variables from configuration file.
for /f "delims== tokens=1,2" %%G in (%VAR%) do set %%G=%%H
有人可以帮我排除上面提到的文件readme.txt等吗?这些文件与参数文件(即param1.txt,param2.txt)一起位于文件夹中吗?
答案 0 :(得分:0)
解析由findstr过滤的dir cmd的输出以排除文件名
:: Read in files
for /f "delims=" %%x in ('
Dir /B /A-D *.txt ^|findstr /ive "readme\.txt information\.txt"
') do (
set /a count+=1
set choice[!count!]=%%x
)