首页 > 解决方案 > 批处理 - 如何用另一个变量调用一个变量?

问题描述

在批处理中,我正在尝试制作一个程序,该程序将在目录中搜索具有特定扩展名的文件,然后显示它们,并允许您删除某些文件。我想到的方法是让用户输入数组列表中项目的编号。所以我有这个代码:

@echo off

set counter=0
set counter2=0

setlocal enableextensions
setlocal enabledelayedexpansion

:menu
cls
echo.
echo ----------------------------------------------------------------------- 
----------------------------
echo.
echo ----------------------------------------Search By File Type------------ 
----------------------------
echo.
echo ----------------------------------------------------------------------- 
----------------------------

set /p inputE= Please type the file extension (ex, txt): 
set /p inputP= Please enter location to search (ex, C:\): 



for /f "tokens=*" %%a in ( 
    'where /r %inputP% *.%inputE%' 
) do ( 
    echo !counter! - %%a
    set file!counter!=%%a
    set /a counter+=1
)

set fileDel=file!counter!
echo !%fileDel%!

pause

最后两行是我的方法的测试,但它不起作用。当我运行它并且程序到达该部分时,它应该再次显示最后一个文件位置,但它说 echo 已关闭。有什么办法可以正确地做到这一点?还有其他方法可以实现相同的目标吗?提前致谢。

标签: batch-file

解决方案


推荐阅读