批次:从选择列表中排除某些文件

时间:2019-02-28 10:53:57

标签: list batch-file select

我有几个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)一起位于文件夹中吗?

1 个答案:

答案 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
)